对 PluginKit MacOS 框架进行逆向工程

逆向工程 操作系统 苹果系统
2021-07-03 08:59:27

我的任务是对现代 Mac 操作系统中的 PluginKit 框架进行彻底的逆向工程工作,我正在寻找开始的信息,而不是从头开始。

更具体地说,我需要对 PluginKit 的内部存储和配置布局和格式,以及它如何被操纵、更新和读取有一个很好的理解。

我设法想出的唯一资源是一年多前的这篇中等短篇文章,作者是一个叫 Aditya Vaidyam 的人。

我在 Amit Singh 的 Mac OSX Internals 或 Jonathan Levin 的 MacOS 和 *OS Internals 中没有找到相关信息(根据目录),也没有找到任何其他信息。

因此,我的问题有两个方面:

  1. 是否有任何其他资源可以专门详细描述 OSX 框架和 PluginKit 框架?
  2. 在开始这项任务之前,您建议我阅读哪些其他资源、指示、技巧和以前的研究?
1个回答

我的报价不会针对您的任务,因此我将尝试回答您的第二个问题。我希望这些对您或任何有类似任务的人有所帮助。由于您的任务是关于一个非常具体的主题,我将为您提供类似的搜索,并通过结合这些细节来解决难题。

不知道大家有没有之前的MacOS/iOS倒车经验。所以是一个很好的教程,可以开始了解平台细节(二进制格式等)

您可以从对 Objective-C 运行时细节的基本了解开始。当您遇到一些(分解)组装时,此信息将非常有用

对于 exp;

这篇文章(LLDB 和 Hopper 简介)非常有帮助,因为它提供了一个 Apple 的 UIKit 框架的反编译示例。通过使用这种方法,我反编译了 PluginKit,但没有关注内部结构。

您还可以通过Runtime Browser查看 PluginKit 的接口和搜索方法来关注,或者查看 github 页面上提供的预生成接口

祝你好运