在 x64dbg 中跟踪函数调用

逆向工程 拆卸 视窗 风袋 职能 x64dbg
2021-07-08 19:12:39

我是新手,x64dbg想知道是否有任何方法可以跟踪模块内的函数?

我使用了跟踪选项,但基本上它只是跟踪所有指令,但不会“介入”调用语句。

在这里,我找到了一种使用 windbg 执行此操作的方法(注意函数和返回值的树视图),但是有什么方法可以使用x64dbg? 或者可能跟踪模块的所有 api 调用。谢谢。

1个回答

可以使用Trace->Trace into...选项。打开可执行文件后,选择此选项并指定要记录的消息(在Log text字段中);例如{a:cip} {i:cip},它将记录模块名称、地址和空格后的指令。

就我而言,遗憾的是不支持 中的字符串比较x64dbg,因此您无法编写类似{modname@rip}==some_module_namein Log conditionfield 的内容。但是,您可以使用模块入口点作为模块标识符,如下所示: x64dbg_log_condition

单击OK按钮后,日志面板中只会出现指定模块中的说明,您应该看到如下内容:

x64dbg_log

唯一需要解决的问题是找到模块入口地址。我已经通过记录每个模块名称和入口点来完成它,直到找到相关的一个。如果我找到更好的方法来做到这一点,我会更新我的答案。