如何使用 x64dbg 记录程序执行的 CPU 指令?
Posted
技术标签:
【中文标题】如何使用 x64dbg 记录程序执行的 CPU 指令?【英文标题】:How to log CPU instructions executed by program with x64dbg? 【发布时间】:2020-09-13 10:14:16 【问题描述】:如何用 x64dbg 记录程序执行的 CPU 指令?
我看到https://reverseengineering.stackexchange.com/questions/18634/x64dbg-see-the-current-position 的问题,但我找不到记录指令的方法。
【问题讨论】:
执行此操作的其他方法包括 Intel SDE (software.intel.com/en-us/articles/…) / PIN (Log all instruction with intel pintool),或使用 Intel PT:How to run record instruction-history and function-call-history in GDB? CPU 的硬件支持。或者使用 GDB,只需编写单步脚本(慢得多)Tracing/profiling instructions 【参考方案1】:据我了解 - 您想要记录所有已执行的指令。最简单的方法是将它们记录在文件中。为此,您需要:
-
通过
Pause
选项 (F12) 或使用断点暂停程序
选择Trace
菜单,然后选择Trace into...
(Ctrl+Alt+F7) 或Trace over...
(Ctrl+Alt+F8)。如果你想记录每条指令,你可能想使用Trace into...
现在在新创建的窗口中
您可以选择Log Text
格式,您可以使用建议的0xp:cip i:cip
,它将数据记录到文件中,如0x006E8749 mov ebp, esp
。将Maximum trace count
和Log File...
设置为存储数据的位置也是一个好主意。完成后只需按OK
,x64dbg 将开始执行您的程序并记录所有指令。请记住,程序在跟踪过程中不会很快运行。
【讨论】:
以上是关于如何使用 x64dbg 记录程序执行的 CPU 指令?的主要内容,如果未能解决你的问题,请参考以下文章