今天回来第一天开工, 所以水一片新年开工文章

本文只提供解决 OLLVM 流程混淆对抗的解决思路,不会提供具体代码。

stalker 属于 frida 的高阶用法,市面上很少有 Stalker 相关文章,大家可以阅读官方文档去使用。


stalker

stalker 属于 frida 的高阶用法,可以跟踪和 trace so

和 unidbg 的 Trace 相比,他的优势在于不需要关心如何将 so 跑起来,更省心更高效,缩减掉了 Unidbg 的第一步

步骤

  1. hook 指定地址段
  2. 编写脚本给 IDA nop 掉虚假流程块

注意点

  • 尽量在 64 位下使用 Stalker (32 位不稳定)
  • 尽量缩小 Stalker 的 Hook 范围,一次只跟踪一个函数。
  • 要在函数调用前 hook
  • 用最新版的 Frida

过程

这是我指定 函数 hook 后生成的日志

原本的虚假流程

我们利用 Stalker Trace 到的 cpu 真实执行流程还原 nop 掉虚假流程,后效果如下

可以看到黄色的区域才是真正执行的流程

Last modification:February 22, 2021
如果觉得我的文章对你有用,请随意赞赏