Чи можете вимкнути перевірку підпису коду?


9

Я написав патч / утиліту, яка вимикає функціональні можливості OS X запускати iTunes при натисканні кнопки відтворення. Ця утиліта в основному змінює Daemon Remote Control ( rcd) і коментує команду Apple Script для запуску iTunes. Це працювало чудово до 10,7, але з 10,8 rcdтепер має підпис коду. Тепер патч викликає Exception Type: EXC_CRASH (Code Signature Invalid)після виправлення виконуваного файлу.

Очевидно, перевірка підпису коду працює як розроблено, але мені було цікаво, чи є у когось ідеї щодо можливих варіантів. Чи є законний спосіб вимкнути цю перевірку на одному виконаному файлі? Я спробував повернути GateKeeper, але це, зрозуміло, не вдалося.

Будь-які інші пропозиції щодо відключення кнопки відтворення?


3
для підписання вам потрібно зробити це: sudo codeign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd

Дякую user48986, що це вдалося. Я оновив утиліту.
thebitguru

1
Я оновив утиліту, але чи можете ви (user48986) "відповісти" на це питання, щоб отримати кредит :) Мабуть, я не можу позначити коментар як відповідь.
thebitguru

Весело, я прийшов до такої відповіді, при вирішенні точно такий же проблеми в тому ж чином , не розуміючи , хто - то (ви) мали ту ж ідею , і вже зробили те ж саме. Дякуємо як користувачеві48986, так і @thebitguru. : P
ELLIOTTCABLE

Відповіді:


5

Я отримав пластир для роботи після запуску sudo spctl --master-disable. Я не знаю, чи є спосіб використання spctl для націлювання лише на rcd.

Заміна підпису коду спеціальною ідентичністю на sudo codesign -f -s - /System/Library/CoreServices/rcd.app/, схоже, не працює. Редагувати: але як зазначає user48986, він працює, якщо вказати шлях до виконуваного файлу, наприклад sudo codesign -f -s - /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd.


Дякую! Я думаю, що, можливо, єдиним способом є використання rcd зі старої версії OS X: |
thebitguru

2

Щоб виправити підпис, наприклад, MirrorPro:

sudo codesign -f -s - /Applications/MirrorPro.app/Contents/MacOS/MirrorPro
/Applications/MirrorPro.app/Contents/MacOS/MirrorPro: replacing existing signature
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.