RDot

RDot (https://rdot.org/forum/index.php)
-   Статьи/Articles (https://rdot.org/forum/forumdisplay.php?f=10)
-   -   Реверс и отладка x64 [win] (https://rdot.org/forum/showthread.php?t=3240)

<Gh0St> 24.08.2014 21:22

Реверс и отладка x64 [win]
 
Всем привет!
В этой статье я хочу рассказать об инструментальных средствах отладки 64-х битных приложений под Windows, а именно об IDA Pro.

Не будет долгих речей и вступлений, перейдём сразу к делу.
При реверсе 32-х битных приложений, реверсеру предоставляется богатый выбор инструментальных средств, достаточно лишь упомянуть OllyDbg, IDA Pro, WinDbg, но при столкновении с x64 возникает вопрос: "Чем реверсить?".

Для начала нужно скачать IDA Pro Portable v6.1 (рисунок 1).
http://s019.radikal.ru/i632/1408/aa/b569a8cec5e7.jpg
Рисунок 1 - Версия IDA Pro Portable

В папке IDA находится файл idag64.exe (рисунок 2). Именно он понадобится для реверса и отладки 64-х битных приложений.
http://s012.radikal.ru/i319/1408/79/01573d697c16.jpg
Рисунок 2 - Файл idag64.exe

Сэмпл для тестирования представлен на рисунке 3.

Запускаем IDA Pro (idag64.exe). В главное окно перетаскиваем сэмпл. В появившемся окне "Load a new file" жмём кнопку "OK". Как видите 64-х битный файл успешно открыт (рисунок 4).
http://s017.radikal.ru/i405/1408/3c/6c2c54927611.jpg
Рисунок 4 - Сэмпл в IDA Pro

Это касаемо реверса, но возникает другой вопрос: "Как отлаживать?".
В папке IDA находится файл win64_remotex64.exe, который является удалённым отладчиком (рисунок 5).
http://i079.radikal.ru/1408/7f/9ca567b55a4a.jpg
Рисунок 5 - Файл win64_remotex64.exe

Запустив этот файл увидим следующее окно (рисунок 6). На локальном компьютере запускается debug server на порту 23946.
http://i064.radikal.ru/1408/36/7e64b6f71afc.jpg
Рисунок 6 - Удалённый отладчик

Возвращаясь в IDA Pro, выбираем пункт меню Debugger -> Select debugger или просто жмём F9 (рисунок 7).
http://s020.radikal.ru/i701/1408/a6/fb84e129d197.jpg
Рисунок 7 - Меню "Выбор отладчика" в IDA Pro

В появившимся окне "Select a debugger" выбираем "Remote Win32 debugger" и жмём кнопку "OK" (рисунок 8).
http://s017.radikal.ru/i430/1408/78/06ef02d72ba0.jpg
Рисунок 8 - Окно "Выбор отладчика" в IDA Pro

В меню Debugger появились новые пункты, выбираем Debugger -> Process options (рисунок 9).
http://s59.radikal.ru/i163/1408/58/e8b2ee7e57c6.jpg
Рисунок 9 - Меню "Параметры процесса"

В появившимся окне в поле "Hostname" указываем адрес 127.0.0.1 и жмём кнопку "OK" (рисунок 10). ВАЖНО: полный путь сэмпла не должен содержать символов кириллицы. Проще говоря: всё по-английски.
http://s017.radikal.ru/i425/1408/47/78faa52c5e43.jpg
Рисунок 10 - Параметры отладчика

Теперь всё готово. Не забудьте установить точку останова (breakpoint) на начало программы выбором нужной инструкции и нажатием клавиши F2. Для начала отладки щёлкните по кнопке запуска отладчика (рисунок 11) или просто нажмите F9.
http://s017.radikal.ru/i437/1408/8f/3625e45b137c.jpg
Рисунок 11 - Кнопка запуска отладчика

Сэмпл запустился в отладке, выполнение остановилось на точке останова, управление отладчиком представлено в пункте меню Debugger (рисунок 12).
http://s018.radikal.ru/i513/1408/a3/510389a613a4.jpg
Рисунок 12 - Сэмпл в отладке

На этом всё.
Спасибо за внимание!

Error13Tracer 05.07.2015 13:54

Данный материал не достоин внимания. Даже азов отладки в IDA не разобрано, а какое громкое название...

Конделябр 04.02.2016 23:00

Все наверно знают что существует olly-подобный аналог, который активно допиливается: hffps://github.com/x64dbg/x64dbg

FIXER 05.02.2016 12:23

о круто! эту кнопочку нажать потом вот эту, и все по картинкам !!!

Vofam 05.02.2016 23:15

Жаль, автор OllyDBG забил на разработку. А x64dbg пока сыроват.

Devill 22.03.2018 21:49

Отладкой приложений для Андроид занимался кто-нибудь?


Часовой пояс GMT +3, время: 12:36.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot