OS X严重的代码签名应用程序仍然没有警告启动

Tom*_*Tom 6 macos xcode code-signing

我的OS X应用程序已通过修改主可执行文件而被破解.它已使用有效的开发者ID进行签名.

在默认的OS X安装上启动此破解版本时,我期待一些警告,因为代码签名无效.我很惊讶它仍然没有任何问题与GateKeeper默认规则"App Store或仅验证开发"一起启动

为什么OS X仍然会启动这个无效的应用程序而没有任何警告,例如"此应用程序已损坏"?在我的代码签名中是否需要进行任何更改,以便用户在启动此破解时至少将GateKeeper规则更改为"Everywhere"?

$ spctl -a -t exec -vv CrackedApp.app/
CrackedApp.app/: invalid signature (code or signature have been modified)

$ codesign --verify --deep --verbose=4 CrackedApp.app/
CrackedApp.app/: invalid signature (code or signature have been modified)
In architecture: x86_64
Run Code Online (Sandbox Code Playgroud)

Dra*_*ion 2

请记住,GateKeeper 仅在启动设置了隔离属性的文件后才会生效。通过 Safari、Mail、Messages 和其他 Apple 软件直接下载的文件会自动设置隔离属性。一旦您点击“您确定要打开它吗?” 警报,隔离标志被清除,并且不再咨询 GateKeeper。如果您希望每次运行应用程序时都进行 GateKeeper 检查,那么您需要使用 API(例如SecStaticCodeCheckValidity. 当然,如果人们已经在修改您的可执行文件,那么他们也可以修改它以绕过这个额外的代码签名检查。