Сейчас на форуме: tyns777, cppasm, dutyfree, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Загрузка exe только область 0x00400000 при дебаге в IDA
Посл.ответ Сообщение

Ранг: 1.9 (гость)
Активность: 0.020
Статус: Участник

Создано: 29 сентября 2016 13:50 · Поправил: olia64
· Личное сообщение · #1

Вопрос 1.
1) При начальном создании проекта IDA грузит exe файл в область 0x00400000
2) Анализируем, подгружаем pdb файл
3) Ставим BP в область 0x00401234
4) Дебижим и всё бы хорошо.
5) Нажимаем Ctrl + W сохраняем проект и получаем .idb файл проекта
НО
При повторной загрузке проекта exe может загрузится уже в другую область, например 0x11900000
и наша BP в области 0x00401234 перестает быть рабочей.

Как заставить IDA грузить exe всегда в область 0x00400000 ?

.idb файл занимает порядка 350 Mb , если exe грузится любой другой сегмент, отличный от 0x00400000, тогда начинаются всякие
moving reverence , которые отнимают прилично времени при каждой отладке.

Вопрос 2.
Exe грузит внутри себя DLL , всегда по разным адресам. Внимание вопрос.
Как средствами IDA ( без патча exe ) заставить грузить DLL всегда по одному и тому же адресу, например 0x00500000

Неужели не избежать перестроек ссылок? Проблема , вероятно, несколько глубже. pdb файл символов не полностью соответствует версии exe и загружает не все символы. Получается что при перестройке ссылок pdb информация может не перестроится .

Вопрос 3.
Pdb файлы не загружаются автоматически, приходится постоянно загружать их и по всей видимости эти файлы не совсем правильные.
Не вся информация загружается. Выдает ошибку. Такая то переменная не была загружена.

Все эти проблемы не дают нормально реверсить, потому что по 15 минут у меня грузится проект, вручную загружаются pdb.
Думаю, что если бы exe грузился в область 0x00400000, dll в свою статическую область 0x00500000 к этим адресам памяти привязались бы
файлы символов pdb проект .idb загружался бы корректно и можно было бы нормально дебажить.
Уже который день с этим маюсь



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 29 сентября 2016 14:19
· Личное сообщение · #2

ASLR



Ранг: 1.9 (гость)
Активность: 0.020
Статус: Участник

Создано: 29 сентября 2016 14:58 · Поправил: olia64
· Личное сообщение · #3

TryAga1n пишет:ASLR
Windows7 Pro x64 Sp1
Утилита Enhanced Mitigation Experience Toolkit в разделе
System Status показала что
ASLR - disabled



Ранг: 35.8 (посетитель), 23thx
Активность: 0.030
Статус: Участник

Создано: 29 сентября 2016 16:13
· Личное сообщение · #4

olia64 пишет:
Как средствами IDA ( без патча exe ) заставить грузить DLL всегда по одному и тому же адресу

Никак, это результат работы виндового загрузчика.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 29 сентября 2016 16:25
· Личное сообщение · #5

- убейте у ЕХЕ релоки, поправив заголовок.
- отлаживайте в Olly/etc... выгрузив из ida map файл
- в IDA можно ставить галку в меню брекпоинтов, чтобы они срабатывали вне зависимости от базы модуля.

закрыто.

-----
[nice coder and reverser]



 eXeL@B —› Вопросы новичков —› Загрузка exe только область 0x00400000 при дебаге в IDA
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати