最近工作中發(fā)現之前8.0的hook接口在最新的9.0華為手機上無效就乓,但是在原生9.0上有效,說明是華為修改了部分代碼噩翠,造成了接口不好使绎秒,所以想到查看手機 framework 層的源碼。
具體操作步驟:
- 用 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 的目錄废登。
轉換后的文件放在vdexExtractor_deodexed目錄下,都是根據 vdex 按文件夾存放的羽戒。
- 導出的 dex 文件的 文件
magic number
為 039易稠,借助 dex2jar 將它們轉換為 jar 文件驶社。
感謝 https://github.com/DexPatcher/dex2jar/releases 提供的 2.1 版本衬吆,能轉化成功逊抡。