动手魔改属于自己的 Frida
大家好,上一篇文章中讲到了如何编译原版的 Frida,本篇文章来讲一下如何编译自己的魔改版 Frida。
Frida 特征
要想编译自己的魔改版 Frida,首先要有一个完整可用的编译环境,这里我们已经有了。那如何魔改 Frida 呢?如何知道哪些地方是 Frida 的特征?如何去除这些特征呢?
上面这几个问题现在不知道没关系,已经有大佬制作了 Frida 的魔改补丁,我们只需要将补丁应用即可。后续在使用 Frida 的过程中,如果发现了其他被识别的特征,就可以根据自己遇到的特征进行针对性的魔改了。
下载补丁
在编译之前,要先下载大佬制作好的 Frida 补丁,使用以下命令将其 clone
到本地。
1 | git clone https://github.com/Ylarod/Florida.git |
应用补丁
下载后文件夹中应该有十几个补丁文件。接下来进入到 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 许可协议。非商用转载请注明出处!严禁商业转载!