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:
Regarding the edit functionality:
This project as with most things I worked on several years ago was subject to immense scope creep.
Both the kernelcache tooling and
editbehavior were the worst offenders in this regardkernelcachetooling - 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 anywaysedittooling - 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:
ktool-kernel)Regarding the edit functionality: