Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== x64dbg: отладчик для Windows ====== ===== Что такое x64dbg ===== **x64dbg** — это бесплатный отладчик для 32- и 64-битных исполняемых файлов Windows. Он позволяет пошагово выполнять код, анализировать функции, изучать поведение программ, искать точки входа, API, строки и многое другое. Часто используется в реверс-инжиниринге, CTF, изучении малвари. * ✅ Поддержка x86/x64 * ✅ Пошаговая отладка * ✅ Поддержка скриптов (Assembly, Python через плагин) * ✅ Расширяемый через плагины (Scylla, TitanEngine, Labeless и т.д.) * ✅ Интеграция с IDA и Ghidra (Labeless, GhidraBridge) ===== Установка ===== * Скачать с официального сайта: https://x64dbg.com/ * Распаковать `x64dbg.zip` * Запустить `x64dbg.exe` (для 64-bit) или `x32dbg.exe` (для 32-bit) ===== Интерфейс ===== ^ Панель ^ Назначение ^ | 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` | Поиск (в памяти, строках, коде) | ===== Полезные команды ===== * `bp <addr>` — установить точку останова * `bl` — список breakpoints * `bd <n>` — отключить точку * `be <n>` — включить точку * `bc <n>` — удалить точку * `dd <addr>` — просмотр данных * `a <addr>` — ассемблировать код * `u <addr>` — дизассемблировать ===== Пример анализа: HelloWorld.exe ===== 1. **Открыть файл** - Запустить `x64dbg.exe` - `File → Open → HelloWorld.exe` 2. **Пауза на EntryPoint** - Программа остановится на точке входа (обычно `ntdll!RtlUserThreadStart`) - Нажми `F9` до входа в `main` 3. **Перейти к main** - Когда попадешь в `.text` сегмент, появится читаемый код - Ищи вызов `printf` или `MessageBox` — можно установить `Breakpoint` 4. **Установить Breakpoint** - Выдели строку → `F2` или `Ctrl+B` - Запусти снова (`F9`), выполнение остановится на этом месте 5. **Просмотр регистров и стека** - В окне CPU ты увидишь значения регистров (`RAX`, `RBX`, `RCX` и др.) - В Stack — стек вызовов - В Memory — текст строки, путь к файлу и т.д. 6. **Изменение кода на лету** - Правая кнопка по инструкции → Assemble → изменить команду - Пример: заменим `cmp eax, 0` на `xor eax, eax` 7. **Финиш** - Можно перезапустить, сохранить дамп, экспортировать ASM ===== Полезные плагины ===== * **ScyllaHide** — антианализ* reverseenengineering/soft_x64dbg/manual.txt Последнее изменение: 2025/07/18 12:45 — Lex Войти