¿Se puede deshabilitar una verificación de firma de código?


9

Escribí un parche / utilidad que deshabilita la funcionalidad predeterminada de OS X de iniciar iTunes cuando se presiona el botón de reproducción. Esta utilidad básicamente modifica el Daemon de control remoto ( rcd) y comenta el comando Apple Script para iniciar iTunes. Esto ha funcionado bien hasta 10.7, pero con 10.8 rcdahora tiene firma de código. El parche ahora se produce Exception Type: EXC_CRASH (Code Signature Invalid)después de que el ejecutable está parcheado.

Obviamente, la comprobación de la firma del código funciona según lo diseñado, pero me preguntaba si alguien tiene alguna idea sobre qué opciones podría tener. ¿Hay alguna forma legítima de desactivar esta verificación en un solo ejecutable? He intentado apagar GateKeeper, pero eso, comprensiblemente, no lo hizo.

¿Alguna otra sugerencia para deshabilitar el botón de reproducción?


3
para firmar necesita hacer esto: sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd

Gracias user48986, eso lo hizo. He actualizado la utilidad.
thebitguru

1
He actualizado la utilidad, pero ¿puedes (user48986) "responder" esta pregunta para que obtengas el crédito :) Aparentemente no puedo marcar un comentario como respuesta.
thebitguru

Hilarantemente, llegué a esta respuesta, mientras resolvía exactamente el mismo problema de la misma manera , sin darme cuenta de que alguien (usted) había tenido la misma idea y ya había hecho lo mismo. Gracias, tanto a user48986 como a @thebitguru. : P
ELLIOTTCABLE

Respuestas:


5

Obtuve el parche para trabajar después de correr sudo spctl --master-disable. Sin embargo, no sé si hay alguna forma de usar spctl para apuntar solo a rcd.

Reemplazar la firma del código con una identidad ad-hoc con sudo codesign -f -s - /System/Library/CoreServices/rcd.app/no parecía funcionar. Editar: pero como lo menciona el usuario 48986, funciona si especifica la ruta al ejecutable, como sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd.


¡Gracias! Creo que quizás la única forma es usar rcd de una versión anterior de OS X: |
thebitguru

2

Para arreglar la firma de, por ejemplo, MirrorPro:

sudo codesign -f -s - /Applications/MirrorPro.app/Contents/MacOS/MirrorPro
/Applications/MirrorPro.app/Contents/MacOS/MirrorPro: replacing existing signature
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.