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

学习之路 09-20 阅读:18 评论:0

  最近突然心血如潮开始学了Android破解,初入门,便是将经验记录下来。

  在我们破解之前,我们需要做一个简单的登录APP,输入相应的账号与密码便是弹出登录成功的对话框,账号与密码不匹配的话则是弹出登录失败的对话框,如下图

  由于我之前已经写了一篇关于制作登录界面的简单APP的博文,这里便是不多说了,详情请进,图片也是从那篇博文复制过来的

  建议大家还是照着我的教程做一下APP,之后对我下面所说的破解就会有更深的理解

  这是我之前那篇所做的登录APP,把地址给大家吧,大家下载之后,按照我下面的步骤开始破解

  这里介绍一下android破解工具,Androidkiller,这款软件可谓是大名鼎鼎,不了解的话可以去百度搜索看看

  使用Androidkiller打开需要破解的apk,之后反编译成功,点击工程管理器,就会出现这样的一个界面(第一次运行可能会出现卡死的情况,解决方法是将软件关闭,重新打开,之后在项目历史记录选择打开)

  这里说一下,original文件夹里面放的是原始的AndroidMainfest和相关的签名,res文件夹则是放有相关的布局,颜色,图片,音乐等资源,smail文件夹则是存放这个app中所有的java文件

  我们可以看到其中有个MainActivity,这个就是主界面的java文件的smail文件,由于这个是一个简单的登录APP,所以里面没有太多的界面,我们可以很清楚主界面,但是,一般的APP可不是只有一个界面,这时,我们怎么办呢?答案很简单,通过关键字进行查找,从而定位到相关的smail文件中。所以说,破解一款APP,你还得使用过它,在使用过程中找出关键字

  如我们这个简单的登录APP来说,我们可以搜索登录失败来寻找相对应的smail

  在右上角搜索功能框输入登录失败,点击右下角的搜索全部,可以看到没有结果,这是为什么呢?因为在生成apk的时候,开发工具就会将apk中的相关文字转换成了Unicode,所以,我们可以将登录失败转为Unicode,再次搜索查看结果,Androidkiller搜索框就是自带了转换Unicode的功能,如下图

  到现在,我们需要理清一下破解思路,我们需要输入不匹配的账号密码,使其弹出登录成功的对话框。

  上图我们找到了弹出登录失败的对话框,我们需要做的就是,修改条件不满足的时候所执行的代码

  这里先补充两个smali指令 一个是if-eqz 另一个是if-nez 这两条指令是相对的

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

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

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

  2.将这两个if-eqz删除掉,不管输入什么,即使是正确的账号名与密码均是弹出登录成功的对线.利用goto语句,直接跳过这两个if-eqz

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

  Android开发学习之路--MAC下Android Studio开发环境搭建

  自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门 ...

  Android破解学习之路(十) 我们恋爱吧 三色绘恋 二次破解

  前言 好久没有写破解教程了(我不会告诉你我太懒了),找到一款恋爱游戏,像我这样的宅男只能玩玩恋爱游戏感觉一下恋爱的心动了.. 这款游戏免费试玩,但是后续章节得花6元钱购买,我怎么会有钱呢,而且身在吾爱 ...

  在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...

  最近好像迷上看小说了,灵域,而且也感觉会看小说了. 话说,今天好冷啊,真怕在路上冻着就冻萌了,寒风赤骨啊. 好想买个帽子.好想让送个帽子. 睡觉.

版权声明

本文仅代表作者观点,不代表立场。
本文系作者授权发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文