Мне нужно вставить(вызвать мои функции вместо оригинальных функций)некоторые вызовы системы OS X для преодоления недостатка в программном обеспечении с закрытым -исходным кодом.
Желательно, чтобы полученное решение работало под 10.5 (Leopard )и новее, но я мог бы потребовать 10.6 (Snow Leopard ), если бы аргументы были достаточно сильными.
Предпочтительно, чтобы полученное решение было исполняемым, но я мог бы согласиться на сценарий.
Желательно, чтобы полученное решение могло вставлять("украсть векторы")даже после запуска целевого приложения, но я мог бы согласиться на технологию, которая должна внедряться во время загрузки приложения.
Желательно, чтобы полученное решение было разработано на C или C++, но я мог бы остановиться на Objective -C или на чем-то другом.
До сих пор я экспериментировал с:
1)Скрипты DTrace , которые многому меня научили, но ограничения языка D(ограниченное управление потоком и т. д.)сделать это большой проблемой для того, что я делаю, не говоря уже о том, что результатом будет сценарий, который не такой аккуратный и самодостаточный -, как то, к чему я стремлюсь.
2)DYLD _INSERT _LIBRARIES интерпозиция, которая во многих отношениях гладкая, но, возможно, из-за выравнивания пространства имен(Не буду делать вид, что глубоко понимаю, что это значит), он хорошо работает с более простыми исполняемыми файлами, но заставляет мое целевое приложение задыхаться, даже когда я создаю ничего -ничего не выполняющую библиотеку, которая на самом деле не вставляет никаких вызовов.
Моя последняя идея - поэкспериментировать со звездой Маха _(https://github.com/rentzsch/mach_star).,но сначала я остановлюсь здесь, чтобы спросить сообщество Stack Overflow, которое неизменно знает больше, чем я...
...должен ли я смотреть дальше на что-то, кроме звезды mach _?