Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

怎么分析ios/mac系统私有库的二进制文件? #16

Open
ohroy opened this issue Oct 30, 2017 · 0 comments
Open

怎么分析ios/mac系统私有库的二进制文件? #16

ohroy opened this issue Oct 30, 2017 · 0 comments

Comments

@ohroy
Copy link
Owner

ohroy commented Oct 30, 2017

前言

长久以来,对ios下的库framework的概念的了解都十分有限,在我眼里,他基本等同于header+lib的集合,尽管这个理解有问题,但一直没有对我造成什么影响。直到前一段时间,我想搞明白系统安装app时的运行机制,就不得不去分析安装过程。
在这个过程中,遇到了非常多的苦难,直到终于发现了最关键的地方——发现其位于某个私有库中,但我费尽力气,也找不到这个私有库的任何信息,连头文件都没有。
好在,在gayhub里找到了,但是二进制文件我是手机和电脑上都找不着,直到今日——准确来说是直到刚才,才在众多大佬的帮助下,找到了这篇文章http://www.blogfshare.com/decache-dyld-shared-cache.html,理论上已经解决了我的问题,但问题是,我的乞丐本,撑不下啊,这个工具实在不够轻量。

简单的办法

一直以来我都喜欢走些所谓的“捷径”,这时我同样在gayhub上找到了jtool来快速导出库的二进制文件。

jtool下载地址:http://www.newosxbook.com/tools/jtool.tar,下载后解压,然后把jtool放到$PATH下的目录即可。

然后,需要在手机上找到库的缓存文件,他们位于 /System/Library/Caches/com.apple.dyld/下,然后拖下来。

最后,

jtool - name path/to/dyld_shared_cache_armvx

打完,收工。

更简单的办法

经过与众大佬的讨论,发现~/Library/Developer/Xcode/iOS DeviceSupport 里面本来就有各个私有库的bin文件,可以直接使用。

更更简单的办法

其实完全没必要解包,hooper可以直接识别。

hopper

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant