Всем привет!
В этой статье я хочу рассказать об инструментальных средствах отладки 64-х битных приложений под Windows, а именно об IDA Pro.
Не будет долгих речей и вступлений, перейдём сразу к делу.
При реверсе 32-х битных приложений, реверсеру предоставляется богатый выбор инструментальных средств, достаточно лишь упомянуть OllyDbg, IDA Pro, WinDbg, но при столкновении с x64 возникает вопрос: "Чем реверсить?".
Для начала нужно скачать IDA Pro Portable v6.1 (рисунок 1).

Рисунок 1 - Версия IDA Pro Portable
В папке IDA находится файл idag64.exe (рисунок 2). Именно он понадобится для реверса и отладки 64-х битных приложений.

Рисунок 2 - Файл idag64.exe
Сэмпл для тестирования представлен на рисунке 3.

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

Рисунок 4 - Сэмпл в IDA Pro
Это касаемо реверса, но возникает другой вопрос: "Как отлаживать?".
В папке IDA находится файл win64_remotex64.exe, который является удалённым отладчиком (рисунок 5).

Рисунок 5 - Файл win64_remotex64.exe
Запустив этот файл увидим следующее окно (рисунок 6). На локальном компьютере запускается debug server на порту 23946.

Рисунок 6 - Удалённый отладчик
Возвращаясь в IDA Pro, выбираем пункт меню Debugger -> Select debugger или просто жмём F9 (рисунок 7).

Рисунок 7 - Меню "Выбор отладчика" в IDA Pro
В появившимся окне "Select a debugger" выбираем "Remote Win32 debugger" и жмём кнопку "OK" (рисунок 8).

Рисунок 8 - Окно "Выбор отладчика" в IDA Pro
В меню Debugger появились новые пункты, выбираем Debugger -> Process options (рисунок 9).

Рисунок 9 - Меню "Параметры процесса"
В появившимся окне в поле "Hostname" указываем адрес 127.0.0.1 и жмём кнопку "OK" (рисунок 10). ВАЖНО: полный путь сэмпла не должен содержать символов кириллицы. Проще говоря: всё по-английски.

Рисунок 10 - Параметры отладчика
Теперь всё готово. Не забудьте установить точку останова (breakpoint) на начало программы выбором нужной инструкции и нажатием клавиши F2. Для начала отладки щёлкните по кнопке запуска отладчика (рисунок 11) или просто нажмите F9.

Рисунок 11 - Кнопка запуска отладчика
Сэмпл запустился в отладке, выполнение остановилось на точке останова, управление отладчиком представлено в пункте меню Debugger (рисунок 12).

Рисунок 12 - Сэмпл в отладке
На этом всё.
Спасибо за внимание!