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
Все гут, звиняйте