Доброго времени суток! Итак пакет проблем/предложений с которыми столкнулся лично на протяжении года работы с ВМПротект (являюсь пользователем Ультимейт версии).
1.
В режиме тестирования (при использовании VMProtectLicense.ini) надо вписывать ключ вида
(обратите внимание что “линейны” то есть по линиях с символом \n)
собственно для теста надо в ручную перебивать ключ. Аля удалять \n. Не удобно
2.
Нету Солюшена (Solution) как в Вижуал Студии. Если програмный продукт состоит из 5-10 файлов которые надо защитить (всякое бывает) и обновления достаточно частые то достаточно геморойно кликать по отдельности и запускать отдельно каждый vmp проект. Хотелось бы открыть 1 файлик который бы автоматически подтянул все нужные проекты и просто нажать “Компилировать все”.
3.
Сильное Подозрение на не корректную обработку перехода дат (с 2012 года на 2013). Некоторые лицензии просто отказывались запускаться. Ключ не принимался. Даже в уже наступившем 2013ом всё равно не работало. Заставить работать смог только когда перебил полностью лицензию. Было это не у всех но у 3-4 людей было (это не рядовые пользователи а Администраторы игровых ресурсов).
В поле Help>>About не видно сколько еще осталось до окончания лицензии. Соответственно знать не знаю когда мне надо будет возобновлять. Туда или дату или кол-во дней к окончанию.
Благодарю за внимание и с нетерпением ждем новых версий
P.S. Ходят слухи что есть автоматический анпакер последней версии. Я не говорю что хочу не пробиваемую защиту но вот не хотелось чтобы всякие автоанпакеры работали
Если использовать консольную версию протектора то нельзя указать длинные пути к файлу. Например файл проекта и выходной файл расположен на рабочем столе но в разных(!) папках. Указываю прямой путь. В итоге якобы идет компиляция но где сохраняет не понятно. Если сократить путь к файлам то нормально работает.
1. VMProtect искусственно добавляет "\n" чтобы серйиник имел более менее удобочитаемый вид. Для теста придется делать все одной строкой, т.к. INI не воспринимают многострочные значения.
2. Чем не устраивает консольная версия? Например можно сделать батник с вызовом всех проектов попорядку.
3. Присылайте пример, на котором воспроизводится проблема.
4. Будет исправлено.
5. Добавим.
6. Длинные имена файлов в качестве параметров везде принято заключать в двойные кавычки. У вас как?
P.S. По автоматическому анпакеру для последней версии, если речь идет про "VMProtect Ultra Unpacker 1.0" от LCF-AT, то я уже его посмотрел. Взял для примера простейшую тестовую программу и ... ничего не смог с ней сделать, скорее всего просто не хватило квалификации )
1. Верно но хотелось бы видеть кнопочку/возможность копировать ини в разных вариациях т.к. при массивной отладке приложений достаточно не удобно каждый раз копировать. Было бы справа в кнопке была отметка при нажатии на которую можно было бы выбрать в каком именно формате скопировать.
2. Можно, пока что так и сделал. Речь идет о расширении возможностей чтобы удобней было использовать сам GUI от VMProtect.
3. Увы уже не пришлю т.к. у клиентов уже всё нормально а те лицензии давно удалил. Могу только описать что было. Примерно 26-27 числа мне написал клиент с претензией что у него перестало работать ПО и просит продлить лицензию. Начал перепроверять т.к. у него еще в запасе 2 месяца. Ничего не помогло. Ключи те же, всё нормально. Параллельно с ним написало еще 2 человека с такой же проблемой. С ними было проще. Просто пересоздал лицензию (при этом не меняя ничего в ней). С тем человеком было сложнее т.к. в упор отказывалось работать. Решение было очень странным. Изменил дату окончания лицензии на 1 день в итоге всё заработало. Все лицензии которые были уже в 2013 году работают прекрасно.
4. Благодарю.
5. Благодарю.
6. Благодарю, гляну
Есть такой момент, который, вроде бы, несложно улучшить:
Допустим в программе версии 1 есть функция "void func(int)", которую я защищаю. И в версии 2 я меняю объявление этой функции на "void func(int, int)". При открытии 2-й версии vmprotect-ом получаю сообщение, что функция "void func(int)" не найдена. Даже если я отключу ее защиту, включу защиту новой функции и сохраню, то при следующем запуске я снова получу сообщение, что функция "void func(int)" не найдена. Приходится редактором лезть в *.vmp файл и удалять запись об этой, уже устаревшей и отключенной, функции. Хотелось бы, чтобы запись удалялась автоматически.
Ничего автоматически из проекта удаляться не будет - варнинг на такую функцию это лишнее предупреждение того, что у вас что-то не то и только вы должны принять решение - либо удалить эту функцию навсегда либо заменить её на другую.
Так в том-то и дело, что я осознанно принимаю решение - переключаю защиту старой функции с "вируализация+мутация" на "нет", потом включаю защиту для новой функции и сохраняю проект, при этом надеясь, что теперь про старую функцию можно забыть. Но когда открываю vmprotect в следующий раз - снова вижу варнинг, что старая функция не найдена, хотя про нее уже можно забыть.
Еще дополню.
Лицензия с одного проекта нельзя скопировать в другой (что собственно очень напрягает)
1. Копируем любую нужную лицензию с одного открытого процесса (и .vmp файла).
2. Вставляем во второе окно (соответственно другой .vmp)
3. Как результат: на первый взгляд все перенесено и все ОК, но есть большое(!) но! Поле Customer Name пусто и заблокировано (несмотря на то что поле Customer Name в License Details заполнено). Аналогично с полем е-мейла. Может быть и другими.
Так в том-то и дело, что я осознанно принимаю решение - переключаю защиту старой функции с "вируализация+мутация" на "нет", потом включаю защиту для новой функции и сохраняю проект, при этом надеясь, что теперь про старую функцию можно забыть. Но когда открываю vmprotect в следующий раз - снова вижу варнинг, что старая функция не найдена, хотя про нее уже можно забыть.
У вас скорее всего не совпадают параметры лицензирования для обоих проектов и все что относится к License Details достается из самого серийника после его декрипта, а раз декрипт прошел неудачно, то и эти поля остались пустыми.
Так они не пустые! Сверху данные есть а снизу данных нет. Поле просто заблокировано. Даже вкл\выкл вставлять, например, имя клиента в лицензию ничего не дает. Поле просто пустое. Если надо запишу еще видео