eXeL@B —› Программирование —› не запускается загруженый pe - образ |
Посл.ответ | Сообщение |
|
Создано: 25 октября 2012 17:27 · Личное сообщение · #1 В общем написал загрузчик PE-образов, вроде работает как положено . Hо есть одна проблема , почему-то генериться исключение при запуске образа в котором отсутствует таблица релокаций. Прочел в некоторых статьях что якобы в таких случаях могут пересикаться области памяти обоих файлов(загрузчика и образа ) что впоследствии и приводит к крашу, решил поменять базовый адрес загрузки, но все напрастно. Загрузка файла производится как положено, но стоит вызвать область куда был загружен файл как генериться исключение. Собственно вопрос, как исправить данную ситуацию ? P.S. Исходник загрузчика, в прикрепленном файле. 7176_25.10.2012_EXELAB.rU.tgz - aa.txt |
|
Создано: 25 октября 2012 18:16 · Личное сообщение · #2 |
|
Создано: 25 октября 2012 18:16 · Личное сообщение · #3 1 - Запускать EXE нужно только по базе, даже если есть таблица релокаций (исключение - если есть флаг IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) 2 - Если запускать образ в памяти выделенной виртуалаллоком, не работают исключения. 3 - Регистрация в PEB. Без нее не работают ресурсы и много что еще. Это из крупных косяков. Мелочи даже не считал. ----- PGP key |
|
Создано: 25 октября 2012 18:36 · Личное сообщение · #4 |
|
Создано: 25 октября 2012 18:40 · Личное сообщение · #5 ajax Да мало ли, может чел что-то мирное пишет. Мне вот приходилось писать подобные вещи чтобы запускать PE файлы не в винде. ----- PGP key |
|
Создано: 25 октября 2012 18:48 · Личное сообщение · #6 |
|
Создано: 26 октября 2012 21:02 · Личное сообщение · #7 |
|
Создано: 26 октября 2012 22:01 · Личное сообщение · #8 |
eXeL@B —› Программирование —› не запускается загруженый pe - образ |
Эта тема закрыта. Ответы больше не принимаются. |