Interposición de llamadas al sistema OS X.

Necesito interponerme(llamar a mis funciones en lugar de las funciones originales) Algunas llamadas al sistema OS X para superar una falla en una pieza de software de código cerrado.

Preferiblemente, la solución resultante funcionaría bajo 10.5 (Leopard) y más reciente, pero yopodría Ser capaz de requerir 10.6 (Snow Leopard) si el argumento fuera lo suficientemente fuerte.

Preferiblemente, la solución resultante sería un ejecutable, pero podría conformarme con un script.

Preferiblemente, la solución resultante podría interponerse("robar los vectores") incluso después de que se ejecute la aplicación de destino, pero podría conformarme con una tecnología que debe inyectarse a sí misma mientras se carga la aplicación.

Preferiblemente, la solución resultante se desarrollaría en C o C ++, pero podría conformarme con Objective-C o algo más.

Hasta ahora, he experimentado con:

1)DTrace Scripting, que me ha enseñado mucho, pero las limitaciones del lenguaje D(control de flujo limitado, etc.) Haz que sea un gran dolor por lo que estoy haciendo, sin mencionar que el resultado sería un guión, que no es tan ordenado y autónomo como lo que estoy buscando.

2)DYLD_INSERT_LIBRARIES interposición, que es resbaladiza de muchas maneras, pero quizás debido al aplanamiento del espacio de nombres(No pretendo entender profundamente lo que esto significa)Funciona bien contra ejecutables más simples, pero hace que mi aplicación de destino se atasque, incluso cuando construyo una biblioteca que no hace nada que en realidad no interpone ninguna llamada.

Mi última idea es experimentar conmach_star (https://github.com/rentzsch/mach_star), pero primero me detengo aquí para preguntar a la comunidad de desbordamiento de pila que, invariablemente, sabe más que yo ...

... ¿debería estar mirando algo además de mach_star siguiente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta