我的任务是要对现代Mac操作系统中的PluginKit框架进行彻底的逆向工程,我正在寻找信息而不是从头开始。具体来说,我需要对PluginKit的内部存储,配置布局和格式以及如何对其进行操作,更新和读取有一个不错的了解。紧接着是一年多以前的这篇简短的中篇文章,作者是Aditya Vaidyam。和* OS Internals(由Jonathan Levin编写),没找到其他要看的东西。其他可用来详细描述OSX框架和PluginKit框架的资源?
还有哪些其他资源,指针,技巧和信息?您会建议我在进行这项任务之前先读一下以前的研究吗?


评论

那个帖子的确是我写的。它从较高层次涵盖了NSExtension如何引导和操作的内部,而较少涉及如何处理PlugInKit。实际上,其他资源AFAIK几乎为零,但要抓住一个反汇编程序(前提是您知道一些汇编程序),然后使用二进制文件进城(实际上位于/System/Library/PrivateFrameworks/PlugInKit.framework/Contents/MacOS/PlugInKit) br />
是的,我当然可以对文件进行反向工程,但是在我自己这样做之前,我搜索了可以依靠的现有材料。

@Nirlzr啊,明白了!

#1 楼

我的报价不是针对您的任务,因此,我将尝试回答您的第二个问题。希望这些对您或执行类似任务的人有所帮助。由于您的任务是针对非常特定的主题,因此我将为您提供搜索类似内容的方法,并结合这些详细信息来解决难题。 。因此,这是一个很好的教程,可以帮助您了解平台详细信息(二进制格式等)。

您可以从基本了解Objective-C运行时详细信息开始。当您遇到一些(拆卸)装配时,此信息将非常有用。

对于exp;



通过发送消息进行方法调用

自动参考
计数(保留/释放方法调用)

这篇文章(LLDB和Hopper简介)可能会很有帮助,因为它提供了反汇编Apple UIKit框架的示例。通过使用这种方法,我反编译了PluginKit,但没有关注内部结构。在github页面上

祝你好运

评论


谢谢。已投票。当您说“我反编译了PluginKit”时,您能否详细说明一下?关于您的经历,我能读些什么吗?

– NirIzr
17年9月6日13:40在

实际上并没有那么多,我只是按照指南进行操作,并为PluginKit拆卸了iOS二进制文件。 (MacOS二进制文件位于/ usr / bin / pluginkit)如果在此之前没有问题,我可以提供帮助。休息取决于您要寻找的东西。我认为您需要一个真正的用例让PluginKit理解,做什么以及如何工作。然后,您可以专注于特定部分以获取详细信息,我们可以交流知识。

–权限
17年9月6日在15:44