VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Issues related to VMProtect
DARKShadow
Posts: 2
Joined: Mon Aug 01, 2011 2:09 pm

VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by DARKShadow »

Обновил VMProtect с версии 2.09 до 2.1 и перестала работать сборка. Первая проблема со скриптами, решил их отключением, все проверки сначала производил в GUI. Без скриптов работало и запускалось. Но когда решил собрать в консоли и запустить полученный ехе, то ОС выдала краш. ОС Windows 7.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

Присылайте тестовый проект (exe+map+vmp файлы), на котором воспроизводится данная проблема.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Master »

Не стал плодить топики. При создании проекта, имя файла записывается как InputFileName="\nnn.dll". При открытии этого же проекта пишет "file c:\nnn.dll not found". Убрать бы символ перед именем файла.
Да, и еще при выборе дельфового энтрипоинта для защиты, захватывает 2 дворда после финальных call. Убираю ручной простановкой конца процедуры. Так и должно быть?
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

Только что создал новый проект в 2.1 - InputFileName=".\test.exe" (с точкой перед слешем)
По поводу дельфового проекта - а что с ним не так? Если речь идет про эти CALL-ы:

Code: Select all

004BBC83 E8F078FFFF              call 004B3578 -> Forms.TApplication.Run
004BBC88 E8E3A1F4FF              call 00405E70 -> System.@Halt0
То все ОК.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1

Post 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
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

А как вы создаете новый проект? Из проводника?
По поводу хвоста от EntryPoint - до сих пор не понятно чем они вам не нравятся? На самом деле они они относятся к обработке исключений и я не рекомендую исключать их из компиляции.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1

Post by Master »

Admin wrote:А как вы создаете новый проект? Из проводника?
Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
Admin wrote:По поводу хвоста от EntryPoint - до сих пор не понятно чем они вам не нравятся? На самом деле они они относятся к обработке исключений и я не рекомендую исключать их из компиляции.
Просто не понимаю, почему они включаются в защищаемую процедуру.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
На версии 2.10 не воспроизводится.
Просто не понимаю, почему они включаются в защищаемую процедуру.
Еще раз - эти команды относятся к обработчику исключений EntryPoint-а (try/catch/finally), поэтому вмпротект их и распарсил.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1

Post by Master »

Admin wrote:
Запускаю вмпрот (GUI), выбираю exe/dll, сохраняю. Выхожу из вмпрота, "запускаю" vmp файл, открывается GUI вмпрота, и тут ошибка поиска моего exe/dll.
На версии 2.10 не воспроизводится.
Attachments
vmp2.gif
vmp2.gif (4.82 KiB) Viewed 25586 times
vmp1.gif
vmp1.gif (10.32 KiB) Viewed 25586 times
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post 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."
Зачем восклицательный знак + точка? Зачем точка в конце сообщения, когда это выдается мессаджбоксом?
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

Я вам уже отвечал, что на версии 2.10 у нас ваша проблема не воспроизводится. По поводу сообщений - вы можете их отредактировать на своё усмотрение.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.10 GUI

Post by Master »

Admin wrote:Я вам уже отвечал, что на версии 2.10 у нас ваша проблема не воспроизводится. По поводу сообщений - вы можете их отредактировать на своё усмотрение.
2.10 по дефолту создает в проекте InputFileName="\nnn.exe". Зачем "\"? Сообщения - ес-но могу редактировать, но c таким же успехом Вы можете туда вставить слово из 3-х букв, по крайней мере синтаксических ошибок не будет. "Ужос"
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Admin »

В InputFileName по дефолту записывается относительный путь между каталогом с проектом и ехе-файлом. В результате должно получиться '.\nnn.exe' (если файл проекта лежит рядом с загружаемым файлом). Но, как оказалось на XP SP3 функция PathRelativePathTo работает с ошибками и у вас получается '\nnn.exe'. Мы внесем изменения в код, чтобы на XP3 относительный путь сохранялся в правильном виде.

P.S. С помощью служебных символов '.', '\', '..' можно задавать относительные пути для файлов/каталогов. Например ".\" - это текущий каталог, '..\' - каталог на уровень выше и т.д.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Master »

2.11 - тот же баг, только что новый проект создавал
Last edited by Master on Tue Feb 21, 2012 10:41 am, edited 1 time in total.
Master
Posts: 21
Joined: Thu May 12, 2011 9:23 am

Re: VMProtect 2.1 консоль создаёт не рабочий ехе файл.

Post by Master »

Все гут, звиняйте
Post Reply