apple developer最新的就行,把if0改if1就行了
自己下载个固件即可。
大大你好我在編譯的時候,出現一個奇怪的錯誤:
dsc_extractor.cpp:42:10: fatal error: ‘Architectures.hpp’ file not found
請問要去哪裡補這個檔案?
抱歉我自己找到解答了,要下載整個tar.gz包 而不是只下載dsc_extractor.cpp的檔案就好,犯蠢了!
Thank you,it’s all right and help to me dump private framework.
今天学习到这里,看到狗神的帖子遇到些问题。把解决问题的方式共享到这里
问题一:
leo-MacBook-Pro:launch-cache leo$ patch < dsc_extractor.patch
patching file dsc_extractor.cpp
patch unexpectedly ends in middle of line
patch: **** unexpected end of file in patch
原处:
-#if 0
+/* #if 0 */
修改成
-#if 1
+/* #if 1 */
在+/* #endif */ 后 按下回车,添加一行
再次运行
patch < dsc_extractor.patch
问题二:
leo-MacBook-Pro:launch-cache leo$ clang++ -o dsc_extractor dsc_extractor.cpp dsc_iterator.cpp
In file included from dsc_extractor.cpp:51:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ext/hash_map:213:5: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to
<unordered_map> [-W#warnings]
# warning Use of the header <ext/hash_map> is deprecat...
^
dsc_extractor.cpp:232:20: error: assigning to 'char *' from
incompatible type 'const char *'
...while ( (slash = strchr(afterSlash, '/')) != NULL ) {
^~~~~~~~~~~~~~~~~~~~~~~
dsc_extractor.cpp:460:2: error: unterminated conditional
directive
#if 0
^
1 warning and 2 errors generated.
原处:230行
const char* afterSlash = &dirs[1];
修改成:
char* afterSlash = &dirs[1]; 去除const
原处:460行
#if 0
修改成:
#if 1
原处:488行
/* #endif */
修改成:
#endif 放开注释
再次运行 clang++ -o dsc_extractor dsc_extractor.cpp dsc_iterator.cpp
哥们给力 666
thanks a lot
save my time
所有的库都成功导出来了,但使用class-dump尝试从这些库中导出头文件却失败了,用ida能打开,但也基本看不到OC的方法实现,很奇怪,有哪位解释下么?
有乱七八糟的偏移问题需要手动修复。不过现在ida和hopper都支持直接打开dyld cache了不用折腾这个了
是的,打开是没有问题的,但在里面看不到预期的OC方法实现,方法对应的字串倒是能看到,但函数的具体实现就找不到了。难不成这些库里的OC函数实现现在都是用runtime动态添加到类对象里面去的么?
patching file dsc_extractor.cpp
Hunk #2 FAILED at 457.
Hunk #4 succeeded at 485 with fuzz 2.
1 out of 4 hunks FAILED – saving rejects to file dsc_extractor.cpp.rej
这个是什么问题?
看这个啊
下载了一个处理好的,直接可以提取了 1470626669866028.zip (1.6 MB)
直接执行命令提取:./dsc_extractor/dyld-210.2.3/launch-cache/dsc_extractor ./dyld_shared_cache_arm64 ./binaries/
提取完之后, class-dump 怎么错误,
MacBook-Pro:MobilePhoneSettings.bundle kai$ class-dump --arch arm64 -H MobilePhoneSettings -o ./Header
2019-03-07 10:49:00.624 class-dump[23292:1302696] Warning: This file does not contain any Objective-C runtime information.
Hopper可以反编译
因为decache出来的依旧不是完全修复的orz
orz 是指 二进制文件? 那是哪个环节有问题?
orz 不是给跪了的意思吗