Это по сути то, что я пытаюсь сделать,
#include <sys/mman.h>
int zero() {
return 0;
}
int main(int argc, const char *argv[]) {
return mprotect((void *) &zero, 4096, PROT_READ | PROT_WRITE);
}
, поэтому я пытаюсь сделать код доступным для записи. Это не работает на текущей macOS (Catalina 10.15.2), она просто возвращает -1
и устанавливает errno
на EACCES
, что, насколько я знаю, из-за отсутствия прав / подписи кода. Я нашел право, которое мне нужно установить, но я понятия не имею, как go об этом или как его подписать ..
Если я запускаю codesign -d --entitlements :- <path_to_app>
, он не работает с code object is not signed at all
, хотя я пытался настроить подпись в XCode некоторое время (у меня есть сертификат и так далее). Так как я должен go об этом? На самом деле подписание этого не очевидно с XCode, так что я совершенно невежественен.