- A+
环境 : 这里我的手机是 开启了 全局调试模式
首先让 手机开启 全局调试模式 如果已开启 则不管
一定要注意下面的顺序 设置好 monitor后 再安装 打开 壳apk
第一部分:
1:安装 ZjDroid.apk 模块到手机
2:Xposed 上安装好 ZjDroid.apk 模块 然后 软重启
第二部分:
1:
打开 monitor 如果已开启全局调试模式 则会在 设备栏 后面显示 debug
2:
LogCat 过滤栏 +
Filter Name zjdroid-shell-PackageName
by Log Tag zjdroid-shell-PackageName
//PackageName 在进程名那就是 这里是 com.example.helloworld
3:
手机上打开 壳apk //这里一定要注意顺序 设置好 monitor后 再安装 打开 壳apk
4:
查看APK当前加载的DEX文件的信息
cmd
adb shell
am broadcast -a com.zjdroid.invoke --ei target 17748 --es cmd ‘{action:dump_dexinfo}’
//这里的 17748是PID 根据实际PID修改 这里我是 :6681
这里logcat 栏会出现信息 ctrl+c 复制出 apk 和 jar 两行信息 有用
09-13 01:42:31.867: D/zjdroid-shell-com.example.helloworld(6681): filepath:/data/data/com.example.helloworld/app_bangcleplugin/container.apk mCookie:1575578632
09-13 01:43:48.397: D/zjdroid-shell-com.example.helloworld(6681): filepath:/data/data/com.example.helloworld/.cache/classes0.jar mCookie:1623448168
//这里注意 logcat栏信息 有显示两个apk 我们要的是下面那个apk
filepath:/data/data/com.example.helloworld/app_bangcleplugin/container.apk
这个apk 才是 真正的apk
5:
查看class信息
am broadcast -a com.zjdroid.invoke --ei target 17748 --es cmd ‘{“action”:“dump_class”,“dexpath”:"/data/app/com.example.helloworld-1.apk"}’
//这个 可以省略
//这个 “dexpath”:"/data/app/com.example.helloworld-1.apk" 就是第4步 复制出来的信息里找出来的 filepath:/data/app/com.example.helloworld-1.apk mCookie:1575578632 这
6:
脱壳
baksmali dump dex
am broadcast -a com.zjdroid.invoke --ei target 17748 --es cmd ‘{“action”:“backsmali”,“dexpath”:"/data/data/com.example.helloworld/.cache/classes0.jar"}’
//这里的 “dexpath”:"/data/data/com.example.helloworld/.cache/classes0.jar" 也是第4步出来的
这里优先考虑用 apk 脱壳 如果apk不好使 就用 jar 脱壳
这时 如果 logcat里 不动态显示的话 那么 就关闭下 monitor再重开下 重复下3-6步
这里我用的apk
baksmali dump dex
am broadcast -a com.zjdroid.invoke --ei target 17748 --es cmd ‘{“action”:“backsmali”,“dexpath”:"/data/data/com.example.helloworld/app_bangcleplugin/container.apk"}’
等待一段时间 文件大的话 可能要半小时
完成后 最后会出来个 脱壳后的 dexfile.dex 存储路径 data/data/com包 …
类似下面这样
09-13 02:16:47.174: D/zjdroid-shell-com.example.helloworld(11511): the dexfile data save to =/data/data/com.example.helloworld/files/dexfile.dex
7:
手机上打开 MT管理器 (如没有则安装个)
右边栏里 根据存储路径 一路找下去 找到 dexfile.dex 后 长按几秒 再选 右移 这时就移动到 左边栏的 根目录了
这时 在电脑里的 手机盘里 打开 好像是找不到 要把软件软重启下 用xposed软重启下 后 再 刷新下 手机盘
就显示出来了
8:
把dex 用 Apktool Box工具 dex转jar 再打开jar 看下 是否正常显示了 是否脱壳成功
9:
把脱壳后dex 替换进原加壳的apk里面 再用 AndroidKiller反编译 脱壳成功的话 反编译会成功
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫