我用Android Studio做了一个简单的Demo,就是单独的一个登陆界面,设置了固定的账号密码,如果输入的账号密码如设置的值一致就进行页面跳转。
接下来将它打包apk拉进Android Killer(简称AK)中去
这段代码我们也不难理解,一开始声明的两个参数“name”和“pass”应该就是账号和密码的输入框,分别用p1和p2表示。
If-eqz是smali的语法,判断前后两个操作数是否相等,相等则只需冒号后面的代码,不想等则继续往下执行。
cond_0应该就是登陆失败了,我们可以找一下。
既然源码都完完全全的暴露在我们面前了,正确的账号密码我们也知道了,但这不是我们想要的。接下来我们对这些代码进行修改,在修改之前先理一下思路,代码执行到cond_0就会登录失败,那我们不让它执行到cond_0不就可以了吗?代码有两个地方会跳转至登录失败,一个是判断用户名,另一个是判断密码。
思路一:将if-eqz改为if-nez,if-nez与前者相对,当两个比较的数不相等就往下执行,这样就算输入错误的账号密码,代码也会正常往下执行。
思路二:直接将if-eqz语句删除,这样代码就是从上往下按顺序执行了。
思路三:使用goto语句,goto又被称为“无条件转移语句”,可以直接跳转至指定位置。这样一来,我们就可以在登录按钮点击事件执行的时候就直接goto到登录成功。
在这里以思路一为例,编写完成之后记得保存,然后进行编译
编译完成后安装到手机上测试一下,输入错误的账号密码
登录成功。
本文发布于:2024-02-02 04:48:24,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170682053541455.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |