Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
4-1123768084
chili
2005-08-11 17:48
2005.10.09
Kак мне из dll запустить внешнию программу?


3-1125154797
strela
2005-08-27 18:59
2005.10.09
сортировка текстовых записей в TTable


2-1125652918
Андрей гость
2005-09-02 13:21
2005.10.09
база данных типа *.txt, как с ней работать


9-1117707275
WondeRu
2005-06-02 14:14
2005.10.09
OpenGL портит виндовские хинты! Как бороться?


4-1123996431
zero-g
2005-08-14 09:13
2005.10.09
Баги при использования com-интерфейса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский