美文网首页
OAT文件的加载

OAT文件的加载

作者: yangweigbh | 来源:发表于2016-12-04 17:26 被阅读187次

1.OAT文件内容

OAT文件其实就是一个elf格式的文件,结构如下

Paste_Image.png

OAT有两个section,一个是oat data section,里面存放了生成的oat的dex files的内容,还有一个是oat exec section,里面存放的是从dex编译出的native代码。

oatdata section的结构

Paste_Image.png Paste_Image.png

2.OAT文件的加载

通过dlopen加载到虚拟内存空间的共享库区域,通过dlsym找到“oatdata”和“oatlastword”,oatdata的地址即为OAT文件里面的oatdata段加载到内存中的开始地址,而符号oatlastword的地址即为OAT文件里面的oatexec加载到内存中的结束地址,通过读取oatdata section中的内容创建出OatFile,OatClass,OatMethod等数据结构

相关文章

  • OAT文件的加载

    1.OAT文件内容 OAT文件其实就是一个elf格式的文件,结构如下 OAT有两个section,一个是oat d...

  • android之oat文件介绍

    oat文件 Android运行时ART的核心是OAT文件。 OAT文件是一种Android私有ELF文件格式,它不...

  • ART、OAT格式介绍与dex文件提取

    dex文件经过dex2oat编译,会生成.art、.oat两个文件,oat是一个android定制的elf文件,原...

  • Android:ART虚拟机运行速度之OAT

    ART虚拟机使用的是oat文件,oat文件其实已经是一种可执行文件了,就跟system/bin下面的文件是同一个类...

  • 对dex2oat机制的一点发现

    众所周知4.4.4开始引入的art会在dex执行前调用dex2oat预编译,把多个dex合并为一个oat文件。 在...

  • android脱壳-修改dex2oat

    android 6.0.1 dex2oat.cc文件Setup函数中 修改如下 参考资料:http://www.m...

  • dex-oat的小知识

    Dalvik-ART-OAT ART兼容Dalvik.也就是说ART 能运行”dex”(Dalvik执行文件).因...

  • SpringBoot中@PropertySource和@Impo

    @PropertySource 加载指定的配置文件 只能加载*.properties文件,不能加载yaml文件 新...

  • ART虚拟机总结

    art虚拟机将dex编译成ota后,生成oat文件,该文件结构包含如下几部分 1header 部分,记录一些met...

  • Spring Boot常见注解

    一、@PropertySource   加载指定的配置文件,一般只能加载properties文件,加载yaml文件...

网友评论

      本文标题:OAT文件的加载

      本文链接:https://www.haomeiwen.com/subject/ikvhmttx.html