![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#5
|
||||
|
||||
![]() Как сказал Drozh - учи ассемблер. Поменять значение инкременанта еще можно (хотя могу возникнут сложности - компилятор может скомпилировать a:=a+5 по разному:
Оподы Ассемблер 1. 83C005 add eax,5 2. 0505000000 add eax,5 Причем вероятнее всего, что это будет 1-й вариант. В этом случае выражение a:=a+5 заменить на выражение a:=a+1000 будет уже не просто - длина опкодов не позволит. Насчет добавления кода. Нужно место куда его писать. Потом нужно будет контролировать содержимое стека ибо дельфёвые функции написаны слегка непредсказуемо. Короче много чего нужно учесть. Да и еще нужно будет патчить ЕХЕ, а там надо вычислять смещение на диске относительно смещения в памяти (учим формат РЕ-файлов). Если нужно сделать гибкую программу, то советую использовать скрипты (Например FastScript или из пакета JCL). Реализация намного проще будет. Хорошо написанная программа не требует документации ICQ 9-184-668. |