手记

安卓从开发到逆向(一)登录demo逆向破解

2019-09-16 23:39:298534浏览

大壮老师

2实战 · 8手记 · 9推荐

apk及破解软件下载地址:

链接:https://pan.baidu.com/s/1mHOl9y-LXnETUg3oDAKNvA 
提取码:3ygd

破解要求:

即使用户名密码输入错误,也显示登录成功。

======================================================

准备工具:

开发工具android studio3.4.1,破解工具android killer1.3.1,夜神安卓模拟器

开发步骤:

1、在android studio中创建Project,选择空白activity,填入项目名称,包名,项目保存地址,运行平台等,点击finish,开始创建项目


2、项目创建完成后,会在当前目录中创建好模块app,并展示MainActivity.java文件


3、需要注意三个文件,分别为src\mainAndroidManifest.xml(应用清单文件),java\com\dazhuang\login\MainActivity.java(安卓工程默认主文件),res\layout\activity_main.xml(界面布局文件)

4、修改界面布局文件,编辑出登录demo界面


5、编辑安卓工程默认主文件MainActivity.java,编辑登录逻辑


6、连接夜神模拟器,并运行app,点击android studio的运行键,android studio会自动连接夜神安卓模拟器,并发送app到模拟器上,进行安装和运行



7、根据MainActivity.java文件,我们可以知道,用户名为admin,密码为admin888,当我们输入正确的用户名密码时,app会弹出消息登录成功,否则弹出消息,登录失败。

破解方法:

1、使用android killer反编译app


2、找到MainActivity$login_button.smali


3、修改代码,在.line 40下添加:cond_1

smali代码相关示意详见:

https://github.com/freedom-wy/reverse_android/tree/master/project/app


4、修改判断语句后的执行结果,将cond_0改为cond_1


5、重新编译apk


apk重新编译后,会生成在AndroidKiller_v1.3.1\AndroidKiller_v1.3.1\projects\login-release\Bin下,名称为login-release_killer.apk

6、再次运行,无论输入什么用户名密码,弹出的消息都是登录成功了。

代码参考:

https://github.com/freedom-wy/reverse_android/tree/master/project/login

欢迎交流,一起学习,一起进步。

另外,我在慕课网上主讲课程:

《python爬虫工程师必学--App数据抓取实战》还请各位大神多多支持。


6人推荐
随时随地看视频
慕课网APP

热门评论

strings.xml中的文件修改一下,否则跑不起来:

<resources>
    <string name="app_name">decrypted APP</string>
    <string name="login_name">username</string>
    <string name="login_password">password</string>
    <string name="submit">login</string>
</resources>


查看全部评论