Я хочу сделать сделать активацию программы через веб панель + вмпротект так вот чтобы можно было активировать программу короткими ключами что нужно разместить на форме и что куда подключать чтобы работало? И ещё вопрос можно ли как то эту активацию сделать на C# просто я в С++ знаю только небольшие основы.
Я хочу сделать сделать активацию программы через веб панель + вмпротект так вот чтобы можно было активировать программу короткими ключами что нужно разместить на форме и что куда подключать чтобы работало?
Для активации достаточно использовать VMProtectActivateLicense
И ещё вопрос можно ли как то эту активацию сделать на C# просто я в С++ знаю только небольшие основы.
VMProtect не поддерживает .NET приложения, поэтому эту форму придется писать на нативном языке (С, С++, Pascal, etc.)
В том то и дело так как я плохо знаю плюсы, я не знаю куда нужно ставить этот маркер
int VMProtectActivateLicense(const char *code, char *serial, int size);
У меня окно на винапи, я добавил туда строку для ввода ключа и кнопку которая открывает другое окно в котором уже собственно находится моя программа. Так вот можете чуть подробней объяснить как это сделать, в интернете ничего не нашол… и в справке всё описано для опытных пользвователей…
SDk вмпротекта я если что подключил и добавил в проект
В том то и дело так как я плохо знаю плюсы, я не знаю куда нужно ставить этот маркер
Это не маркер - это ФУНКЦИЯ из SDK.
bool ActivateLicense(const char *code)
{
char serial[1024];
if (VMProtectActivateLicense(code, serial, sizeof(serial)) != ACTIVATION_OK)
return false;
if (VMProtectSetSerialNumber(serial) != SERIAL_STATE_SUCCESS)
return false;
// store serial number into %APPDATA%, registry, etc.
return true;
}
Хоть убейте не могу никак понять как вообще работает система лицензий и что к чему подключать, очень жаль что вмпротект не поддерживает C#. Можете хотя бы банальный пример ( исходник) на винапи прислать готовый, и ещё небольшая просьба можете сделать чтоб на кнопку тоесть если лицензия верная то открывалось второе диалоговое окно ? Очень вас прошу пожалуйста помогите… я очень плохо разбираюсь в плюсах а эта онлайн активация нужна срочно уже… ( оффлайн вообще не нужна).
Вроде бы немного разобрался тут…
Как я понял на кнопку в приложении ничего лишнего кроме как моего действия ничего делать не нужно… я так и поставил, а на строку где нужно ввести код активации я поставил функцию которую вы дали. Я верно сделал? Если да то идём дальше после протекта программы при нажатии на кнопку ( я привязал её к лицензии) выкидывает ошибку что код не верный. Далее я начал проверять всё через WebLM ( которая у вас тестовая) в справке к вмпротекту указана ссылка “http://yourserver/weblm path/activate.php” я её заменил на “http://weblm.vmpsoft.com/weblm path/activate.php” но всё ровно когда я генерирую код активации то программа его не воспринимает…
Собственно вопрос.. что я сделал не так?
- В настройках проекта в качестве сервера активации нужно указать “http://weblm.vmpsoft.com”
- Проверить, что продукт в WebLM полностью соответствует продукту (параметрам лицензирования), с помощью которого вы защищаете свое приложение. Для этого достаточно либо экспортировать продукт из WebLM в виде VMP файла и использовать этот файл в качестве параметров лицензирования в настройках VMprotect, либо наоборот импортировать ваш готовый VMP в WebLM и добавлять коды активации уже к импортированному продукту.
- Указал. “http://weblm.vmpsoft.com”
- Импортировал vmp файл проекта который создался после протекта, в WebLM (после создалася продукт и в этом продукте я и создавал коды активаций)
// опять не воспринимает ничего…
Я не вижу в логах ниодного обращения к серверу активации.
Может мне вам исходники скинуть программы вы посмотрите что не так? Ссылку в вмпротекте я указывал такую какую вы дали.
http://rgho.st/8xqm8mJkH вообщем вот… исходник. Надеюсь поможете мне наконец настроить эту лицензию…
Вы в курсе, что у ActivateLicense есть параметры?
)
bool ActivateLicense(const char *code)
{
...
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
//---------- События контролов ----------
case WM_COMMAND:
switch (LOWORD(wParam))
{
case 1:
ActivateLicense;
P.S. Вот и выросло поколение…
В C:\Users\Public\Documents\VMProtect\Licensing\MSVC\ посмотрите что-ли.
Я уже говорил что в С++ я далеко не профессионал максимум что делал это калькулятор) и то консольный. Я больше по шарпу специалист но на шарпе писать какую либо лицензию я пробывал и получалось довольно не плохо… но как ни крути в течении недели программу декомпилят чуть ли не до исходника… и соответственно обходят лицензию. Вот щас на счёт параметров не понял… где их брать и куда вставлять? Я с этим больше месяца мучаюсь…
Этот пример я запускал и компилил, он работает вроде как но оффлайн… разобраться я в нём так толком и не смог, только понял принцип работы системы лицензирования. С++ для меня тёмный лес…(
Вот щас на счёт параметров не понял… где их брать и куда вставлять?
Вот отсюда:
Вот сюда:
ActivateLicense(...)
Что то всё ровно понять никак не могу…
Что всё на помощь я могу не рассчитывать больше что ли?
На помощь в изучении C++ и WinAPI? Я просто не могу понять почему вы не можете добавить еще 2 элемента (один под ввод кода активации, второй кнопка, вызывающая VMProtectActivateLicense) в уже готовый пример с лицензированием?
ActivateLicense.zip (214 KB)
