我正在运行一个程序,我想检查当有条件跳转时是否采取了分支。
我听说 IntelPT 可以使用 pt_qry_cond_branch()
函数来做到这一点。但是,我看不到任何有关如何使用它的示例。有人对此有任何想法吗?
例如,我将如何使用 Intel PT 来查看此函数中发生了什么:
foo:
rdrand eax
cmp eax, 1<<29
ja .taken
nop
.taken:
xor eax, eax
ret
我想知道如何为此使用 Intel-PT,而不是在nop
或其他检测数据的方式上设置断点以自己查找数据并计算分支条件。