夜雨聆风学习资料网

ARTICLE · 1049338

安卓、iOS 魔改 Frida 免费分享,附内核隐藏模块和检测 App

安卓、iOS 魔改 Frida 免费分享,附内核隐藏模块和检测 App

简短介绍

把课程中使用的安卓、iOS 魔改 Frida,连同安卓内核隐藏与页重定向模块、两端环境检测 App,一起免费分享。可以直接拿来研究 Frida 特征和检测方式。

正文

安卓和 iOS 的 Frida 都做了魔改,产物叫 Muida。我还写了安卓内核隐藏模块,以及两个平台的环境检测 App。这次把它们放进同一个文件包,成品已经编译好,省去大家先搭环境编译的步骤。

先看能拿到什么。

内容
随包提供的文件
安卓魔改 Frida
ARM64 Server、Gadget
iOS 魔改 Frida
Gadget、有根 Server deb、无根 Server deb
安卓内核模块
特征隐藏 KPM
环境检测 App
安卓 APK、iOS TrollStore 安装包

Frida 本身改了什么

应用能从好几个位置找到 Frida。文件和线程有名字,内存里有字符串,Frida 自己也会在一些系统函数上装 Hook。Muida 的修改就落在这些地方。

安卓这边,处理了 Server、Agent、Helper 和 Gadget 的命名,还清理了 gum-js-loop 等线程特征、runtime 路径与部分生成符号。frida:rpc 的明文字面量改成运行时还原,通信时仍保留原协议,电脑端可以继续使用匹配版本的 Frida 客户端。等等。。。

iOS 这边也处理了内部标识、Agent 和安装布局。等等。。。

这套产物基于 Frida 17.16.1

内核隐藏

kernel-hide.kpm 把处理位置放到了安卓内核,涉及 maps 输出、线程名称、status、特定文件访问,以及部分网络连接和内存读取路径。

这里有个值得研究的区别。应用通过普通 libc 函数读 maps,和绕过这个函数、直接发起系统调用,经过的用户态代码不同。只改一个 libc 入口时,两种读法可能给出不同结果;内核模块则可以继续处理它们共同经过的内核输出路径。

检测 App

安卓 App 提供 8 项检测,默认端口、maps、线程名、内存字符串、inline hook、syscall maps、动态 SVC maps,以及 libart.so 的 PrettyMethod 相关检测。可以一键运行,也能单独点某项,把日志复制出来。

iOS App 分为越狱环境检测和 Frida 注入检测。越狱部分区分有根、无根路径;Frida 部分检查文件与控制端点、Agent 内存特征、线程、系统函数入口,以及未注册的可执行 Mach-O。Mach-O 就是 iOS 常用的可执行文件和动态库格式。

先装检测 App,再用 Muida 注入说明里的最小脚本,就能开始观察这些项目。Server 和 Gadget 的接入方式、KPM 的加载与卸载命令都随包提供。

KPM 需要兼容的安卓 KernelPatch/APatch 环境,iOS App 需要支持 TrollStore 的设备。

免费领取

扫码添加好友,对我私聊发送 "魔改frida"即可。

一起探讨逆向技术、交流行业经验、共享学习资料,还能加入逆向技术同好社群。

相关学习资料