使用 dsc_extractor 导出 dyld_shared_cache_arm64

iOS系统的全部Framework二进制被打包成一个cache文件,位于 /System/Library/Caches/com.apple.dyld 目录下,我们要想查看某个系统库的二进制需要将 dyld_shared_cache_arm64/dyld_shared_cache_armv7s 文件解包,导出各个库的二进制。

网上帖子大都是用 dyld_decache export the dyld_shared_cache_armv7s . but 但是这个工具不支持Arm64.... 

好在苹果有另外的工具导出 dyld_shared_cache_arm64。

下面跟我一起操作导出 dyld_shared_cache_arm64, 非常简单

1. 下载 dyld-551.4.tar , 解压

cd dyld-551.4/launch-cache
open .

2. 更改 dsc_extractor.cpp 最后一个 #if 条件编译宏, 从 #if 0 改为 #if 1 (第653行)

-#if 0
+#if 1

3. 编译 dsc_extractor

clang++ -o dsc_extractor dsc_extractor.cpp dsc_iterator.cpp

 这时得到了二进制的 dsc_extractor

4. 导出

./dsc_extractor path/to/dyld_shared_cache_arm64 path/to/outputdir

 All Done

完成!

参考:

  iosre

原文地址:https://www.cnblogs.com/ciml/p/9876136.html