apk:com.droider.crackme0201.apk
一:
这个用 ZjDroid 模块 进行脱壳 zjdroid模块脱壳 前面文章有讲 这里不重复了
二:
脱壳后脱出来的 dex文件 修改名为 classes.dex 替换进去 com.droider.crackme0201.apk
然后用 AndroidKiller 反编译
然后 通过分析 搜索到 checkSN
.method private checkSN(Ljava/lang/String;Ljava/lang/String;)Z
.locals 10
.param p1, “userName” # Ljava/lang/String;
.param p2, “sn” # Ljava/lang/String;
.prologue
#const/4 v7, 0x0
const/4 v7, 0x1 //修改为 v7 为 0x1
return v7 //这里添加 直接返回 v7 相当于这个函数 直接返回为真
//这里注意下 不能直接改为 return 0x1 这样编译不能通过的
提示.
.\projects\com.droider.crackme0201\Project\smali\com\droider\crackme0201\MainActivity.smali[79,11] mismatched input ‘0x1’ expecting REGISTER
而要通过 先把
0x1 赋值给 个 变量 再返回这个 变量
这样在点 注册按钮时 就通过checkSN检测 这里返回为真 那么就 提示 注册成功
三: 特别注意这里 别忘记了
一般情况下 有壳的 apk的 AndroidManifest.xml 里
android:name=“com.shell.SuperApplication” 是它的 壳入点
这里我们脱壳后 一定不要忘记 把这个 删除掉 不然 运行apk会报错
删除即可 再编译 安装 运行 ok