Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: 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 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
1-1127200569
Bonjovy
2005-09-20 11:16
2005.10.09
В Printer.Canvas.TextOut рубится длинный текст


1-1126715898
GanibalLector
2005-09-14 20:38
2005.10.09
Hint-ы и Warning-и


14-1127197758
Иксик
2005-09-20 10:29
2005.10.09
Эллочка-людоедочка


1-1127214094
Leonid
2005-09-20 15:01
2005.10.09
Как отловить неиспользуемые процедуры


5-1102427218
main
2004-12-07 16:46
2005.10.09
Компонент TStringGrid