学破解第164天,《逆向环境搭建-安卓逆向概念》学习
## 0x1 安卓系统的架构  1.安卓系统分成四层架构
|应用层| APP应用|
|----| ----|
|应用框架| app基于这层框架开发,开发组件|
|类库/Android Runtime| Dalvik虚拟机执行(.dex)的Dalvik可执行文件 |
|系统内核|Android平台的基础是Linux内核,调用底层Linux内核来执行功能。|
## 0x2 APK打包流程
  1.APK打包流程
!(https://s4.ax1x.com/2022/01/27/7js5RS.png)
  2.编写java文件,通过javac编译成.class文件,再通过dx工具,转化成.dex文件(Dalvik虚拟机可执行),再通过apkbuilder将.dex文件和应用程序的一些其他资源打包,最终变成apk文件。
## 0x3 安卓逆向流程(静态)
  1.安卓逆向流程(静态)
!(https://s4.ax1x.com/2022/01/28/7v2SPI.png)
  2.通过apktool反编译apk文件得到smali文件(Dalvik虚拟机的汇编语言),我们通过修改smali文件,在使用apktool重新编译成apk文件。
## 0x4 安卓逆向流程(动态)
  1.安卓逆向流程(动态)
!(https://s4.ax1x.com/2022/01/28/7vRKkd.png)
  2.有三个HOOK框架,Frida,Objection,Xposed。主要原理是通过动态注入到app程序里。
  3.动态分析调用了哪些库函数,使用了库文件,找到关键点,编写我们的HOOK代码,完成自动化HOOK。 安卓逆向 大佬是从哪里看到这些文章的 感谢分享 感谢分享 感谢楼主分享 学习了 ! 谢谢楼楼,收藏了 安卓逆向学起来 感谢分享 感谢分享,学习了