Этот пост (Найти инструкция в исполняемом файле, учитывая ее адрес в запущенном процессе?) содержит подробные инструкции о том, как вычислить адрес в исполняемом файле из адреса памяти запущенного процесса.
Как определить базовый адрес, если я хочу применить формулу к исполняемому файлу x64?
Для x86 это 0x400000. Мое предположение заключалось в том, что это происходит из поля IMAGE_BASE необязательного заголовка PE. Однако это поле содержит значение 0x140000000 для x64. Используемые адреса в двоичном файле x64 на самом деле намного меньше, чем адреса в двоичном файле x86.
[K32]EnumProcessModules
. из более эффективного (но недокументированного) чтения базы изображений exe (если вам нужен только exe) из процессаPEB
- person RbMm   schedule 08.04.2018