Page 1 of 2
VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Fri Sep 30, 2011 9:34 am
by DARKShadow
Обновил VMProtect с версии 2.09 до 2.1 и перестала работать сборка. Первая проблема со скриптами, решил их отключением, все проверки сначала производил в GUI. Без скриптов работало и запускалось. Но когда решил собрать в консоли и запустить полученный ехе, то ОС выдала краш. ОС Windows 7.
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Fri Sep 30, 2011 9:36 am
by Admin
Присылайте тестовый проект (exe+map+vmp файлы), на котором воспроизводится данная проблема.
VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Fri Oct 21, 2011 11:36 pm
by Master
Не стал плодить топики. При создании проекта, имя файла записывается как InputFileName="\nnn.dll". При открытии этого же проекта пишет "file c:\nnn.dll not found". Убрать бы символ перед именем файла.
Да, и еще при выборе дельфового энтрипоинта для защиты, захватывает 2 дворда после финальных call. Убираю ручной простановкой конца процедуры. Так и должно быть?
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Sat Oct 22, 2011 3:26 am
by Admin
Только что создал новый проект в 2.1 - InputFileName=".\test.exe" (с точкой перед слешем)
По поводу дельфового проекта - а что с ним не так? Если речь идет про эти CALL-ы:
Code: Select all
004BBC83 E8F078FFFF call 004B3578 -> Forms.TApplication.Run
004BBC88 E8E3A1F4FF call 00405E70 -> System.@Halt0
То все ОК.
VMProtect 2.1
Posted: Sat Oct 22, 2011 8:02 am
by Master
Admin wrote:Только что создал новый проект в 2.1 - InputFileName=".\test.exe" (с точкой перед слешем)
Cоздал новый проект. Без точки создалось по дефолту, и не понятно зачем она, если логичнее без нее. В .vmp записалось - InputFileName="\nnn.exe", при открытии (запуске nnn.vmp из проводника) - еррор - пытается найти этот .exe в корне диска.
Про дельфи - соврал, длл сторонняя, написана на С. "Хвост" энтрипоинта (3 дворда убираю принудительно):
Code: Select all
1000167B E8F8000000 call 10001778
10001680 59 pop ecx
10001681 59 pop ecx
10001682 C3 ret
10001683 8B65E8 mov esp, [ebp-18]
10001686 834DFCFF or dword ptr [ebp-04], -01
1000168A 33C0 xor eax, eax
1000168C E84A010000 call 100017DB
10001691 C20C00 ret 000C
10002158 FFFFFFFF dd FFFFFFFF State
1000215C 72160010 dd 10001672 FilterProc
10002160 83160010 dd 10001683 ExitProc
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Sat Oct 22, 2011 2:55 pm
by Admin
А как вы создаете новый проект? Из проводника?
По поводу хвоста от EntryPoint - до сих пор не понятно чем они вам не нравятся? На самом деле они они относятся к обработке исключений и я не рекомендую исключать их из компиляции.
VMProtect 2.1
Posted: Sun Oct 23, 2011 11:46 pm
by Master
Admin wrote:А как вы создаете новый проект? Из проводника?
Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
Admin wrote:По поводу хвоста от EntryPoint - до сих пор не понятно чем они вам не нравятся? На самом деле они они относятся к обработке исключений и я не рекомендую исключать их из компиляции.
Просто не понимаю, почему они включаются в защищаемую процедуру.
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Mon Oct 24, 2011 2:00 am
by Admin
Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
На версии 2.10 не воспроизводится.
Просто не понимаю, почему они включаются в защищаемую процедуру.
Еще раз - эти команды относятся к обработчику исключений EntryPoint-а (try/catch/finally), поэтому вмпротект их и распарсил.
VMProtect 2.1
Posted: Mon Oct 24, 2011 8:29 am
by Master
Admin wrote:Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
На версии 2.10 не воспроизводится.
VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Tue Nov 15, 2011 6:40 pm
by Master
Что-то с ответом тихо. Так же "убивают":
"File corrupted!. This program has been manipulated and maybe
it's infected by a Virus or cracked. This file won't work anymore."
Зачем восклицательный знак + точка? Зачем точка в конце сообщения, когда это выдается мессаджбоксом?
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Wed Nov 16, 2011 3:09 am
by Admin
Я вам уже отвечал, что на версии 2.10 у нас ваша проблема не воспроизводится. По поводу сообщений - вы можете их отредактировать на своё усмотрение.
VMProtect 2.10 GUI
Posted: Thu Nov 17, 2011 5:38 pm
by Master
Admin wrote:Я вам уже отвечал, что на версии 2.10 у нас ваша проблема не воспроизводится. По поводу сообщений - вы можете их отредактировать на своё усмотрение.
2.10 по дефолту создает в проекте InputFileName="\nnn.exe". Зачем "\"? Сообщения - ес-но могу редактировать, но c таким же успехом Вы можете туда вставить слово из 3-х букв, по крайней мере синтаксических ошибок не будет. "Ужос"
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Fri Nov 18, 2011 4:08 am
by Admin
В InputFileName по дефолту записывается относительный путь между каталогом с проектом и ехе-файлом. В результате должно получиться '.\nnn.exe' (если файл проекта лежит рядом с загружаемым файлом). Но, как оказалось на XP SP3 функция
PathRelativePathTo работает с ошибками и у вас получается '\nnn.exe'. Мы внесем изменения в код, чтобы на XP3 относительный путь сохранялся в правильном виде.
P.S. С помощью служебных символов '.', '\', '..' можно задавать относительные пути для файлов/каталогов. Например ".\" - это текущий каталог, '..\' - каталог на уровень выше и т.д.
VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Fri Jan 20, 2012 2:39 pm
by Master
2.11 - тот же баг, только что новый проект создавал
Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.
Posted: Tue Feb 21, 2012 10:36 am
by Master
Все гут, звиняйте