Page 1 of 1

Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 9:12 am
by Vlad
Здравствуйте, проблема в следующем:

Code: Select all

Компиляция... 100%
Сохранение... 100%
Упаковка... 100%
Сохранение стартового кода... 100%
[Ошибка] Runtime error at WriteToFile
Проверили разные опции, скрипты -sf, файлы настроек -pf передаваемые протектору.
Происходит ошибка во время сохранения уже запротекченного файла. Ошибка эта зависит от передаваемых опций протекции, а именно - функции обнаружения отладчика. Если её отключить, проблемы не будет, но это недопустимо, сами понимаете почему.

Раньше такой проблемы не было на этом же приложении, но скомпилированном на более старых версиях OS.
Перенёс проблемный скомпилированный бинарник c OSX 10.13 на OSX 10.10. Попробовал запротектить той же командой. Проблема воспроизвелась. Та же ошибка. Из этого можно сделать вывод, что протектор не дружит с некоторыми бинарниками, собранными в xcode macOS 10.13.

Проблемы с правами доступа исключены.
Файл, который мы пытаемся запротектить, является исполняемым.

Как решать эту проблему?
Спасибо.

Re: Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 10:39 am
by Vlad
Версия
VMProtect Ultimate v 3.1.1 (build 776) Copyright 2003-2017 VMProtect Software

Re: Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 11:26 am
by Admin
Там проблема немного в другом - в заголовке не хватает места под новые сегменты/команды. Присылайте тестовый проект (оригинальный бинарник + VMP), на котором воспроизводится проблема, я проверю на 3.1.2

Re: Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 12:58 pm
by Vlad
Увы, извините, но передавать бинарь кому-либо я не могу.
Проверил у себя, действительно, места под .vmp секции(их, насколько я помню, две) здесь не найдётся. Image
Можете посоветовать как решать эту проблему с недостатком места в mach-o хедере?

Re: Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 2:51 pm
by Admin
У Mach-O это называется сегменты. Как увеличить размер хидера - на ум приходить только вариант использования нашего SDK с указанием максимально длинного пути до самой ДЛЛ в виде "./././././././././././././././libVMProtectSDK.dylib", либо можно поиграться со стрипом ненужных секций (не путать с сегментами) типа __TEXT:__const

Re: Some binaries compiled in xcode on MacOS 10.13 cannot be protected with "Debugger" option

Posted: Mon Nov 13, 2017 3:45 pm
by Vlad
Верно, сегменты.
Решили проблему отключением оптимизации по размеру файла(-0s) в ходе которой и удалялось свободное место в хедере.
Спасибо.