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
,显示如下:- 向偏移框中填入偏移地址可用反汇编地址处的指令,修改后 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 并加以分析