dsc_extractor的安装
首先我们可以自己去创建文件夹下面,然后去进行安装,安装完成之后编译得到可执行文件就可以了,下面就说一下步骤
- 1、找个目录创建一个文件夹 利用命令行工具输入命令 mkdir dsc_extractor
- 2、进入到这个目录下 cd dsc_extractor
- 3、通过wget进行安装 wget http://opensource.apple.com/tarballs/dyld/dyld-210.2.3.tar.gz 如果我们没有wget的话,可以先去通过brew去下一个 直接输入brew install wget,wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合
- 4、tar xvf dyld-210.2.3.tar.gz 解压压缩包其中参数x代表的就是解压,v就是解压或者压缩过程中是否电视文件,参数f就是我们需要自己要去指定文件名,f的后面不能再接其他参数了
- 5、cd dyld-210.2.3/launch-cache/ 然后我们再在命令行输入 touch dsc_extractor.patch
- 6、把这个网址里面的内容拷贝到dsc_extractor.patch文件当中
-
7、输入patch < dsc_extractor.patch,如果报错下面的错的话,我们需要这么做
将dsc_extractor.patch文件中的下面的内容-#if 0
+/* #if 0 */
改成这样的,也就是说就是把0改成1
-#if 1
+/* #if 1 */ 然后就是在+/* #endif */ 后 按下回车,添加一行,然后再次运行,可能会报下面的错误,但我直接忽略好像没什么问题 
-
8、执行clang++ -o dsc_extractor dsc_extractor.cpp dsc_iterator.cpp 命令,如果会报下面的错误的话,我们又要去解决
将dsc_extractor.cpp文件当中的
const char* afterSlash = &dirs[1];
改成下面的,其实就是去掉了const
char* afterSlash = &dirs[1];
然后再将
#if 0
修改为
#if 1
还有就是将下面的注释给打开
/* #endif */
也就是变成这样子
#endif
然后我们再次运行,可能会报一个如下所示的警告,但其实不要紧,因为可执行文件已经生成了
然后我们就可以去利用dsc_extractor去进行将苹果把Framewrok和privateFramework混合在dyld_shared_cache_armx文件下的二进制文件给提取出来了