Bisakah Anda menonaktifkan pemeriksaan tanda tangan kode?

9

Saya menulis tambalan / utilitas yang menonaktifkan fungsionalitas default OS X untuk memulai iTunes ketika tombol play ditekan. Utilitas ini pada dasarnya memodifikasi Remote Control Daemon ( rcd) dan mengomentari perintah Apple Script untuk memulai iTunes. Ini telah bekerja dengan baik hingga 10.7, tetapi dengan 10.8 rcdsekarang memiliki tanda tangan kode. Patch sekarang menyebabkan Exception Type: EXC_CRASH (Code Signature Invalid)setelah executable di-patch.

Jelas, pemeriksaan tanda tangan kode berfungsi seperti yang dirancang, tapi saya bertanya-tanya apakah ada yang punya ide tentang opsi apa yang mungkin saya miliki. Apakah ada cara yang sah untuk mematikan pemeriksaan ini pada satu executable? Saya telah mencoba memutar GateKeeper, tetapi itu, dimengerti, tidak melakukannya.

Ada saran lain untuk menonaktifkan tombol putar?

thebitguru
sumber
3
untuk penandatanganan Anda perlu melakukan ini: sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd
Terima kasih user48986, itu berhasil. Saya telah memperbarui utilitas.
thebitguru
1
Saya telah memperbarui utilitas, tetapi bisakah Anda (user48986) "menjawab" pertanyaan ini sehingga Anda mendapatkan kredit :) Tampaknya saya tidak dapat menandai komentar sebagai jawaban.
thebitguru
Meriah, saya datang ke jawaban ini, sementara memecahkan masalah yang sama persis di cara yang sama persis , tidak menyadari seseorang (Anda) telah memiliki ide yang sama dan sudah melakukan hal yang sama. Terima kasih, baik untuk user48986, dan @ thebitguru. : P
DAPAT DILARANG

Jawaban:

5

Saya mendapatkan patch untuk bekerja setelah berjalan sudo spctl --master-disable. Saya tidak tahu apakah ada cara untuk menggunakan spctl hanya menargetkan rcd.

Mengganti tanda tangan kode dengan identitas ad-hoc dengan sudo codesign -f -s - /System/Library/CoreServices/rcd.app/tampaknya tidak berhasil. Edit: tetapi seperti yang disebutkan oleh user48986, itu berfungsi jika Anda menentukan path ke executable, seperti sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd.

Lri
sumber
Terima kasih! Saya pikir mungkin satu-satunya cara adalah menggunakan rcd dari versi OS X yang lebih lama: |
thebitguru
2

Untuk memperbaiki tanda tangan misalnya MirrorPro:

sudo codesign -f -s - /Applications/MirrorPro.app/Contents/MacOS/MirrorPro
/Applications/MirrorPro.app/Contents/MacOS/MirrorPro: replacing existing signature
BYTE RIDER
sumber