Здравствуйте.
Не смог найти информацию о том как лицензировать программы написанные на golang (linux x64).
Это возможно сделать?
Лицензирование Golang
Re: Лицензирование Golang
К сожалению разработчики Golang не предусмотрели возможность импорта функций в виде PE/ELF структур, с которыми работает VMProtect при определении используемых функций из SDK.
Re: Лицензирование Golang
Случаем cgo не подойдёт? Он позволит "встроить" прямой вызов функции. Меня больше беспокоит как защита подружится с многопоточностью. В любом случае как я понял вы не тестировали совместимость?
Re: Лицензирование Golang
Можете прислать пример, в котором будет вызываться MessageBoxW? Насколько я знаю это все равно в конечном итоге работает через LoadLibrary+GetProcAddress.Случаем cgo не подойдёт?
У нас нет никаких проблем с многопоточностью.Меня больше беспокоит как защита подружится с многопоточностью. В любом случае как я понял вы не тестировали совместимость?
Re: Лицензирование Golang
Как раз вызвать MessageBoxW из Go не самое простое дело.
Нашёл страничку с демкой. Прикрепил примеры вызова VMProtectIsProtected для windows и для linux. В обоих случаях что то ломается
./main.go - исходники
./windows/awesomeProject.exe - без защиты (работает если подсунуть dll из папки Lib)
./windows/awesomeProject.vmp.exe - с защитой (не работает, выводит варнинг и крашит)
./windows/crash.txt - текст краша
./windows/awesomeProject.exe.vmp - проект защиты
./linux/awesomeProject - без защиты (работает если подсунуть dll из папки Lib)
./linux/awesomeProject_vmp - с защитой (не работает, выводит варнинг и не выводит текст)
./linux/awesomeProject.exe.vmp - проект защиты
P.s. В exe вызов VMProtectIsProtected есть в IAT
Нашёл страничку с демкой. Прикрепил примеры вызова VMProtectIsProtected для windows и для linux. В обоих случаях что то ломается
./main.go - исходники
./windows/awesomeProject.exe - без защиты (работает если подсунуть dll из папки Lib)
./windows/awesomeProject.vmp.exe - с защитой (не работает, выводит варнинг и крашит)
./windows/crash.txt - текст краша
./windows/awesomeProject.exe.vmp - проект защиты
./linux/awesomeProject - без защиты (работает если подсунуть dll из папки Lib)
./linux/awesomeProject_vmp - с защитой (не работает, выводит варнинг и не выводит текст)
./linux/awesomeProject.exe.vmp - проект защиты
P.s. В exe вызов VMProtectIsProtected есть в IAT
- Attachments
-
- awesomeProject.zip
- (5.17 MiB) Downloaded 461 times
Re: Лицензирование Golang
Уберите из проекта "runtime.main"
Re: Лицензирование Golang
Хм, работает. Попробую потестить