ActivityThread.currentApplication
📱 反射获取当前应用 Context,r0capture 用来取包名。
用法
javascript
var packageName = Java.use("android.app.ActivityThread")
.currentApplication()
.getApplicationContext()
.getPackageName();调用链:
r0capture 的用途
客户端证书导出时,用包名作 p12 文件名前缀:
javascript
'/sdcard/Download/' + packageName + uuid(10, 16) + '.p12'形如 /sdcard/Download/com.app_a3F9c2D1b7.p12,便于区分不同 App 的证书。
为什么用 ActivityThread
ActivityThread.currentApplication() 是反射获取 Application 的方式,不依赖 Activity 实例(hook 时可能没有 Activity 在前台)。比 getApplicationContext 更底层可靠。