Я собираюсь продать свой golang exe некоторым клиентам за плату - впервые в жизни.
В настоящее время процесс проверки очень прост - клиент приобретает ключ активации, Когда программа запускается, она отправляет ключ активации клиента на мой сервер, а затем мой сервер проверяет, является ли ключ действительным или нет. Если программа недействительна, программа перестанет работать.
Я знал, что вышеуказанный процесс может быть прерван, если кто-то знает, как выполнить обратный инжиниринг exe-файла, и я видел много видео на YouTube, демонстрирующих, как взломать программу, например, преобразование вышеуказанной проверки в NOP на языках ассемблера, например, в OllyDbg и других отладчиках.
Итак, я попытался запустить свой golang exe в OllyDbg, и я могу сделать это для своей программы, например, повернув линии в NOP, и это меня беспокоит.
Я также пытался запустить другое коммерческое программное обеспечение в OllyDbg, но почти все они скажут что-то вроде «не удалось запустить foo.exe» «Уже есть отладчик присоединен к foo.exe "
- поэтому у них есть дополнительная защита, которая усложняет работу хакеров.
Я знаю, что невозможно на 100% предотвратить реверс-инжиниринг, но я просто хочу сделать это немного сложнее - под этим я подразумеваю только то, что я должен делать, если я просто хочу предотвратить запуск моего golang exe. OllyDbg (и другой популярный отладчик) - как foo.exe, описанный выше.
PS Я использую библиотеку walk для части GUI, так что это только для windows, и я использую
go build -ldflags="-s -w -H windowsgui" -tags walk_use_cgo
для сборки мой golang Отлично