4. 破解与脱壳的简单操作步骤

4.1 破解步骤

  • Step 1 :打开 dex,可勾选 optload 进行自动定位到入口 activity ,只有AndroidManifest.xml 中描述的 package 与 dex 中的 package 相同才能凑效(如果选中后打开 dex 文件,只解析 com 包的类,解析完成后如果 classes.dex 目录下存在 AndroidManifest.xml ,会自动解析此文件,并且定位到其中指定的第一个执行的 activity. 如果打开之后点击,则会直接定位到主 activity )
  • Step 2 : s 查找字符串,找到关键点
  • Step 3 :m 修改跳转指令,光标移动要修改的指令处 M,显示如下: Alt text

    • 向偏移框中填入偏移地址可用反汇编地址处的指令,修改后 enter
    • 指令框中可用直接修改指令,修改后 enter
    • smali 框可修改操作码,如 if-ltz 改为if-nez,修改后 enter
  • Step 4 :open->save modify 保存修改,如果打开的是 apk,则选 save dex as

  • Step 5 :dex 拖入 apk 压缩包中,签名即可

4.2 脱壳步骤

该部分功能还在完善,目前比较弱,需要 ROOT 权限才能 dump,以后会引入注入模块来实现更加强大的功能

  • Step 1 :打开 dump 窗口(点击按钮 dump,或者菜单 tools->open device
  • Step 2 :等待窗口连接设备,直到显示出所有进程(有时较慢,需耐心等待)
  • Step 3 :双击所选进程行,或者右键打开进程,等待显示所有进程模块
  • Step 4 :单击要 dump 的模块,或者选中多行右键菜单 dump 即可 dump 出此模块,dump 的文件存放在 {GDA当前目录}/dum/{进程名}/{模块名}
  • Step 5 :打开 dump 出的 odex 或者 dex,如果是 odex 可以在菜单 open->save as dex 将 odex 转化为 dex
  • Step 6 :如果需要修复dex,只能依靠自己的技能
  • Step 7 :打开 dex 并加以分析