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. В обоих случаях что то ломается :cry:

./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
Хм, работает. Попробую потестить