文章目录

  • 前言
  • 一、搜索 dex2oat 源码
  • 二、dex2oat.cc#main 主函数源码

前言

在 【Android 逆向】ART 脱壳 ( DexClassLoader 脱壳 | exec_utils.cc 中执行 Dex 编译为 Oat 文件的 Exec 和 ExecAndReturnC函数 ) 博客中 , 将 dex 文件编译为 oat 文件 , 编译过程是由 dex2oat 可执行程序完成的 , 这是一个有 main 函数的可执行程序 ;

一、搜索 dex2oat 源码


进入源码搜索页面 http://aospxref.com/android-8.0.0_r36/ ,

" Project " 中 选中所有的模块 , 在 " Full Search " 中 , 搜索 " dex2oat " , 即可搜索出相关的源码 ;

AOSP 搜索方法 : 此处可以搜索可以选择 声明 Definition , 变量或字符串 Symbol , 文件路径 File Path , 历史 History , 类型 Type 等搜索类型 , 选择 " Full Search " 可以以所有搜索类型为依据 ;

此处搜索出的 dex2oat 源码路径是 /art/dex2oat/dex2oat.cc ;

二、dex2oat.cc#main 主函数源码


dex2oat.cc#main 主函数中 , 调用了 art::Dex2oat 方法 , 执行 oat 文件编译操作 ;

dex2oat.cc#main 主函数源码 :

int main(int argc, char** argv) {int result = static_cast<int>(art::Dex2oat(argc, argv));// 一切都已完成,请在此处显式退出,以避免运行占用时间的运行时析构函数// 时间(bug 10645725),除非我们是调试版本或在valgrind上运行。注:Dex2Oat类// 在这种情况下,不应破坏运行时。if (!art::kIsDebugBuild && (RUNNING_ON_MEMORY_TOOL == 0)) {_exit(result);}return result;
}

源码路径 : /art/dex2oat/dex2oat.cc#main

【Android 逆向】ART 脱壳 ( dex2oat 脱壳 | aosp 中搜索 dex2oat 源码 | dex2oat.cc#main 主函数源码 )相关推荐

  1. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | dvmDexFileOpenPartial | dexFileParse | 脱壳点 | 获取 dex 文件在内存中的首地址 )

    文章目录 前言 一.DexPrepare.cpp 中 rewriteDex() 方法分析 二.DvmDex.cpp 中 dvmDexFileOpenPartial() 方法分析 ( 脱壳点 ) 三.D ...

  2. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmContinueOptimizati() 函数分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmContinueOptimizati() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DEX 优化流程分析 | D ...

  3. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...

  4. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexPathList 中根据 File 加载 DexFile | loadDexFile 分析 )

    文章目录 前言 一.根据 File 加载 DexFile 二.DexPathList.loadDexFile 函数分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLo ...

  5. 【Android 逆向】整体加固脱壳 ( 脱壳点简介 | 修改系统源码进行脱壳 )

    文章目录 一.脱壳点简介 二.修改系统源码进行脱壳 一.脱壳点简介 在上一篇博客 [Android 逆向]整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 rewriteD ...

  6. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )

    文章目录 前言 一.RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLoader 加载 ...

  7. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 查找 DexFile 对应的C代码 | dalvik_system_DexFile.cpp 分析 )

    文章目录 前言 一.查找 DexFile 对应的 C++ 代码 1.根据 Native 文件命名惯例查找 C++ 代码 2.根据方法名查找 二.dalvik_system_DexFile.cpp 源码 ...

  8. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexFile loadDexFile 函数 | 构造函数 | openDexFile 函数 )

    文章目录 前言 一.DexFile.loadDexFile 函数分析 二.DexFile 构造函数分析 三.DexFile.openDexFile 函数分析 前言 上一篇博客 [Android 逆向] ...

  9. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexPathList 构造函数分析 | makeDexElements 函数分析 )

    文章目录 前言 一.DexPathList 构造函数分析 二.DexPathList.makeDexElements 函数分析 三.Element 类分析 前言 上一篇博客 [Android 逆向]整 ...

最新文章

  1. React Native之ViewPagerAndroid跳转页面问题
  2. 中职 学生学php学什么区别,职业高中和中专的区别是什么?哪个学历高
  3. 超赞的贪吃蛇、吃豆人和数字华容道等童年小游戏1行Python代码就能玩
  4. java+jsp+mysql网页制作总结(1)
  5. camera 输入数据格式 lcd 显示原理
  6. 计算机网络技术基础教学内容,计算机网络技术基础
  7. 张开双臂迎接“云时代“的到来
  8. 编程一小时 code.org [六一关注]
  9. c mysql用户登录_SQL语句及5.7.2 mysql 用户管理 c_G
  10. “明年AI会如何?”英伟达问了13位不同行业的专家
  11. python软件下载安装百度网盘-Python自动化测试视频教程【百度云盘下载】
  12. 监控易:智慧高校一体化综合运维解决方案
  13. java 名片通讯录,jsp实现通讯录系统
  14. 射频微波天线知识点整理
  15. Win10系统中英文切换
  16. 使用纯文本方式编写软件设计文档
  17. 基于MATLAB的运动目标检测系统
  18. pentaho server 9.2 配置mysql数据源
  19. 点亮了中行U盾12864屏线 12液晶,附12864详细手册
  20. 【9106】天使的起誓

热门文章

  1. [php-src]扩展中封装业务与 call_user_function 的使用建议
  2. CentOS7内核升级
  3. 丢失或损坏NDF文件如何附加数据库
  4. docker-machine为节点安装指定版本的docker-ce的思路
  5. jedis操作redis(一)
  6. Android得到控件在屏幕中的坐标
  7. echarts X轴数据显示不全问题
  8. 原生js封装二级城市下拉列表
  9. jquery-ui里日期插件的使用
  10. 【后缀自动机】SPOJ 1812-LCSII