Вставка системных вызовов OS X

Мне нужно вставить(get my functions called instead of the original functions) некоторые системные вызовы OS X устраняют недостатки в части программного обеспечения с закрытым исходным кодом.

Предпочтительно, чтобы полученное решение работало под 10,5 (леопард) и новее, но яmight быть в состоянии потребовать 10,6 (снежный барс), если аргумент был достаточно сильным.

Предпочтительно, чтобы полученное решение было исполняемым, но я мог бы согласиться на сценарий.

Предпочтительно, чтобы полученное решение могло быть вставлено("steal the vectors") даже после запуска целевого приложения, но я мог бы согласиться на технологию, которая должна внедряться во время загрузки приложения.

Предпочтительно, чтобы полученное решение было разработано на C или C ++, но я мог бы согласиться на Objective-C или что-то еще.

До сих пор я экспериментировал с:

1) DTrace сценариев, который научил меня многому, но ограничения языка D(limited flow control, etc.) сделайте это основной болью за то, что я делаю, не говоря уже о том, что результатом будет сценарий, который не будет таким аккуратным и самодостаточным, как то, что я снимаю.

2) DYLD_INSERT_LIBRARIES Интерпозиция, которая скользкая во многих отношениях, но, возможно, из-за выравнивания пространства имен(I won't pretend to deeply understand what this means)он хорошо работает с простыми исполняемыми файлами, но заставляет мое целевое приложение задыхаться, даже когда я создаю бесполезную библиотеку, которая фактически не вставляет какие-либо вызовы.

Моя последняя идея - экспериментировать сmach_star (https://github.com/rentzsch/mach_star), но я остановился здесь сначала, чтобы спросить сообщество переполнения стека, которое неизменно знает больше, чем я ...

... я должен смотреть на что-то кроме mach_star дальше?

Ответы на вопрос(1)

Ваш ответ на вопрос