Loading... # 常用命令 ### 命令 | | | | - | - | | lm | 查看加载符号 | | ldtest | 加载符号 | | ld user32 | 从服务器下载符号表 | | .relaod | 加载 | | !process | 扩展命令 | | | | | | | ### 断点 | | | | | - | - | - | | bp | 设置软件断点 | 在**某个地址** 下断点 | | bu | 设置延迟断点 | 针对**某个符号** 下断点 | | ba i | w | | | be bd bc | 启用 禁用 删除断点 | | | bl | 查看所有断点 | | | bc | 清除指定断点 | | | bd/be | bd禁用指定断点 | be启动断点 | | bm | | 针对**符号** 下断点。 但是它支持**匹配表达式** | | ba | 命令就是针对**数据** 下断点的命令 | **ba** *Access Size* [*地址]* **e** (执行), **r** (读/写), **w** (写) | | | | | ### 查看 | | | | - | - | | | | | db,dw,dd,dq,da,du,df,dD,dyb,dyd | 以不同形式查看内存 | | !db,!dc,!dd,!dp,!dq,!du,!dw | 以不同形式查看物理内存 | | dt | 查看结构体 | | e,ea,eb,ed,eD,ef,ep,eq,eu,ew,eza,ezu | 以不同形式编辑内存 | | | | | ~2r | 显示线程**2的寄存器 | | ~*r[EAX] | 显示所有线程的寄存器 | | r eax = 0xXX | 修改寄存器的值 | | r eax = @ebx | 寄存器间赋值 | | | | | g | 恢复执行 | | gh | 执行的时候处理异常 | | gn | 执行的时候不处理异常 | | gc | 有条件执行 | | gu | 执行到父函数 | | | | | p | 单步步过 | | pa | 执行到一个地址 | | pc | 执行到下一个call | | | | | t | 单步步入 | | ta | 执行到一个地址 | | tc | 执行到下一个Call | | tb | 单步到下一个分支 | | | | | u xxxx | 50 | | lm | 列出所有模块 | | lm vm | 列出某一个模块信息 | | !process 0 X | 列出进程信息 | | .process | 切入进程 | | K | 查看堆信息 | | $exentry | 入口点 | | !wow64exts.sw | 切换64位32位 | | | | | | | | r gdtr | 查看gdt表 | | | | | | | | | | | dq | 以8字节方式查看 | | | | 查看 | | | | - | - | | F5/G | 启动 | | Ctrl+Shift+F5 | 重启 | | Shift+F5 | 停止调试 | | Ctrl+Break | 中断程序 | | F11 or F8 | 单步步入 | | F10 | 单步步过 | | Shift+F11 | 跳出本函数 | | Ctrl+F10 or F7 | 跳出本函数运行到光标 | | | | # 窗口 ![image-20201208211259917.png](http://www.irohane.top/usr/uploads/2021/01/4278549986.png) # 双机调试 ![image-20201207143336983.png](http://www.irohane.top/usr/uploads/2021/01/996620689.png)![image-20201207144624301.png](http://www.irohane.top/usr/uploads/2021/01/1140932076.png)![image-20201207090517611.png](http://www.irohane.top/usr/uploads/2021/01/2974070971.png) 还需要安装 VirtualKD![image-20201207144732335.png](http://www.irohane.top/usr/uploads/2021/01/4141034667.png)![image-20201207145555844.png](http://www.irohane.top/usr/uploads/2021/01/3131908685.png) 安装之后,重启虚拟机会出现第二个选项 启动虚拟机 选中第二个 F8![image-20201207145332393.png](http://www.irohane.top/usr/uploads/2021/01/716559012.png)![image-20201207145429967.png](http://www.irohane.top/usr/uploads/2021/01/2794857587.png) 由于版本不统一后期,使用2020.5![image-20201207151307864.png](http://www.irohane.top/usr/uploads/2021/01/3432040784.png) ![image-20201207151106267.png](http://www.irohane.top/usr/uploads/2021/01/3751103321.png) # 加载内核驱动并设置符号表 ## 使用路径加载 ![image-20201208212243106.png](http://www.irohane.top/usr/uploads/2021/01/3420586488.png) 使用 Ctrl+s 打开符号路径将 下方加入 【D:\WinSymbol\Win10是从微软下载的缓存文件可以根据自己需要修改】 SRV*D:\WinSymbol\Win10\*http://msdl.microsoft.com/download/symbols ![image.png](http://www.irohane.top/usr/uploads/2021/05/326170713.png) 添加之后使用 .reload /f强制加载符号【下载符号记得挂梯子超慢的哦】 ![image.png](http://www.irohane.top/usr/uploads/2021/05/411335251.png) ## 设置环境变量 ![image-20201208212302648.png](http://www.irohane.top/usr/uploads/2021/01/3772800031.png) ![image-20201208212419672.png](http://www.irohane.top/usr/uploads/2021/01/1929453499.png)![image-20201208212602815.png](http://www.irohane.top/usr/uploads/2021/01/921379468.png)![image-20201208212613802.png](http://www.irohane.top/usr/uploads/2021/01/1600951459.png) # 无源码调试驱动 找到一个驱动 ![image.png](http://www.irohane.top/usr/uploads/2021/03/1706795380.png) 找到入口点 ![image.png](http://www.irohane.top/usr/uploads/2021/03/610208648.png) 需要转换成FOA,在文件的FOA中将第一个字节改为CC ![image.png](http://www.irohane.top/usr/uploads/2021/03/1307821578.png) ![image.png](http://www.irohane.top/usr/uploads/2021/03/3948169687.png) 重新计算校验和,点击问号即可自动修改。 ![image.png](http://www.irohane.top/usr/uploads/2021/03/1034218836.png) 双机调试 使用A1SysTest 安装驱动,会在WinDBG中断下调试,使用windbg动态修改cc为之前的汇编就可以了。 # 附加进程 ``` // 拿到要附加进程的信息 !process 0 0 test.exe .process /i 进程的eprocess; // 附加进程、加载符号 g; .process /p 进程的eprocess; !peb 进程的peb;.reload /user // 下断点 bp test!你要下断的函数名 ``` 最后修改:2021 年 05 月 16 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏