Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизСоздание патча Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c