Тема: image address
Показать сообщение отдельно
  #2  
Старый 24.09.2015, 23:50
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Варианты:
1) Кури спецификацию формата PE (Portable Executable).
2) Сохранить считанный массив байт (к примеру, первые 128 байт) и бинарно найти его в EXE-файле, определить адрес в файле.
3) Сделать в начале и конце функции магические АСМ-вставки с какой-нибудь константой, по которой функцию легко найти в файле. Или же вызов некой ненужной функции из липовой DLL, который потом будет убран, но позволит найти начало и конец для крипты при парсинге файла.
Также надо учитывать, что секция кода для записи изначально не доступна, поэтому для расшифровки скорее всего придется делать VirtualProtect.
А также не удивляйся, если вдруг какие-нибудь антивирусы начнут генерировать тонны кирпичей на такое поведение.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием