Цитата:
Сообщение от AirTex
Решил проблему, убрав условие
if Integer(marr[i].modBaseAddr)=$400000 then begin
|
Это вообще глупое условие. В системах до Windows 7 ядро не умело грузить exe-шники не по фиксированному адресу, даже если перемещаемые символы в самом файле были. А потом появилась технология EMET, в которой ради защиты от вирусов адресное пространство процесса может перемешиваться, включая перемещение самого exe-шника.
Помимо этого даже Windows XP умеет грузить exe-шники по нестандартному, пусть и фиксированному адресу. Возможно, проверка в коде осталась со времен NT 4 или Windows 9x. Как в них на самом деле, не проверял.