XposedZjDroid脱壳梆梆加固

  • 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反编译 脱壳成功的话 反编译会成功

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: