Вниз
Скачать: 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.022 c
10-1103530831
Григорьев Антон
2004-12-20 11:20
2005.10.09
Стандартный маршалинг в Delphi


3-1125338086
Ptr
2005-08-29 21:54
2005.10.09
Смысл TUpdateSQL?


14-1126773985
SergProger
2005-09-15 12:46
2005.10.09
Файловая система


3-1125448666
Kurillka
2005-08-31 04:37
2005.10.09
Как очистить значение DBLookupComboboxEh?


3-1124950988
greg123
2005-08-25 10:23
2005.10.09
Как включить в установщик программы дистрибутив FireBird




   Наверх