dex文件加载流程(一) dex文件加载系列文章链接: PathClassLoader、DexClassLoader dex文件加载流程(一) dex文件加载流程(二) dex文件加载流程(三) InMemoryDexClassLoader InMemoryDexClassLoader加载内存dex的流程 一、PathClassLoader和DexClassLoaderAndroid启动APP时,会加载dex文 2023-11-20 Android #Android源码解析 #dex
Android中dex odex oat vdex art文件格式区别 1. dexdex是Android平台的可执行文件。java文件先编译成class文件(java字节码),再通过dx或d8工具转换成dex文件。 class文件时java虚拟机的可执行文件,与之相对的,dex文件是Dalvik虚拟机的可执行文件,dex文件中存放的自然就是Dalvik字节码。 Android应用安装包,即apk文件中就含有一个或多个dex文件,命名如下: classes.dex 2023-11-17 Android
ODEX文件格式解析 一、什么是odex文件1.1 定义odex文件是Android上的可执行文件。odex文件是由apk中的dex文件优化生成的,存放在cache/dalvik-cache目录下或者与apk同一目录下,最后删除apk文件中的classes.dex文件。 注意!!!不要被文件后缀名骗了! .dex后缀的文件可以是DEX文件或者OAT文件,.odex不再是ODEX文件(应该是Android 5 2023-11-17 Android #Android #odex
dex文件格式解析 一、dex文件中的数据结构1.1 数据类型 类型 含义 u1 表示1byte的无符号数 u2 表示2bytes的无符号数 u4 表示4bytes的无符号数 u8 表示8bytes的无符号数 sleb128 有符号LEB128,可变长度为1~5bytes uleb128 无符号LEB128,可变长度为1~5bytes uleb128p1 =无符号LEB12 2023-11-10 Android #Android #dex
Android中的Dalvik和ART虚拟机 DalvikDalvik虚拟机(Dalvik Virtual Machine),简称 DVM,是 Google 专门为 Android 平台开发的虚拟机,它运行在 Android 运行时库中。 DVM 与 JVM 的区别 架构不同 JVM基于栈架构,需要频繁地从栈上读写数据,因此需要更多的指令分派和内存访问次数,这样就会耗费不少 CPU 时间。 DVM基于寄存器架构,数据的访问通过寄存器间的直接传 2023-09-13 Android #Android
20230913日报 延续昨天的DVM和ART的学习笔记,然后又学习了apk的打包流程,之后是apk的安装流程源码分析,没想到这部分很长很长,可以把这部分分为3部分: PackageInstaller应用的初始化,这部分在UI界面上体现就是我们常看到的安装确认界面,包含需要使用到的权限信息等。 PackageInstaller安装apk,这部分并不是真正的安装,而是创建一个注册一个InstallEventReceiv 2023-09-13 日报 > 2023年09月 #日报
20230912日报 今天跟着书籍学习了一下DVM、ART以及smali语法,反复看了两三遍,但说实在的,肯定还是记不住的。然后也是对这部分学习写博客,只完成了smali语法的学习笔记,DVM和ART的部分才构思了一点,写文章挺费时间的,但是必须得写,不能养成惰性! 2023-09-12 日报 > 2023年09月 #日报
smali语法学习 一、类型Dalvik 字节码只有两种类型,基本类型和引用类型。Dalvik 使用这两种类型来表示 Java 语言的全部类型,除了对象与数组属于引用对象外,其他的 Java 类型都是基本类型。 语法 含义 V void,只用于返回值类型 Z boolean B byte S short C char I int J long F float D doubl 2023-09-12 Android #Android #smali
20230911日报 啥也没干成的一天。 延续昨天的jeb工具的问题,换了好几个版本的jeb,但都没用,要么是附加界面都打不开(直接空白),要么就是显示出了寄存器,但是寄存器的值全为空,详见jeb动调出现寄存器全为void情况 - 『移动安全讨论求助区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn。真够折磨人的! 然后是科研,逆向微信的小程序搜索功能,我的方法是通过开发助手 2023-09-11 日报 > 2023年09月 #日报
20230910日报 今天干的事情有点少,收工也比以往早点,毕竟是星期天,让自己放松一下。 回顾一下,还是在nssctf上写点mobile题,题目质量稍微好一丢丢,遇到一个有趣的事情,就是jadx工具分析某道题的apk,发现反编译出来的结果存在函数为空的情况,但是实际上并不是!用jeb工具分析apk就不存在这种情况。所以这是为什么呢,jadx工具比jeb工具拉?我们不讨论工具的原因,如果出现这种情况,也许需要靠dump 2023-09-10 日报 > 2023年09月 #日报