Патчер GCF-архивов от меня :)

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

#1 Сообщение 17.04.2008, 22:29

Итак, наконец-то за день довел программу до ума. :)

Готов представить на обозрение публики мой патчер GCF-архивов.

Чем он отличается от остальных? Да тем, что для патчинга ненадо никаких сторонних программ :) патч представляет из себя такую программу :wink: Пользавателю надо просто надо указать архив, который необходимо пропатчить.

Какие достоинства? Их несколько:
  • встроенный 7zip-архиватор (300Кб - в 10 раз больше самой проги);
  • малый размер исполняемой секции патчера (всего 21Кб).
Недостатки:
  • архив создается заново, те время на патчинг прямо пропорционально размеру архива. Думаю в скором времени исправить.
Потестите, если будут баги, сообщайте, на каком архиве был вылет ;)

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

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

#2 Сообщение 18.04.2008, 00:09

А нельзя все твои программы просто встроить в УПК?ИМХО так было бы удобнее!

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

#3 Сообщение 18.04.2008, 10:41

Пока не буду встраивать, тк программа еще сыроватая. Вот доделаю патчинг так, что бы он именно патчил, а не перепаковывал архивы, тогда да, включу в УПК.

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

Аватара пользователя
x_000
Полковник
Полковник
Сообщения: 4889
Зарегистрирован: 25.02.2008
Откуда: Deutsches Reich
Благодарил (а): 6 раз
Поблагодарили: 18 раз

#4 Сообщение 18.04.2008, 23:24

зачем архив заново создавать? можно просто спроецировать его в память и патчить (как это обычно делается в hex-редакторах)

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

#5 Сообщение 19.04.2008, 11:17

x_000 писал(а):зачем архив заново создавать? можно просто спроецировать его в память и патчить (как это обычно делается в hex-редакторах)
Я вообщето над этим сейчас и работаю :)
А вообще данный метод патчинга не так уж и прост. Если файл не изменил свое количество секторов, то все ОК, патчится он легко. Но вот если размер файла в секторах пменялся, либо добавился новый файл, либо заголовог архива не помещается, тогда в любом из этих случаев надо прилично менять структуру архива, а точнее, таблицу секторов. А это - работа не из легких, ведь за вчера я смог сделать только один вид патчинга - если таблицу секторов менять не надо ;)
Так что те, кто не в курсе структуры GCF-архивов, не пишите здесь претензии, тк эта структура очччень сложна :%)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

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

#6 Сообщение 20.04.2008, 11:26

Итак, за вчера есть какие-то результаты :) А именно удачный патчинг файла "source 2007 dedicated server.gcf" с версии 31 до 32. При патчинге с 32 на 33 меняется размер архива, те добавляются или меняются по размеру файлы, да и заголовок погантся пока при патчиге.
В общем, работы идут полным ходом.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

eldest
Разработчик
Разработчик
Сообщения: 302
Зарегистрирован: 17.03.2008
Откуда: такие как я?
Поблагодарили: 2 раза
Контактная информация:

#7 Сообщение 20.04.2008, 12:20

мне надо заменить в dedicated server.gcf фаилы steamclient.dll и steam.dll в каторых другие ip серверов
скачал USE а он падает, создаёт пустой гцф размером 11.2 мб втыкает манифест сверху из фаилы .info и всё((

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

#8 Сообщение 20.04.2008, 12:23

eldest писал(а):мне надо заменить в dedicated server.gcf фаилы steamclient.dll и steam.dll в каторых другие ip серверов
скачал USE а он падает, создаёт пустой гцф размером 11.2 мб втыкает манифест сверху из фаилы .info и всё((
lol, патчер еще в стадии разработки, очнись :)
Да и заменить файлы сложно, ведь у них другие КС ;)

----------------------

Насчет добавлнеия файлов через USE:
1) путь к файлам для замены должен заканчиваться на "\"
2) должна соблюдаться структура папок
3) в папке с инфой должен лежать ГЦФ-архив (копия оригинала).

----------------------

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

eldest
Разработчик
Разработчик
Сообщения: 302
Зарегистрирован: 17.03.2008
Откуда: такие как я?
Поблагодарили: 2 раза
Контактная информация:

#9 Сообщение 20.04.2008, 18:21

Да и заменить файлы сложно, ведь у них другие КС
Чё за "КС" ?
я заменил в dedicated server.gcf steam.dll и steamclient.dll с таким же размером как и в ориг. гцф, валидацию проходят всё ок но это мне не помогло
естли кто знает в каком месте лежат ip адреса стим серверов в кс напишите плз

Аватара пользователя
Vit_amiN
Супермодератор
Супермодератор
Сообщения: 2509
Зарегистрирован: 01.02.2007
Откуда: Over Old Hills
Благодарил (а): 15 раз
Поблагодарили: 91 раз

#10 Сообщение 20.04.2008, 20:18

КС - контрольные суммы. IP в CS лежат внутри ДЛЛ-файлов.
Изображение

Мои русификаторы и другие полезные файлы здесь
ЗАПОМНИТЕ, ПОИСК — БЛИЖАЙШИЙ ПУТЬ К ИСТИНЕ!

eldest
Разработчик
Разработчик
Сообщения: 302
Зарегистрирован: 17.03.2008
Откуда: такие как я?
Поблагодарили: 2 раза
Контактная информация:

#11 Сообщение 20.04.2008, 20:52

Vit_amiN писал(а):IP в CS лежат внутри ДЛЛ-файлов.
а я то недодумалсо...
где им ещё лежать, я изменил с помошью нех эдитора айпи в steam.dll и steamclient.dll но ничего не палучилось

Аватара пользователя
Vit_amiN
Супермодератор
Супермодератор
Сообщения: 2509
Зарегистрирован: 01.02.2007
Откуда: Over Old Hills
Благодарил (а): 15 раз
Поблагодарили: 91 раз

#12 Сообщение 20.04.2008, 21:18

На грубость нарываемся :evil: ? Каков привет, таков ответ: как ты спросил - так я и ответил.
Изображение

Мои русификаторы и другие полезные файлы здесь
ЗАПОМНИТЕ, ПОИСК — БЛИЖАЙШИЙ ПУТЬ К ИСТИНЕ!

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

#13 Сообщение 22.04.2008, 21:19

Итак, выкладываю самую последнюю на даный момент версию патчера.
До сих пор создает кэш с 0. Зато наиболее стабильна + имеет ГУЙ-интерфейс :) + создает кэш по мере его заполнения, отчего время патчинга уменьшилось.

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

aqws
Нович0к
Нович0к
Сообщения: 13
Зарегистрирован: 04.07.2008

#14 Сообщение 06.07.2008, 00:49

А мануал к проге имеется?

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

#15 Сообщение 06.07.2008, 17:26

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

Закрыто