我试图从iOS7.1上的ToneKit框架获取头文件,但是我发现我不能使用类转储,因为框架中没有可执行文件。根据我在一些研究后所发现的,似乎实际的可执行文件就在设备上的dyld_shared_cache中。在阅读了这的文章后,似乎有一些工具可以对缓存进行解密,但是自从iOS 3之后,苹果就实现了ASLR,这使得解密工具无法工作。如何从iOS7.1上的dyld_shared_cache内部提取框架?
我是非常新的越狱ios开发,所以请容忍我。
发布于 2014-03-23 11:11:06
如果您对它们如何获得这些标头感兴趣,那么答案非常简单-- iOS SDK。SDK包含公共和私有框架的ARM二进制文件,因为它们是编译iOS应用程序所必需的。类-转储它们,您将得到所需的标头。ToneKit.framework二进制文件也在其中。
通常您不需要dyld_shared_cache,几乎所有您需要的东西都是在iOS SDK中或者在设备本身(如SpringBoard、其他系统应用程序等)上。
当然,在dyld_shared_cache是唯一可以找到某些二进制文件的地方时,很少会出现这种情况,因为iOS SDK和设备中都缺少这些二进制文件。在这种情况下,我使用艾达。它有免费的演示版本,可以打开dyld_shared_cache文件--你甚至可以在里面打开单独的二进制文件,而不是转储所有东西。你只需要在你的电脑上复制dyld_shared_cache。
发布于 2014-03-23 02:51:37
我认为Elias的类转储-dyld可以帮助你。如果没有,请查看RuntimeBrowser。如果不能做到这一点,即使弱类转储对我来说也是一个非常有用的运行时工具。
https://stackoverflow.com/questions/22585297
复制相似问题