Universal Steam Extractor

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
andreil
Разработчик
Разработчик
Сообщения: 781
Зарегистрирован: 14.08.2006
Откуда: Светлогорск, Беларусь
Поблагодарили: 2 раза
Контактная информация:

#1 Сообщение 06.03.2008, 17:51

Итак, наконец-то руки дошли до первого топика.

Universal Steam Extractor представляет собой полностью автономную DLL-библиотеку, предназначенную для работы с файлами, фигурирующими в Steam'е.
на данный момент поддерживаются:
  • GCF - Game Cashe File. 100% чтение, 100% перепаковка архива, 60% патчинг;
  • SIM - Steam Installer Manifest. 100% чтение (в текущей версии - нет);
  • PAK - Half-Life 1 PAcKage. 100% чтение (в текущей версии - нет);
  • WAD - архив текстур для Half-Life 1. 90% чтение (не могу преобразовать 8-битный цвет в 24-битный) (в текущей версии - нет).
Планируется:
  • Извлечение файла в адрессное пространство программы;
  • Поддержка XZP-архивов (аналог GCF, только для игровых консолей). Пока не могу получить их по некоторым причинам.
Возможности программы:
  1. Работа с файлами в кэше как с файловыми потоками;
  2. Возможность изменения файлов с последующим пересчетом контрольных сумм;
  3. Создание файлов кэша с 0 (по структуре заданного каталога с указанием дополнительных атрибутов для файлов);
  4. Создание ARCHIVE- и UPDATE-файлов (пока без применения обновлений).
Достоинства:
  • Малый размер (<200Кб, из которых 40Кб - сторонние - файлы GcfFiles.dat и Sim.dll - от последнего планирую избавиться);
  • Открытый исходный код, в котором лекго разобраться (для тех, кто понимает в програмировании вообще ;) );
  • Простота в обращении.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

DimonCJ
Лейтенант
Лейтенант
Сообщения: 205
Зарегистрирован: 04.02.2007
Откуда: Питер
Благодарил (а): 1 раз
Контактная информация:

#2 Сообщение 06.03.2008, 19:37

как всегда рулишь ^_^

З.Ы.
Сделайте кто нить юзербар - Andreil Fan плиз)

Аватара пользователя
postal_3
Полковник
Полковник
Сообщения: 1092
Зарегистрирован: 22.04.2006
Благодарил (а): 461 раз
Поблагодарили: 734 раза
Контактная информация:

#3 Сообщение 07.03.2008, 02:20

молодец!:)
"В церковь не ходите, а свадьбы вкруг березы водите, как велят старинные обычаи..."
из наставлений С. Разина

PYRO14055
Сержант
Сержант
Сообщения: 87
Зарегистрирован: 02.10.2007
Откуда: Из Half-Life2

#4 Сообщение 07.03.2008, 16:46

No-Comments............................ :D
Скачай все gcf через uTorrent тут
Изображение
Изображение
Изображение

Аватара пользователя
SerzhAntz
ЛоудерМЭН
ЛоудерМЭН
Сообщения: 36
Зарегистрирован: 28.01.2006
Откуда: Санкт-Петербург
Поблагодарили: 2 раза

#5 Сообщение 07.03.2008, 16:51

Вот последний пункт мне особенно нравится :)
МАЛАДЕЦ!!
Изображение ЗЕНИТ ЧЕМПИОН!!! Изображение
Изображение

kobalt_vol
Полковник
Полковник
Сообщения: 3425
Зарегистрирован: 21.05.2007
Благодарил (а): 6 раз
Поблагодарили: 28 раз
Контактная информация:

#6 Сообщение 07.03.2008, 17:05

...[*]Писать свои GCF-файлы...
Вот это очень радует :o Будем надеяться...

popoffka666
VIP
VIP
Сообщения: 2463
Зарегистрирован: 13.12.2007
Откуда: Latvia
Поблагодарили: 2 раза

#7 Сообщение 07.03.2008, 17:09

DimonCJ, забирай - http://i013.radikal.ru/0803/e5/217c23d0685f.png" target="_blank
The Planet is fine. The people are fucked. — George Carlin
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins

Мой рогалик на JavaScriptМой профиль на GitHub

DimonCJ
Лейтенант
Лейтенант
Сообщения: 205
Зарегистрирован: 04.02.2007
Откуда: Питер
Благодарил (а): 1 раз
Контактная информация:

#8 Сообщение 07.03.2008, 18:00

popoffka писал(а):DimonCJ, забирай - http://i013.radikal.ru/0803/e5/217c23d0685f.png" target="_blank
Пасибки!А по качественей моно?

popoffka666
VIP
VIP
Сообщения: 2463
Зарегистрирован: 13.12.2007
Откуда: Latvia
Поблагодарили: 2 раза

#9 Сообщение 07.03.2008, 19:30

DimonCJ, можно, юзербар делался на скорую руку, за 15 минут до урока английского. когда будет время - займусь этим.
The Planet is fine. The people are fucked. — George Carlin
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins

Мой рогалик на JavaScriptМой профиль на GitHub

Аватара пользователя
andreil
Разработчик
Разработчик
Сообщения: 781
Зарегистрирован: 14.08.2006
Откуда: Светлогорск, Беларусь
Поблагодарили: 2 раза
Контактная информация:

#10 Сообщение 07.03.2008, 22:38

ООО, у меня уже и фаны появились :shock: :o :lol: :P

ЗЫ: Щас доделываю поддержку СИМ-файлов, проект переименован в "Universal Extractor" - поправьте юзербары ;)

ЗЫЫ: В СИМ-файлы можно сразу и запись ставить (только пока без шифрования :( ). Но сначала - распаковка, а тут есть проблемы.... Например, размер файлов храниться в 3-х байтных числах, т.е. МАКС размер = 16 777 215 байт, чего явно маловато.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

popoffka666
VIP
VIP
Сообщения: 2463
Зарегистрирован: 13.12.2007
Откуда: Latvia
Поблагодарили: 2 раза

#11 Сообщение 08.03.2008, 11:59

Изображение
Поскольку старый, тупой и некрасивый ю-бар доделывать нехотелось, я нарисовал новый, более красивый
The Planet is fine. The people are fucked. — George Carlin
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins

Мой рогалик на JavaScriptМой профиль на GitHub

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#12 Сообщение 08.03.2008, 12:32

ну вы даете %)
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

DimonCJ
Лейтенант
Лейтенант
Сообщения: 205
Зарегистрирован: 04.02.2007
Откуда: Питер
Благодарил (а): 1 раз
Контактная информация:

#13 Сообщение 08.03.2008, 16:51

гг,хоть такой но всерано - неочень(

Аватара пользователя
andreil
Разработчик
Разработчик
Сообщения: 781
Зарегистрирован: 14.08.2006
Откуда: Светлогорск, Беларусь
Поблагодарили: 2 раза
Контактная информация:

#14 Сообщение 09.03.2008, 10:14

Итак, за вчера и за сегодня оптимизировал работу с GCF-файлами :) Теперь файлик "counter-strike source shared.gcf" грузится всего за 4сек. (на проце 2,4ГГц), да и памяти жрет прога меньше, тк при непосредственном открытии GCF-ки теперь считывается только минимум инфы, а все остальное (например, расположение секторов каждого фала) - ри необходимости (те перед распаковкой каждого фала для него читается полная инфа, файл распаковывается, а затем освобождается память).

Итог - 64,5Кб. В этот объем влезло еще открытие SIM-файла, да и часть его распаковки (почти вся).

ЗЫ: если сегодня доделаю распаковку из SIM, то сегодня и выложу результат.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

Аватара пользователя
andreil
Разработчик
Разработчик
Сообщения: 781
Зарегистрирован: 14.08.2006
Откуда: Светлогорск, Беларусь
Поблагодарили: 2 раза
Контактная информация:

#15 Сообщение 09.03.2008, 13:55

Пока Вы тут расчухивались, я уже закончил работу над распаковкоя SID-архивов и над оптимизацией (последне - не все, но самое главное - оптимизировал юзание памяти ;)). Результат - внизу. Размер проги - 73Кб + 18Кб (GCFFILES.DAT) = 91Кб.

ЗЫ: Оптимизация понадобилась втык, тк при загрузке CSSshared.gcf памяти жрало них***во - 500Мб :shock: , поэтому и иптимизировал. Заодно ускорил загрузку SIM-файлов (полная ХЛ2 грузится за 9сек).

ЗЫЫ: Поправил кривоватую работу с деревом (раньше надо было для перехода на элемент кликнуть его два раза).
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

Ответить Вложения 3