Сейчас на форуме: Magister Yoda, subword (+9 невидимых) |
![]() |
eXeL@B —› Основной форум —› Изменение вычислений в программе |
Посл.ответ | Сообщение |
|
Создано: 25 июня 2008 02:01 · Личное сообщение · #1 Привет всем! Нужен совет по внедрению в бинарный код программы и его изменения. Есть программа написанная на Delphi. Она делает простые вычисления на основе введенных в TextBox-ы значений. Результаты вычислений отображаются в других TextBox-ах. Все вычисления ведутся на основании простых формул. Задача в том, чтобы изменить формулы уже в готовой программе. Я тут поразмыслил, и пришел вот к чему: Написать прогу, которая будет внедряться в адресное пространство программы где делаются вычисления (соотв протрассировав заранее), сделать свои вычисления и показать результат в TextBox. Что посоветуете сделать? Может есть другие идеи? Заранее Спасибо! ![]() |
|
Создано: 25 июня 2008 08:05 · Личное сообщение · #2 Делайте, какие проблемы ![]() ----- Nulla aetas ad discendum sera ![]() |
|
Создано: 25 июня 2008 08:12 · Личное сообщение · #3 |
|
Создано: 25 июня 2008 08:21 · Личное сообщение · #4 |
|
Создано: 25 июня 2008 08:32 · Поправил: Flint · Личное сообщение · #5 4matic пишет: будут ли меняться адреса подпрограмм при каждой загрузке, если да то как вычислить офсет нужной? Тогда пиши базовонезависимый код, начало к примеру такое: call $+5 pop eax и уже от того что в eax и пляши. Либо вариант: если нужно править код в dll, то вызываешь LoadLibraryA с именем нужной dll - возвращает ImageBase dll, если править код exe, то можно получить адрес ImageBase и PEB структуры MOV EAX,DWORD PTR FS:[30] MOV EAX,DWORD PTR DS:[EAX+8] ----- Nulla aetas ad discendum sera ![]() |
![]() |
eXeL@B —› Основной форум —› Изменение вычислений в программе |