查看手机framework部分源码

最近工作中发现之前8.0的hook接口在最新的9.0华为手机上无效,但是在原生9.0上有效,说明是华为修改了部分代码,造成了接口不好使,所以想到查看手机 framework 层的源码。

具体操作步骤:

  1. 用 adb 或者 as 的 Device File Explorer导出 system/framework/arm64下的 vdex 文件。

2.利用 vdexExtractor 工具将 vdex 文件转换成标准的 dex 文件:
感谢 vdexExtractor 的作者:
https://github.com/anestisb/vdexExtractor
编译 vdexExtractor,批量导出 dex 文件

git clone https://github.com/anestisb/vdexExtractor
cd vdexExtractor
./make.sh
cd tools/deodex/
./run.sh -i vdex/ -o out-dex/

vdex为从手机导出vdex文件存放的目录,out-dex 为存放输出 dex 的目录。

image.png

转换后的文件放在vdexExtractor_deodexed目录下,都是根据 vdex 按文件夹存放的。

  1. 导出的 dex 文件的 文件 magic number 为 039,借助 dex2jar 将它们转换为 jar 文件。
    感谢 https://github.com/DexPatcher/dex2jar/releases 提供的 2.1 版本,能转化成功。

你可能感兴趣的:(查看手机framework部分源码)