rentzsch.com: tales from the red shed

mach_inject

mach_inject is an open-source package (BSD-style license), coded in C to the Mach API, which allows you to "inject" code into another process. "Injection" means both 1) copying over the necessary code into the target's address space and 2) remotely creating a new thread to execute the code.

The code is hosted by Extendamac and comes with doxygen API documentation.

mach_inject is most handy when coupled with mach_override, which allows you to override functionality of running applications, much like Mac OS 9-style System Extensions of yore.

Date Entry
Thursday, July 03, 2003: mach_inject
Thursday, July 03, 2003: Slides: Dynamically Overriding Mac OS X
Thursday, July 03, 2003: Dynamic Override Example
Tuesday, October 07, 2003: mach_inject and mach_override Support at Extendamac
Saturday, February 14, 2004: mach_inject and mach_override Users
Thursday, June 24, 2004: AdHoc 2004 Session Posted
Tuesday, July 06, 2004: Rich Wareham on mach_inject
Thursday, February 03, 2005: pyject
Monday, June 13, 2005: Death from Above 1979: mach_star x86
Monday, June 13, 2005: mach_* 1.1
Monday, July 18, 2005: Hacking Mac OS X Tiger
Tuesday, September 20, 2005: mach_* x86 Update
Sunday, December 18, 2005: mach_star 1.1.1
Sunday, December 25, 2005: mach_star 1.2