ios逆向(五)动态共享缓存库

在电脑的
"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/UIKit.tbd"
这个文件里显示UIKit在手机如下目录,“/System/Library/Frameworks/UIKit.framework/UIKit”,实际上在这个目录里根本不存在UIKit这个文件。

实际上所有的系统框架都在一个文件,

从iOS3.1开始,为了提高性能,绝大部分的系统动态库文件都打包存放到了一个缓存文件中(dyldsharedcache)

缓存文件路径(ios手机):/System/Library/Caches/com.apple.dyld/dyld_shared_cache_armX

在Mac\iOS中,是使用了/usr/lib/dyld程序来加载动态库

dyld(dynamic loader,动态加载器)

dyld源码

https://opensource.apple.com/tarballs/dyld/

从动态库共享缓存抽取动态库

可以使用dyld源码中的launch-cache/dsc_extractor.cpp

将#if0前面的代码删除(包括#if0),把最后面的#endif也删掉

编译dsc_extractor.cpp

clang++ -o dsc_extractor dsc_extractor.cpp

使用dsc_extractor

./dsc_extractor 动态库共享缓存文件的路径   用于存放抽取结果的文件夹

然后可以在hopper中打开查看分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值