百趣云
百趣云的博客
🔖unidbg
unidbg 的定位:SO 的"虚拟机"unidbg 用 Unicorn 引擎模拟 ARM 指令执行,让 Android 的 SO 文件脱离手机在 JVM 里跑起来。它的价值场景很明确:签名算法在 SO 里,你想批量调用但不想养一屋子手机。但 SO 不是独立运行的——它会调 JNI 函数(拿 Context、读系统属性、访问文件),这些调用在 unidbg 里全要"补环境":用 Java 代码模拟 Android 系统的行为,让 SO 以为自己真在手机上。最小可运行骨架public class SignEmulator {
private final AndroidEmulator e
为什么需要 unidbg上一篇讲了 Frida RPC 方案:在真机上注入优酷 App,借 App 自己的代码算 x-sign。这个方案能用,但有几个硬伤:依赖常驻设备,手机一挂服务就挂单进程串行,并发上不去App 不能升级、不能清数据,维护成本高unidbg 提供了另一条路:在 JVM 里模拟 ARM 指令集,直接加载并执行 App 的 SO 库。不需要手机,不需要 App 运行,一台服务器可以起几百个实例并发跑。unidbg 原理简述unidbg 是一个基于 unicorn(CPU 指令模拟器)的 Java 库,它做了三层模拟:指令层:unicorn 模拟 ARM/ARM64 指令执行系统