Page 1 of 1
Лицензирование Golang
Posted: Wed Mar 04, 2020 2:23 pm
by graidara
Здравствуйте.
Не смог найти информацию о том как лицензировать программы написанные на golang (linux x64).
Это возможно сделать?
Re: Лицензирование Golang
Posted: Sat Mar 07, 2020 6:53 pm
by Admin
К сожалению разработчики Golang не предусмотрели возможность импорта функций в виде PE/ELF структур, с которыми работает VMProtect при определении используемых функций из SDK.
Re: Лицензирование Golang
Posted: Sun Mar 08, 2020 5:13 pm
by graidara
Случаем cgo не подойдёт? Он позволит "встроить" прямой вызов функции. Меня больше беспокоит как защита подружится с многопоточностью. В любом случае как я понял вы не тестировали совместимость?
Re: Лицензирование Golang
Posted: Tue Mar 10, 2020 10:41 am
by Admin
Случаем cgo не подойдёт?
Можете прислать пример, в котором будет вызываться MessageBoxW? Насколько я знаю это все равно в конечном итоге работает через LoadLibrary+GetProcAddress.
Меня больше беспокоит как защита подружится с многопоточностью. В любом случае как я понял вы не тестировали совместимость?
У нас нет никаких проблем с многопоточностью.
Re: Лицензирование Golang
Posted: Tue Mar 10, 2020 8:29 pm
by graidara
Как раз вызвать 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
Re: Лицензирование Golang
Posted: Fri Mar 13, 2020 8:36 am
by Admin
Уберите из проекта "runtime.main"
Re: Лицензирование Golang
Posted: Tue Mar 17, 2020 10:42 am
by graidara
Хм, работает. Попробую потестить