Android破解学习之路(一)——简单的登录破解 (2)

 

Android破解学习之路(一)——简单的登录破解

 

Android破解学习之路(一)——简单的登录破解

 

 这里先补充两个smali指令 一个是if-eqz 另一个是if-nez 这两条指令是相对的
(1)if-eqz vA, vB, :cond_**  如果vA等于vB则跳转到:cond_**,可以看成boolean a = VA==VB,if-eqz a, :cond_** 当a为true,也就是VA等于VB,就执行cond_**,否则,就跳过cond_**,执行下一行代码
(2)if-nez vA, vB, :cond_**  如果vA不等于vB则跳转到:cond_**,同上,boolean a = VA!=VB, if-nez a,:cond_**  当a为true,也就是VA不等于VB,就执行cond_**,否则,就跳过cond_**,执行下一行代码

 

Android破解学习之路(一)——简单的登录破解

 

 补充:v5为假,则说明用户名不对,所以弹出登录失败,v5为真,也就是用户名对了,就继续判断密码是否正确,密码不正确,也是弹出登录失败的对话框

 

破解方法:

 

破解之前强调一个问题 修改完smali代码后一定要ctrl+s保存 不然程序还是拿原来的smali代码编译

1.将上述的两个判断用户名与密码的判断,也就是if-eqz修改为if-nez,那么输入不对的账号名与密码就会跳过cond_0,相当于不弹出登录失败的对话框,直接往下执行,之后就是弹出登录成功的对话框

 

PS:如果输入的是原本的那个正确的用户名和密码,就会弹出登录失败

 

2.将这两个if-eqz删除掉,不管输入什么,即使是正确的账号名与密码均是弹出登录成功的对话框

 

Android破解学习之路(一)——简单的登录破解

 

3.利用goto语句,直接跳过这两个if-eqz

 

Android破解学习之路(一)——简单的登录破解

 

修改完之后,点击编译

 

Android破解学习之路(一)——简单的登录破解

之后就可以看到编译成功的提示,点击红色方框那行,就会跳转到资源管理器中

Android破解学习之路(一)——简单的登录破解

 

 之后,就将该apk发给手机,在手机安装测试效果

 

这里提一下,还可以使用adb功能连接手机进行测试,或者连接到Android模拟器,将apk安装到模拟器中测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjddg.html