Andorid 逆向入门
什么是APK文件呢
首先这里我要承认下我是一个小白,刚入门3个月
我在挖洞的过程中,找到了很多的apk的文件,只知道它是app的安装包,可是不知道能用来干什么,于是就想了解下,我的找了很多的
资料,发现吾爱破解很不错,入门很好理解 https://www.52pojie.cn/thread-408645-1-1.html
所谓apk文件说白了就是象zip,rar等Windows的压缩文件,只不过apk是手机里的压缩文件,那么解压apk文件之后会是什么文件呢,
基本结构成这个样子
但是一般都是有壳的,我们以后再研究脱壳这个东西
apk文件都包含什么呢
1 assets:
《资源目录,一般是存放一些音频和视频的,但是如果是用c++ 游戏引擎开发的,一般资源都会保存在这里》
2 lib:
《so库的存放的位置》
3 META-INF 文件夹:
《存放工程一些属性文件》
4 res:
《资源目录 如果是用java语言开发的,里面的保存的资源很重要》
Dalvik 字节码是什么呢
dalvik 是goole专门为andiord操作系统开发的虚拟机,虽然安卓是用java写的,但是并不应用于java的虚拟机而是用dalvik
VM 注释:你
通过dalvik的字节码我们不能看到来的代码逻辑,这时候需要借助apktools工具等,我们所修改apk的文件是smali文件
那么什么是smali文件呢,他有多重要呢
他是安卓系统的一种汇编语言,各种代码逻辑,我们通常破解一个软件成功登录,就是该的是smali文件
我们搜索的是登录 然后找到它 的id 然后进行修改。
我们再来分析下 加密 的原理
以我的理解就是在元apk源代码也就是smali处进行加密,套上一层壳,需要工具