Apple придумала новую хрень, называется App Notarization. На сегодня оно добровольно, но к след. верии (10.15?) станет обязательным для запуска не-AppStore программ.
Для того, чтобы эту хрень применить, необходимо специальным образом подписать бинарники.
codesign -s --options runtime
Если этот “options runtime” применить к бинарнику, обработанному VMP, то он не запускается (*), при этом единственное что пишет в консоли - “Killed: 9”.
Бинарники:
без VMP, но с “runtime”
с VMP и с подписью без “runtime”
запускаются.
(*) “не запускается” ТОЛЬКО в 10.14. В предыдущих версиях (которые вообще игнорируют этот hardended runtime) - запускается.
Возможно, это всё как-то связано вон с тем. test.tar.gz (6.76 MB)
Пробуем воркараунд с заданием --entitlements на mac catalina 10.15 beta, но любое консольное приложение или бандл всё равно крешатся. Странно, но похоже, что entitlement com.apple.security.cs.disable-executable-page-protection на проверку не влияет.
Даже если подписать тестовое приложение testapp-vmp-rt от chainik, то всё равно получаю креш на 10.15, и что станно, на 10.14 тоже.
Возможно есть какие то свежие новости по этой проблеме? Планируются ли фиксы с hardening runtime? Получается, что на данный момент vmprotect полностью не работает c 10.15 без эпл стора и с влюченным SIP