动手魔改属于自己的 Frida
大家好,上一篇文章中讲到了如何编译原版的 Frida,本篇文章来讲一下如何编译自己的魔改版 Frida。
Frida 特征
要想编译自己的魔改版 Frida,首先要有一个完整可用的编译环境,这里我们已经有了。那如何魔改 Frida 呢?如何知道哪些地方是 Frida 的特征?如何去除这些特征呢?
上面这几个问题现在不知道没关系,已经有大佬制作了 Frida 的魔改补丁,我们只需要将补丁应用即可。后续在使用 Frida 的过程中,如果发现了其他被识别的特征,就可以根据自己遇到的特征进行针对性的魔改了。
下载补丁
在编译之前,要先下载大佬制作好的 Frida 补丁,使用以下命令将其 clone
到本地。

应用补丁
下载后文件夹中应该有十几个补丁文件。接下来进入到 Frida 的文件夹中,依次应用补丁。

gum
的补丁可能是因为版本不匹配无法应用,这里我就先略过了。完成补丁应用后直接 make clean && make
重新编译即可。
验证
编译完成后可以使用 strings
命令验证补丁是否生效。补丁中会对 frida:rpc
字符串进行 base64
编码,正常来说在魔改前可以从编译后的 Frida 产物中搜索到字符串形式的特征,如果魔改后找不到对应的字符串即为补丁生效。同时也别忘了验证魔改后的 Frida 是否可以正常启动 &&使用。
先看看魔改以前的结果:

发现有很多 frida:rpc
字符串。
魔改后的结果:

现在已经没有 frida:rpc
这样的字符串了,只剩下看起来像是报错代码中的部分字符串,不过补丁是应用成功了,只要再验证一下 frida_server
的功能没有问题魔改就算是完成了。
总结
以上魔改 Frida 只是使用当前开源的部分补丁作为演示,更多 Frida 去特征的方法大家需要自行尝试探索,因为不同的 APP 检测的特征是不一样的,这个需要慢慢积累才能让自己的 Frida 越来越好用。
本文章首发于个人博客 LLLibra146's blog
本文作者:LLLibra146
更多文章请关注公众号 (LLLibra146):
![]()
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
版权声明: 本文为 InfoQ 作者【LLLibra146】的原创文章。
原文链接:【http://xie.infoq.cn/article/7252d02861b0f1aa5f73fb97f】。未经作者许可,禁止转载。
评论