动手魔改属于自己的 Frida

大家好,上一篇文章中讲到了如何编译原版的 Frida,本篇文章来讲一下如何编译自己的魔改版 Frida。

Frida 特征

要想编译自己的魔改版 Frida,首先要有一个完整可用的编译环境,这里我们已经有了。那如何魔改 Frida 呢?如何知道哪些地方是 Frida 的特征?如何去除这些特征呢?

上面这几个问题现在不知道没关系,已经有大佬制作了 Frida 的魔改补丁,我们只需要将补丁应用即可。后续在使用 Frida 的过程中,如果发现了其他被识别的特征,就可以根据自己遇到的特征进行针对性的魔改了。

下载补丁

在编译之前,要先下载大佬制作好的 Frida 补丁,使用以下命令将其 clone 到本地。

1
git clone https://github.com/Ylarod/Florida.git

image-20250303204501873

应用补丁

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

image-20250303205945178

gum 的补丁可能是因为版本不匹配无法应用,这里我就先略过了。完成补丁应用后直接 make clean && make 重新编译即可。

验证

编译完成后可以使用 strings 命令验证补丁是否生效。补丁中会对 frida:rpc 字符串进行 base64 编码,正常来说在魔改前可以从编译后的 Frida 产物中搜索到字符串形式的特征,如果魔改后找不到对应的字符串即为补丁生效。同时也别忘了验证魔改后的 Frida 是否可以正常启动&&使用。

先看看魔改以前的结果:

image-20250303205220153

发现有很多 frida:rpc 字符串。

魔改后的结果:

image-20250303210244337

现在已经没有 frida:rpc 这样的字符串了,只剩下看起来像是报错代码中的部分字符串,不过补丁是应用成功了,只要再验证一下 frida_server 的功能没有问题魔改就算是完成了。

总结

以上魔改 Frida 只是使用当前开源的部分补丁作为演示,更多 Frida 去特征的方法大家需要自行尝试探索,因为不同的 APP 检测的特征是不一样的,这个需要慢慢积累才能让自己的 Frida 越来越好用。

本文章首发于个人博客 LLLibra146’s blog

本文作者:LLLibra146

更多文章请关注公众号 (LLLibra146):LLLibra146

版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!

本文链接
https://blog.d77.xyz/archives/b54345f6.html