windbg有Run Trace功能吗

admin 2022年6月20日10:22:37程序逆向评论5 views628字阅读2分5秒阅读模式

2.33 windbg有"Run Trace"功能吗

http://scz.617.cn:8/windows/202206191821.txt

Q:

已知流程会过[addr_a,addr_b]区间,我想在此区间单步执行每一条指令,每次单步后想执行一些命令,比如检查相关寄存器值并据此做出不同动作。

A: scz 2022-06-19

该需求与ta/pa命令无关,这两个命令无法在每次单步后执行指定命令。也与wt命令无关。

编辑tcmd.txt如下

.if(@[email protected]$t1){}.else{r $t0,rip;r [email protected]$t0+1;t "$$< tcmd.txt"}

在addr_a处执行如下命令

t "r $t0=0;r $t1=<addr_b>;$$< tcmd.txt"

效果是,从addr_a单步执行至addr_b,每次都执行"r $t0,rip;r [email protected]$t0+1",输出中会看到一堆"$t0=… rip=…"。

这只是示例,根据原始需求调整tcmd.txt的内容,比如当rax等于特征值时停止单步执行,修改每次单步时所执行的命令,等等。这是土法"Run Trace"功能。

配合.logopen/.logclose,对指定范围内被执行的指令进行定制化记录,当流程因in不同而不同时,对两次log进行BC比较,快速找出分叉点。根据[addr_a,addr_b]的具体情况,将t换成p,避免失焦。


原文始发于微信公众号(青衣十三楼飞花堂):windbg有Run Trace功能吗

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月20日10:22:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  windbg有Run Trace功能吗 https://cn-sec.com/archives/1128760.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: