Содержание

x64dbg: отладчик для Windows

Что такое x64dbg

x64dbg — это бесплатный отладчик для 32- и 64-битных исполняемых файлов Windows. Он позволяет пошагово выполнять код, анализировать функции, изучать поведение программ, искать точки входа, API, строки и многое другое. Часто используется в реверс-инжиниринге, CTF, изучении малвари.

Установка

Интерфейс

Панель Назначение
CPU Основное окно кода, регистры, флаги, команды
Memory Map Отображение всех сегментов (код, данные, стек)
Stack Текущий стек вызовов
Log Вывод всех сообщений и событий
Symbols Импортированные функции и таблицы
Breakpoints Список установленных точек останова

Основные клавиши

Горячая клавиша Описание
`F9` Продолжить выполнение (Run)
`F8` Шагнуть через (Step over / не заходить в call)
`F7` Шагнуть внутрь (Step into)
`Shift+F7` Шагнуть наружу (Step out)
`Ctrl+G` Перейти к адресу
`Ctrl+B` Установить/удалить breakpoint
`Ctrl+F` Поиск (в памяти, строках, коде)

Полезные команды

Пример анализа: HelloWorld.exe

1. Открыть файл

  1. Запустить `x64dbg.exe`
  2. `File → Open → HelloWorld.exe`

2. Пауза на EntryPoint

  1. Программа остановится на точке входа (обычно `ntdll!RtlUserThreadStart`)
  2. Нажми `F9` до входа в `main`

3. Перейти к main

  1. Когда попадешь в `.text` сегмент, появится читаемый код
  2. Ищи вызов `printf` или `MessageBox` — можно установить `Breakpoint`

4. Установить Breakpoint

  1. Выдели строку → `F2` или `Ctrl+B`
  2. Запусти снова (`F9`), выполнение остановится на этом месте

5. Просмотр регистров и стека

  1. В окне CPU ты увидишь значения регистров (`RAX`, `RBX`, `RCX` и др.)
  2. В Stack — стек вызовов
  3. В Memory — текст строки, путь к файлу и т.д.

6. Изменение кода на лету

  1. Правая кнопка по инструкции → Assemble → изменить команду
  2. Пример: заменим `cmp eax, 0` на `xor eax, eax`

7. Финиш

  1. Можно перезапустить, сохранить дамп, экспортировать ASM

Полезные плагины