越狱了iphone se ,尝试提出dyld_shared_cache_arm64文件里的库,发现现有的工具全都不行啊,Source Browser
用了这个最新的代码也不行。
你试试这个,我编译好了,提取arm64e的没问题
dsc_extractor
老哥你改了些啥?
你搜索一下第一个就是啊:动态库共享缓存(dyld shared cache)
不知道为啥,一直报错提不出来
Error: unrecognized dyld shared cache magic
dyld_shared_cache_extract_dylibs_progress() => -1
我没遇到过这个问题,但根据源码,看起来像是识别不了你提供的文件:
dylib_maker_func* dylib_create_func = nullptr;
if ( strcmp((char*)mapped_cache, "dyld_v1 i386") == 0 )
dylib_create_func = dylib_maker<x86>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 x86_64") == 0 )
dylib_create_func = dylib_maker<x86_64>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 x86_64h") == 0 )
dylib_create_func = dylib_maker<x86_64>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 armv5") == 0 )
dylib_create_func = dylib_maker<arm>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 armv6") == 0 )
dylib_create_func = dylib_maker<arm>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 armv7") == 0 )
dylib_create_func = dylib_maker<arm>;
else if ( strncmp((char*)mapped_cache, "dyld_v1 armv7", 14) == 0 )
dylib_create_func = dylib_maker<arm>;
else if ( strcmp((char*)mapped_cache, "dyld_v1 arm64") == 0 )
dylib_create_func = dylib_maker<arm64>;
#if SUPPORT_ARCH_arm64e
else if ( strcmp((char*)mapped_cache, "dyld_v1 arm64e") == 0 )
dylib_create_func = dylib_maker<arm64>;
#endif
#if SUPPORT_ARCH_arm64_32
else if ( strcmp((char*)mapped_cache, "dyld_v1arm64_32") == 0 )
dylib_create_func = dylib_maker<arm64_32>;
#endif
else {
fprintf(stderr, "Error: unrecognized dyld shared cache magic.\n");
munmap(mapped_cache, (size_t)statbuf.st_size);
return -1;
}
你是在这个/System/Library/Caches/com.apple.dyld目录下找的dyld_shared_cache_armXX吗
我用了几个版本的dyld,shared文件用ifunbox和ssh都导出过,一直不行,无语了
看来只能整12了
你的是什么问题,也报这个错?
刚换了个iOS12.4.6的手机可以提取出来,应该是iOS13.3及以上的系统提不出来
问一下,13.4.1是通过哪个越狱的,不完美越狱吧?
弱弱问一句 有人成功编译成 dyld 过吗?
老哥 你成功 build 整个 dyld 嘛. 之前尝试了很久 不能成功
原来你就是tangcuchaopaigu
到这个路径看看
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/
模拟器用的二进制,不是ARM但是桩都在。
没有,一堆error
从ipsw提取的shared cache可以正常提取,试试看。
13.2用dsc_extractor可以提取,但是在ida7.0打开的库显示的是0x196F8B260或者MEMORY[0x196F8B260]这种的
新手,请问这个是啥意思,从ipsw下载固件然后解压也有dyld这文件?
另外我按脚本能解出来,但是貌似地址没修复啥的
(比如class-dump不行),这个方式能解决不