Вниз
Скачать: CL | DM;

Создание патча   Найти похожие ветки 

← →
TheGUEST   (2005-08-13 18:00) [0]

Уважаемые,

нет ли у кого подробного примера создания патча? Меня интересует поиск и замена значений по оффсету.


← →
Eraser ©   (2005-08-13 21:57) [1]

TheGUEST   (13.08.05 18:00)

Очень хорошо для данной цели подходит TFileStream.


← →
Grief ©   (2005-08-14 11:00) [2]

Патч - по кусочкам файла - мастдайство - патч будет весить намного больше чем заменяемый файл, если конечно не сделаешь супер-пупер алгоритнм - гораздо проще заменять целиком файлы. Впрочем зачастую так и есть.


← →
TheGUEST   (2005-08-14 12:46) [3]

Ну почему же больше? Мне же не нужно что бы он велючал в себя файл. Все просто, он находит нужные оффсеты и меняет значения.

Программер из меня хреновый, а вот HEX-редактором я пользоваться умею. Часто режу с помощью него баннеры (например дл Download Master), хотл написат патч который будет это делать...


← →
Eraser ©   (2005-08-14 14:20) [4]

TheGUEST   (14.08.05 12:46) [3]

TFileStream подходит именно для самого "пропатчивания".
А сам патч должен состоять из 2-х частей:
1. Данные.
2. Таблица в которой находится информация куда и как Данные патчить.


← →
NightLord ©   (2005-08-15 06:34) [5]

var f:TFileStream;
   s:byte;

begin
 //открываем файл для чтения
 f:=TFileStream.Create"xxx.exe", fmOpenReadWrite);
 //переходим на нужную позицию в файле
 f.Seek($0ac0e9, soFromBeginning);
 //читаем текущее значене
 f.Read(s , sizeof(s));
 //Если текущее значение равно $74, то исправляем
 if s=$74 then
 begin
   s:=$eb;
   f.seek($0ac0e9, soFormBeginning);
   f.Write(s, sizeof(s));
 end;

 f.free; //закрываем
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1126871669
Vlad Oshin
2005-09-16 15:54
2005.10.09
тоже Пятничная загадка


14-1127225038
Джо
2005-09-20 18:03
2005.10.09
Opera 8.5 free


1-1126947438
Piter
2005-09-17 12:57
2005.10.09
Непонятка с директивами компилятора


2-1124950087
magnus
2005-08-25 10:08
2005.10.09
опции проекта


8-1114110608
clampo
2005-04-21 23:10
2005.10.09
Плейлист




   Наверх