实验目的
- 理解安卓静态分析破解概念
- 掌握安卓移动设备基础知识如:smali语法、逻辑判断
- 掌握安卓移动设备工具APKIDE的使用
实验环境
- 模拟器:夜神模拟器(OR 蓝叠模拟器)
- 使用工具:APKIDE
原理讲解
-
通过Dalvik的字节码我们不能直接看到原来的逻辑代码,这时需要借助如Apktool或dex2jar+jd-gui工具来帮助查看。最终我们修改APK需要操作的文件是.smali文件,而不是对导出来的Java文件进行处理。
-
安卓静态分析破解的大致思路大致如下:
1、安装apk后进行一定程度的观察和使用;
2、使用工具反编译apk,然后找到之前使用的一些关键词,查看关键词的位置,然后找到对应的smali文件;
3、对smali文件进行观察,要点就是找逻辑判断语句及跳转,分析代码后手动修改逻辑,从而控制我们想要执行的语句。如果看不到smali可以使用工具中的java还原查看原生的java代码;
4、完成后保存,再编译,运行破解后的app应用,查看是否破解成功。
实验步骤
- 在Android模拟器安装好APK并尝试输入任意值点注册后,会提示:无效用户名或注册码。