¿Cómo interponer dinámicamente funciones C de Python en Linux (sin LD_PRELOAD)?

¿Cómo lo hago, en tiempo de ejecución (noLD_PRELOAD), interceptar / enganchar una función C comofopen() en Linux, a la Detours para Windows? Me gustaría hacer esto desde Python (por lo tanto, supongo que el programa ya está ejecutando una máquina virtual CPython) y también redirigir al código Python. Estoy bien con solo conectar funciones de biblioteca compartida. También me gustaría hacer esto sin tener que cambiar la forma en que se ejecuta el programa.

Una idea es rodar mi propia herramienta basada enptrace()o al reescribir el código encontrado condlsym() o en el PLT, y la orientaciónctypesgeneradas por C funciones invocables, pero pensé en preguntar aquí primero. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta