mach_star is an open-source code suite for suppressing, replacing and/or extending Mac OS X functionality at a very low level. Its principal components are
mach_override (replace and/or extend existing functions at runtime) and
mach_inject (dynamically load your code into a running process).
mach_star 1.1.1 (Sun Dec 18 2005) download
General Xcode 2.2 project cleanup.
.xcodeprojXcode 2.2 project files for all of its projects. The old
.xcodeproject files have been left in place, but they aren't maintained and may not work. Xcode 2.2 is the recommended
mach_stardevelopment environment -- Xcode 2.1 had a bug with inter-project dependancies which would cause compilation failure. It works now again in Xcode 2.2.
Inter-project dependancies should working under Xcode 2.2. Any project you pick, you should just be able to hit the "Build" button and everything should Just Work™.
There was a stray reference to my username in one of the project, which causes compilation headaches for some folks.
Bug fix: in
mach_inject_bundle_pid()I no longer call
CFRelease()on the framework bundle reference. Reported by Scott Kevill.
Added some explicit casts now required by gcc 4.
Added this document.
mach_star 1.1 (Wed Apr 06 2005) download
New package added:
mach_inject_bundle. It has a private subproject:
mach_inject_bundle_stub. The stub is a generic reusable implementation of the code that gets squirted across the address spaces, which was always tricky to write.
mach_inject_bundleis an embeddable framework that wraps
mach_injectand the stub with a simple fire-and-forget API.
The "DisposeWindowBeeperOverride" example is replaced by "DisposeWindow+Beep".
The "FinderDisposeWindowBeeperInjector" is replaced by "DisposeWindow+Beep_Injector".
All the text is now wrapped to 80 chars wide. Done to print nicely in Scott Knaster's Hacking Mac OS X Tiger. Probably will undo this word-wrap in the future. We all have widescreens nowadays, right? ;-)
Thanks to Jon Gotow for letting me peek at
SCPatch, which I used as a guide for
mach_inject_bundle. It saved me a bunch of time. Also thanks to Bob Ippolito for
mach_star 1.0 (Wed Jun 18 2003)
- Initial release at MacHack 2003.