Skip to content

Reign in scope - Remove edit and kernel related tooling fully. #67

Description

@0cyn

This project as with most things I worked on several years ago was subject to immense scope creep.

Both the kernelcache tooling and edit behavior were the worst offenders in this regard

kernelcache tooling - This tool was not designed for this; it was made for Mach-O's and Objective-C (and eventually Swift) binaries, and makes certain assumptions regarding those binaries for performance reasons. Implementing kernel tooling is a much more annoying, undocumented moving target that required a ton of hacks and messes in the code that were not worth it and following a lapse in active maintainence are likely useless to most people now anyways

edit tooling - The original goal was to have python reps for every concept in a Mach-O that were fully composable in both directions. This was not architected very well from the outset, and the required amount of work was not reasonable for a single person to complete at all, so this was never fully finished. And then LEIF beat me to it anyways and was in a much better position as a tool to do so. Removing this code and the requirements it imposes on the rest of the codebase would do quite a bit of good for the rest of the codebase.

Regarding the kernelcache tooling:

  • Steps should be taken to ensure a secondary python package could force the addition of a command into the main script
  • A secondary package should be created that serves the existing kernelcache functionality (e.g. ktool-kernel)
  • All issues related to this tooling should be moved there

Regarding the edit functionality:

  • All issues pertaining to this functionality should be closed as not planned
  • The base class used in many places to help with this functionality should be removed along with the code in many places that served to transform the property values to bytearrays.
  • Script commands and references should be removed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions