[Предложение]Шифровка процедур/функций
Posted: Mon Jul 15, 2013 7:28 am
Приветствую!
Как известно, в VMP есть такая функция, как привязка кода к серийному номеру. Участок кода автоматически шифруется, и дешифруется только при правильном лицензионном ключе...
Но не всегда (я конечно не знаю, как поступают другие) нужно расшифровывать какие то участки кода при правильном ключе. Правильный ключ, с точки зрения VMP, может быть ограниченной версии скажем.
К примеру, различные редакции продукта - "Program Lite", "Program", "Program Pro", в виде одного приложения - и определенный функционал должен быть предоставлен в зависимости от ключа.
Или например, демо-версия прихожения - зашифрованный код, в определенный момент тоже может понадобиться.
Вот что я предлагаю
Со стороны SDK:
Добавить функцию VMPDecryptCode(Password: PWideChar; Code: Pointer): HRESULT;
Со стороны протектора:
Добавить в контекстное меню защищаемой процедуры/функции - элемент "Зашифровать паролем". Появляется небольшое окошко, куда вводится нужный пароль.
Как именно шифровать я не знаю, не силен в криптографии, особенно исполняемого кода.
Но думаю, все это довольно не сложно реализуется. Т.к. шифрование уже есть!
Как известно, в VMP есть такая функция, как привязка кода к серийному номеру. Участок кода автоматически шифруется, и дешифруется только при правильном лицензионном ключе...
Но не всегда (я конечно не знаю, как поступают другие) нужно расшифровывать какие то участки кода при правильном ключе. Правильный ключ, с точки зрения VMP, может быть ограниченной версии скажем.
К примеру, различные редакции продукта - "Program Lite", "Program", "Program Pro", в виде одного приложения - и определенный функционал должен быть предоставлен в зависимости от ключа.
Или например, демо-версия прихожения - зашифрованный код, в определенный момент тоже может понадобиться.
Вот что я предлагаю
Со стороны SDK:
Добавить функцию VMPDecryptCode(Password: PWideChar; Code: Pointer): HRESULT;
Со стороны протектора:
Добавить в контекстное меню защищаемой процедуры/функции - элемент "Зашифровать паролем". Появляется небольшое окошко, куда вводится нужный пароль.
Как именно шифровать я не знаю, не силен в криптографии, особенно исполняемого кода.
Но думаю, все это довольно не сложно реализуется. Т.к. шифрование уже есть!