Você pode desativar uma verificação de assinatura de código?


9

Eu escrevi um patch / utilitário que desativa a funcionalidade padrão do OS X de iniciar o iTunes quando o botão play é pressionado. Este utilitário basicamente modifica o Remote Control Daemon ( rcd) e comenta o comando Apple Script para iniciar o iTunes. Isso funcionou bem até 10.7, mas com 10.8 rcdagora tem assinatura de código. O patch agora causa Exception Type: EXC_CRASH (Code Signature Invalid)após o patch do executável.

Obviamente, a verificação de assinatura de código está funcionando como projetado, mas eu queria saber se alguém tem alguma idéia sobre quais opções eu posso ter. Existe uma maneira legítima de desativar essa verificação em um único executável? Eu tentei mudar o GateKeeper, mas isso, compreensivelmente, não aconteceu.

Alguma outra sugestão para desativar o botão play?


3
para a assinatura que você precisa fazer isso: sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd

Obrigado user48986, que fez isso. Eu atualizei o utilitário.
Thebitguru

11
Atualizei o utilitário, mas você pode (usuário48986) "responder" a esta pergunta para obter o crédito :) Aparentemente, não consigo marcar um comentário como resposta.
thebitguru

Divertida, eu vim para esta resposta, enquanto resolvendo exatamente o mesmo problema no exatamente da mesma maneira , não percebendo alguém (você) tinha tido a mesma idéia e já fez a mesma coisa. Obrigado, tanto ao usuário48986, como ao thebitguru. : P
ELLIOTTCABLE

Respostas:


5

Coloquei o patch para funcionar depois de executar sudo spctl --master-disable. Não sei se existe alguma maneira de usar spctl para segmentar apenas o rcd.

Substituir a assinatura do código por uma identidade ad-hoc por sudo codesign -f -s - /System/Library/CoreServices/rcd.app/parece não funcionar. Edit: mas como mencionado pelo user48986, funcionará se você especificar o caminho para o executável, como sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd.


Obrigado! Eu acho que talvez a única maneira é usar o rcd de uma versão mais antiga do OS X: |
thebitguru

2

Para corrigir a assinatura, por exemplo, do MirrorPro:

sudo codesign -f -s - /Applications/MirrorPro.app/Contents/MacOS/MirrorPro
/Applications/MirrorPro.app/Contents/MacOS/MirrorPro: replacing existing signature
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.