Несовместимость с macOS 10.14 "hardened runtime"?

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)

Сам спросил - сам отвечаю.

Работает, если “disable code signing protections while launching the app”.
т.е. сделать так:

сodesign -s --options runtime --entitlements e.plist

где e.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.security.cs.disable-executable-page-protection</key>
	<true/>
</dict>
</plist>

Apple в последнее время стало закручивать гайки по всем фронтам. Куча какашек в последнем dyld: https://forum.vmpsoft.com/viewtopic.php?f=2&t=6849

P.S. Возможно проблема связана с сегментами VM_PROT_EXECUTE + VM_PROT_WRITE, которые делает VMProtect.

Please help!

Пробуем воркараунд с заданием --entitlements на mac catalina 10.15 beta, но любое консольное приложение или бандл всё равно крешатся. Странно, но похоже, что entitlement com.apple.security.cs.disable-executable-page-protection на проверку не влияет.
Даже если подписать тестовое приложение testapp-vmp-rt от chainik, то всё равно получаю креш на 10.15, и что станно, на 10.14 тоже.

Получаю

zsh: killed

или

Initialization Error 1

как тут https://forum.vmpsoft.com/p/3787

Возможно есть какие то свежие новости по этой проблеме? Планируются ли фиксы с hardening runtime? Получается, что на данный момент vmprotect полностью не работает c 10.15 без эпл стора и с влюченным SIP

Hi,
If not resolved, try to add more exceptions.

Kinda:

<?xml version="1.0" encoding="utf-8"?> com.apple.security.automation.apple-events com.apple.security.files.user-selected.read-write com.apple.security.cs.allow-jit com.apple.security.cs.allow-unsigned-executable-memory com.apple.security.cs.allow-dyld-environment-variables com.apple.security.cs.disable-executable-page-protection com.apple.security.cs.disable-library-validation

works for me for sure at latest 10.14 after signing with hardening runtime + the above
entitlements and notarization (don’t miss it).

Never tried 10.15-beta, sorry.

Kind regards,
Robert