文章目录
前言
- 前言
- 一、RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析
上一篇博客 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 查找 DexFile 对应的C代码 | dalvik_system_DexFile.cpp 分析 ) 中 , dalvik_system_DexFile.cpp 的 Dalvik_dalvik_system_DexFile_openDexFileNative() 方法中 , 调用了 RawDexFile.cpp 中的 dvmRawDexFileOpen() 方法 ;
一、RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析调用 open 函数 以只读形式 , 打开了 DEX 文件 ;
dexFd = open(fileName, O_RDONLY);
校验 DEX 文件 ;
verifyMagicAndGetAdler32(dexFd, &adler32) = 0) {
if (locked)
(void) dvmUnlockCachedDexFile(optFd);
close(optFd);
}
return result;
}