LyDebugger

专业动态反汇编调试器

基于C/C++开发,支持x86和x64程序调试,功能强大的命令行调试工具


命令示例
[ 0x77818188 ] # Dissasembler --address 0x77818188 --size 5
反汇编 (起始地址: 0x77818188):
+----------------+---------------------------+-----------------------------+
|    地址        |           机器码           |          汇编指令            |
+----------------+---------------------------+-----------------------------+
| 0x77818188 | CC                            | int3
| 0x77818189 | EB 07                         | jmp 0x77818192
| 0x7781818B | 33 C0                         | xor eax, eax
| 0x7781818D | 40                            | inc eax
| 0x7781818E | C3                            | ret
+------------+-------------------------------+-----------------------------+
[ 0x77818188 ] # StepIn
[+] 单步执行完成: 0x77818192

强大特性

集成了Windows调试API和Capstone反汇编引擎,提供全面的调试功能,满足专业开发者需求

多架构支持

完美支持x86和x64程序的调试功能,无论是32位还是64位应用程序都能轻松应对。

多种断点类型

支持软件断点、硬件断点和内存断点,满足不同调试场景下的断点需求。

寄存器控制

可以查看和修改寄存器状态,精确控制程序执行流程和数据处理。

内存检查

检查和修改内存数据,深入分析程序运行时的内存状态和数据变化。

单步执行

支持单步步入和单步步过,细致跟踪程序执行过程中的每一个指令。

反汇编引擎

集成Capstone反汇编引擎,提供精确的指令解析和展示,支持多种指令集。

核心功能

提供丰富的调试功能,满足专业开发者在逆向工程和程序调试中的各种需求

断点管理

支持软件断点、硬件断点和内存断点三种类型,可根据调试需求灵活设置。

软件断点

在指定内存地址写入CC指令设置断点,简单高效。

[ 0x77818192 ] # SetBreakPoint --address 0x77818192
[+] 软件断点已设置: 77818192 (线程: 0)
[ 0x77818192 ] #
[ 0x77818192 ] # ShowBreakPoint
+----+----------------+--------+----------+--------+
| ID |    Address     |  Code  | Temporary| Thread |
+----+----------------+--------+----------+--------+
|  1 | 0x77818192 | 0xC7  | False    | 0      |
+----+----------------+--------+----------+--------+
[ 0x77818192 ] #
[ 0x77818192 ] # DelBreakPoint --address 0x77818192
[-] 已清除软件断点: 77818192

内存断点

可针对内存的读、写、执行操作设置断点,监控内存访问。

[ 0x77818192 ] # SetMemBreakPoint --address 0x77818192 --flag w
[+] 内存断点已设置: 0x77818000 (类型: w)
[ 0x77818192 ] #
[ 0x77818192 ] # SetMemBreakPoint --address 0x7781819C --flag r
[-] 内存页 0x77818000 已存在断点

硬件断点

利用CPU调试寄存器设置断点,最多支持3个,不修改目标程序内存。

[ 0x77818192 ] # SetHbreakPoint --address 0x7781819C --len 4 --flag w
[+] 硬件断点已设置: DR0: 0x7781819C (类型: w, 长度: 4字节)
[ 0x77818192 ] # SetHbreakPoint --address 0x778181AA --len 4 --flag r
[+] 硬件断点已设置: DR1: 0x778181A8 (类型: r, 长度: 4字节)
[ 0x77818192 ] # SetHbreakPoint --address 0x778181CC --len 4 --flag e
[+] 硬件断点已设置: DR2: 0x778181CC (类型: e, 长度: 4字节)
[ 0x77818192 ] #
[ 0x77818192 ] # ShowHbreakPoint
+----+----------------+--------+--------+----------+
| DR |    Address     |  Type  | Length | Enabled  |
+----+----------------+--------+--------+----------+
|  0 | 0x7781819C | w      | 4      | True     |
|  1 | 0x778181A8 | r      | 4      | True     |
|  2 | 0x778181CC | e      | 4      | True     |
+----+----------------+--------+--------+----------+

断点类型对比

类型 优点 限制
软件断点 数量无限制 修改目标内存
硬件断点 不修改内存 最多3个
内存断点 监控内存访问 粒度较粗

下载 LyDebugger

选择适合您系统的版本,开始使用专业的动态反汇编调试器

LyDebug32

32位版本,适用于调试x86程序

版本 2.1.0
文件大小 3.4 MB
发布日期 2025-11-15
支持系统 Windows x86
下载32位版本

LyDebug64

64位版本,适用于调试x64程序

版本 2.1.0
文件大小 3.5 MB
发布日期 2025-11-15
支持系统 Windows x64
下载64位版本

文档中心

详细的使用文档和API参考,帮助您快速掌握LyDebugger的使用方法

快速入门

从零开始,快速了解LyDebugger的基本使用方法和操作流程。

  • 安装与配置
  • 第一个调试会话
  • 基本命令使用
阅读文档

命令参考

详细介绍LyDebugger支持的所有命令及其参数用法。

  • 断点命令
  • 执行控制命令
  • 内存与寄存器命令
查看命令

API 文档

LyDebugger的API接口详细说明,适合二次开发和集成。

  • 调试核心API
  • 断点管理API
  • 反汇编引擎接口
查看API

使用示例:调试程序

CMD> LyDebug32 Debug --path c://win32.exe
[+] 已创建调试进程: c://win32.exe (PID: 9016, TID: 8008)
[*] 进入调试循环,等待事件...
[*] 进程创建: PID = 9016, 入口地址 = 0x00DE15BB
[*] DLL加载: 基地址 = 0x77700000, 路径 = C:\Windows\SYSTEM32\ntdll.dll
[*] DLL加载: 基地址 = 0x76F90000, 路径 = C:\Windows\System32\KERNEL32.DLL
[*] DLL加载: 基地址 = 0x75630000, 路径 = C:\Windows\System32\KERNELBASE.dll
[*] 线程创建: TID = 19184, 入口地址 = 0x77756120
[*] 线程创建: TID = 14200, 入口地址 = 0x77756120
[*] 线程创建: TID = 10072, 入口地址 = 0x77756120
[*] DLL加载: 基地址 = 0x6EC50000, 路径 = C:\Windows\SYSTEM32\MSVCR120.dll
[*] 捕获系统初始化断点,正在恢复上下文...
[*] 进程已启动,等待调试命令...
[ 0x77818188 ] #
[ 0x77818188 ] # Modules
+----+----------------+----------------+----------------+
| ID |   Base Address |      Size      |      Name      |
+----+----------------+----------------+----------------+
|  1 | 0x00DE0000 | 0x00007000 | win32.exe      |
|  2 | 0x77700000 | 0x001BF000 | ntdll.dll      |
|  3 | 0x76F90000 | 0x000F0000 | KERNEL32.DLL   |
|  4 | 0x75630000 | 0x002CB000 | KERNELBASE.dll |
|  5 | 0x75E20000 | 0x001CA000 | USER32.dll     |
|  6 | 0x76870000 | 0x0001A000 | win32u.dll     |
|  7 | 0x76890000 | 0x00023000 | GDI32.dll      |
|  8 | 0x762D0000 | 0x000EC000 | gdi32full.dll  |
|  9 | 0x76240000 | 0x00085000 | msvcp_win.dll  |
| 10 | 0x75510000 | 0x00110000 | ucrtbase.dll   |
| 11 | 0x6EC50000 | 0x000EE000 | MSVCR120.dll   |
+----+----------------+----------------+----------------+
[ 0x77818188 ] #
[ 0x77818188 ] # Threads
+----+----------------+----------------+----------------+
| ID |   Thread ID    |    TEB Base    |    Status      |
+----+----------------+----------------+----------------+
|  1 | 10108          | 0x00000053 | Active         |
|  2 | 6584           | 0x00000053 | Active         |
|  3 | 14932          | 0x00000053 | Active         |
|  4 | 18172          | 0x00000053 | Active         |
+----+----------------+----------------+----------------+