Page 1 of 1

Привязка exe файла к ID оборудования

Posted: Fri Apr 07, 2023 2:44 pm
by neon
Изначально есть exe файл. Исходного кода нет, т. к. это результат компиляции проекта LabView, а это визуальное программирование. Создал проект, добавил файл лицензии с ID оборудования. В параметрах лицензирования указал имя файла. Создал в папке с защищённым файлом файл лицензирования и прописал в нём серийный номер. При запуске программы выходит сообщение, что требуется верный серийный номер для запуска. В чём может быть проблема? При этом программа, если смотреть по монитору файловых процессов, при запуске не обращается к файлу лицензирования.

Re: Привязка exe файла к ID оборудования

Posted: Fri Apr 07, 2023 5:47 pm
by Admin
В чём может быть проблема? При этом программа, если смотреть по монитору файловых процессов, при запуске не обращается к файлу лицензирования.
Конечно не обращается. Вы должны сами передать серийный номер внутрь VMProtectSetSerialNmber.

Re: Привязка exe файла к ID оборудования

Posted: Sat Apr 08, 2023 6:56 pm
by neon
а как его передать без исходного кода? Повторюсь, это скомпилированный проект Labview, которая является графической средой программирования и языка программирования как такового нет.

Re: Привязка exe файла к ID оборудования

Posted: Sat Apr 08, 2023 8:48 pm
by Catharsis
neon wrote:а как его передать без исходного кода?
Выносите логику лицензирования в DLL. Экспортируете одну функцию-пустышку, чтобы эту либу можно было добавить в таблицу импорта вашего бинарника. Логика лицензирования же будет у Вас запускаться в DllMain. Проверяете лицензию, и если что-то идет не так, то показываете соответствующее сообщение и завершаете процесс.
Саму же либу пакуете в Ваш бинарник при помощи "Virtual Files".

Простой костыль, который решит вашу проблему.

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 5:58 am
by Admin
neon wrote:а как его передать без исходного кода? Повторюсь, это скомпилированный проект Labview, которая является графической средой программирования и языка программирования как такового нет.
Если стоит задача только привязки EXE к HWID, то нужный HWID можно установить прямо в настройках VMProtect (Опции - Дополнительные - Привязать к HWID). Единственный момент - для каждого HWID придется пересобирать сам EXE.

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 5:59 am
by Admin
Catharsis wrote:Простой костыль, который решит вашу проблему.
Костыль совершенно бесполезный и ломается за 5 минут.

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 10:55 am
by Catharsis
Admin wrote:
Catharsis wrote:Простой костыль, который решит вашу проблему.
Костыль совершенно бесполезный и ломается за 5 минут.
Ну если саму либу накрыть протектором, а потом запаковать её при помощи протектора в бинарник автора темы, то не за 5 минут :)
Ну и, естественно, либа должна не просто показывать MessageBox и закрывать процесс. Перед тем, как показать сообщение, можно похерить память приложения например. Можно придумать как извратиться :)

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 11:29 am
by Admin
Ну если саму либу накрыть протектором
Самая главная проблема в том, что ничего полезного для конечного приложения эта либа НЕ ДЕЛАЕТ, поэтому ее можно пропатчить сразу после ее загрузки, просто воткнув MOV EAX, 1 + RET в DllMain.

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 12:06 pm
by Catharsis
Admin wrote:
Ну если саму либу накрыть протектором
Самая главная проблема в том, что ничего полезного для конечного приложения эта либа НЕ ДЕЛАЕТ, поэтому ее можно пропатчить сразу после ее загрузки, просто воткнув MOV EAX, 1 + RET в DllMain.
Можно сделать, чтобы защищенная часть делала что-то полезное)
К примеру, сделать PE loader (я ж надеюсь, что у автора бинарь с релоками), в котором уже будет проверка лицензии, а сам бинарник лоадер будет тащить за собой в "Virtual Files" (можно даже в зашифрованном виде).
Можно сделать на основе этого - https://github.com/hasherezade/libpeconv , или любого другого удобного варианта.
Все ограничивается лишь фантазией. Ну и у нас тут типичный случай "Security through obscurity". Большинство увидев, что приложение накрыто VMP, просто не станут дальше ковырять.

Re: Привязка exe файла к ID оборудования

Posted: Mon Apr 10, 2023 1:23 pm
by Admin
Можно сделать, чтобы защищенная часть делала что-то полезное)
Вы о чем вообще? :)) Посмотрите на чем кодит ТС. Я на 146% уверен, что он даже не знает что такое PE формат, а вы ему предлагаете написать лоадер.

Re: Привязка exe файла к ID оборудования

Posted: Sat Apr 29, 2023 3:12 pm
by neon
Я не настолько дремучий, чтобы не знать некоторых вещей в этой области. Да, я не программист, если говорить об распространённых языках программирования, но сделать DLL, добавить её в таблицу импорта и т. п. могу.