zjdroid.apk是一款基于Xposed Framewrok的动态逆向分析工具,这是它的安卓手机端apk文件,配合电脑端的adb调试桥可以完成多种任务,包括DEX文件的内存dump、敏感API的动态监控扥等,欢迎下载使用。
1.首先需要安装xposed框架,运行后选择“框架”==》“安装/更新”操作。
2.安装模板(ZjDroid.apk)
安装ZjDroid.apk后,点击xposed的模块选项,勾上ZjDroid选项,然后重启系统激活软件。
1、DEX文件的内存dump
2、指定内存区域数据dump
3、获取应用加载DEX信息。
4、基于Dalvik关键指针的内存BackSmali,有效破解主流加固方案
5、敏感API的动态监控
6、获取指定DEX文件加载类信息。
7、dump Dalvik java堆信息。
8、在目标进程动态运行lua脚本。
1、获取APK当前加载DEX文件信息:
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"dump_dexinfo"}'
2、获取指定DEX文件包含可加载类名:
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"dump_class","dexpath":"*****"}'
4、根据Dalvik相关内存指针动态反编译指定DEX,并以文件形式保存。
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"backsmali","dexpath":"*****"}'
该方式可以脱壳目前大部分流行的加固防护。(由于手机性能问题,运行较忙)
例外情况:
由于ApkProtect特定防修改检测,需要做如下修改即可解固该保护:
(1)在设备上创建特定目录(如/data/local)并 chmod 为777
(2)复制zjdroid.apk到该目录,并修改文件名为zjdroid.jar
(3) 修改/data/data/de.robv.android.xposed.installer/conf/modules.list,模块代码文件修改为zjdroid.jar,然后重启设备即可。
5、Dump指定DEX内存中的数据并保存到文件(数据为odex格式,可在pc上反编译)。
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"dump_dexfile","dexpath":"*****"}'
6、Dump指定内存空间区域数据到文件
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"dump_mem","start":1234567,"length":123}'
7、Dump Dalvik堆栈信息到文件,文件可以通过java heap分析工具分析处理。
adb shell am broadcast -a com.zjdroid.invoke --ei target pid --es cmd '{"action":"dump_heap"}'
8、运行时动态调用Lua脚本
该功能可以通过Lua脚本动态调用java代码。