VMProtectDemo (build 1167):
http://vmpsoft.com/files/VMProtectDemo.exe
P.S. Mixed assemblies are not supported.


VMProtectDemo (build 1167):
http://vmpsoft.com/files/VMProtectDemo.exe
P.S. Mixed assemblies are not supported.


I downloaded the demo from above however it is not the 1125 build.
If I were purchase a new license today, would I be eligible for the update that includes the dotnet protection ? Or is that going to be a separate add on ? Is there any ETA on this as well ?
Please download the demo again (now it’s the 1125 build).
P.S. The full version with the .NET support isn’t available.
AMAZING! This is something I have been waiting for a very long time ![]()
VMProtectDemo (build 1130):
http://vmpsoft.com/files/VMProtectDemo.exe
Where i can see .net SDK examples?
Look at this:
C:\Users\Public\Documents\VMProtect\Code Markers\Net
C:\Users\Public\Documents\VMProtect\Licensing\Net
Даже если я пытаюсь защитить приложение из примера C:\Users\Public\Documents\VMProtect\Code Markers\Net\bin\Project1.exe VMProtect Professional зависает на моменте сохранения .net, версия VMProtect 1130. Любая функция SDK вызывает проблему зависания VMProtect в момент сохранения.
Исправлено в 1031 билде:
http://vmpsoft.com/files/VMProtectDemo.exe
Тут я напишу все те баги которые я смог найти в VMProtect for .NET версии 1130. Я создал стандартное пустое приложение .net Forms версии 4.0
Добавил функции:
Приложение защищает
Зависает VMProtect
Зависает VMProtect
Зависает VMProtect
После закрытия приложение выдаёт ошибку. Ошибку вызывает Dispose(bool)

Зависает VMProtect на моменте создании при попытки использование методов из библиотеки VMProtect.SDK.dll
Файл с которым я работал Log in
/del
После защиты 1031 в .net перестаёт работать соединение с сервером


Соединение не происходит даже если отключить все функции защиты и отключит SDK
Использую .net 4.7.2
public static string CheckForInternetConnection()
{
Version version = Assembly.GetEntryAssembly().GetName().Version;
try
{
using (var client = new WebClient())
using (client.OpenRead("https://***.ru/" + version + ".php"))
{
return "https://***.ru/" + version + ".php";
}
}
catch
{
try
{
using (var client = new WebClient())
using (client.OpenRead("https://***.ru/" + version + ".php"))
{
return "https://***.ru/" + version + ".php";
}
}
catch
{
try
{
using (var client = new WebClient())
using (client.OpenRead("https://***.ru/" + version + ".php"))
{
return "https://***.ru/" + version + ".php";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
Process.GetCurrentProcess().Kill();
return "";
}
}
}
}
зависает на этапе компиляции на 7%
После защиты 1031 в .net перестаёт работать соединение с сервером
Присылайте простейший пример.
While the new .NET mode works quite well, there is quite a few suggestions I have:
Renaming: I don’t want to have to run my executable through another obfuscator before VMProtect. Class/method/field renaming is standard on even free .NET obfuscators and VMProtect should have it too. (maybe have it be apart of the ‘Strip debug information’ option?)
We are going to implement this feature in LUA script.
String encryption by default: Most .NET protectors allow you to have an option to protect all strings in the executable. Would be a nice convenience feature instead of doing SDK.DecryptString for every single string you use.
Because “most .NET protectors” have no API like VMProtectDecryptString
) Anyway, protection of all strings is useless like protection of all functions in an application. Usually a developer want to protect only critical strings like “Correct/incorrect login/password”.
Native VMs: While probably quite hard to implement, having a native VM for .NET CIL would make the protection much stronger and also differentiate you guys from the rest of .NET protectors. (the only other product that does this costs 2000$ and having that would make you guys the top of the line for .NET right now)
I don’t understand what you mean. We have already implemented own VM for CIL code. Did you try it?
Решил проблему с соединением предварительно пропустив .net приложение через ConfuserEx. Так и не смог понять с чем связана проблема с соединением.
SDK.DecryptString(“…”) - не работает, всегда выдаёт ошибку.
Я не использую никакие методы защиты, просто прогоняю через VMProtect

Прогнав приложение через дебагер я понял, что ошибка появляется при попытке вызова метода, сам метод не вызывается, при попытке сделать шаг внутрь сразу ловлю эксепшн.

PS: Версия VMProtect 1031
PS2: Возьмите пожалуйста в интернете .net приложение с 2000+ строками кода и проверьте на нем VMProtect и исправьте пожалуйста все ошибки которые возникнут при защите.
Прошу добавить в функционал для .net
Рекомендую обратить внимание на https://github.com/Loksie/KoiVM-Virtualization
Господа,
Хочу обратить ваше внимание на следующие моменты:
Отправил вам программу для анализа проблем на почту info@vmpsoft.com
PS: Приложение работает на .net framework 4.7.2 и проблемы которые я перечислил можно воспроизвести если .net версия ниже 4.7
После вашего ответа
Я понял что проблема в не совместимости с .net framework 4.7.2. Подскажите пожалуйста на какой версии .net framework надо писать код?