[ 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 |
+----+----------------+--------+--------+----------+
详细的使用文档和API参考,帮助您快速掌握LyDebugger的使用方法
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 |
+----+----------------+----------------+----------------+