2012-09-21 11 views
5

Observé que DYLD_INSERT_LIBRARIES ya no funciona en Mountion Lion si la aplicación está codificada con autorizaciones. Por ejemplo:DYLD_INSERT_LIBRARIES no funciona para la aplicación firmada con derechos en Mountain Lion

DYLD_INSERT_LIBRARIES=./mylib.dylib /Applications/Safari.app/Contents/MacOS/Safari 
    dyld: DYLD_ environment variables being ignored because main executeable is code signed with entitlements. 

Sé que esto es probablemente una nueva característica de seguridad adicional a mountion León. ¿Alguien sabe si hay una forma alternativa de hacer algo similar en Mountain Lion? Gracias!

+0

¿SIMBL funciona en Mountain Lion en absoluto? Si es así, podrías intentarlo en su lugar. – nneonneo

Respuesta

4

No hay forma de que DYLD_INSERT_LIBRARIES funcione en aplicaciones de esta naturaleza.

dyld elimina todas las variables de entorno DYLD_ en las aplicaciones que considera restringidas, que incluyen los archivos binarios setuid/setgid y los firmados con derechos particulares. Puedes ver cómo funciona al mirar el dyld source. En particular, processRestricted es responsable de determinar si se deben aplicar las restricciones y pruneEnvironmentVariables realiza el manejo especial de las variables de entorno.

Cuestiones relacionadas