Ограничения демо-версии

Issues related to VMProtect
Post Reply
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Ограничения демо-версии

Post by Sergey »

Добрый день,

Имеется ли в "полной" версии возможность компиляции *.OBJ->*.OBJ? У меня есть статическая библиотека, реализующая механизмы защиты, которая линкуется ко многим исполнимым модулям. Или же мне придется для каждого модуля создавать map-файл и уже его обрабатывать консольной версией vmprotect'a?
Спасибо.
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

В полной версии пока нет поддержки OBJ формата. Т.е. в вашем случае придется обрабатывать уже готовое приложения после компиляции в EXE/DLL.

P.S. По поводу поддержки OBJ - вы всего лишь второй пользователь, кто об этом спрашивает :)) В любом случае OBJ подразумевает дальнейшую линковку и даже если делать защиту на уровне OBJ, то многие вещи (указатели на другие объекты) придется хранить в открытом виде (т.к. указатели - это результат работы линковщика) и уровень защиты будет намного ниже чем защита уже связанного файла.
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Post by Sergey »

Спасибо. В этом случае единственный вопрос: удастся ли мне автоматизировать процесс на уровне сценария сборки (консольная утилита, конечно же, входит в комплект поставки "полной" версии?), если заранее известен список защищаемых процедур?
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Перед использованием консольной версии (конечно же она входит и в комплект полной версии) вам необходимо подготовить проект в GUI версии (в результате вы будете иметь .vmp файл рядом с вашим приложением) и уже в дальнейшем пользоваться консольной версией. Т.е. подготовка проекта ведется всегда в GUI версии.
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Post by Sergey »

спасибо
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Кстати вы можете предвариательно все проверить и на консольной версии из демки (консольная версия входит в дистрибутив).
sam
Posts: 1
Joined: Sun Apr 22, 2007 10:42 am
Location: Russia, SPb

Post by sam »

По поводу автоматизации сборки и консольной утилиты, есть пара замечаний.
1. Консольной утилите нельзя указать местоположение файла проекта (.vmp) и map файла (правда последний как правило легко сгенерить туда же куда и исполняемый модуль, поэтому это мение существенно) - в связи с этим приходится копировать файл проекта в директории сборки, что не очень правильно, имхо.
2. по мелочам: Бегущие проценты это излишек, т.к. при автоматческой сборке вывод обычно пишется в лог, получается что-то вроде: "Компиляция... 0%Компиляция... 0%Компиляция..."
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

1. Консольной утилите нельзя указать местоположение файла проекта (.vmp) и map файла (правда последний как правило легко сгенерить туда же куда и исполняемый модуль, поэтому это мение существенно) - в связи с этим приходится копировать файл проекта в директории сборки, что не очень правильно, имхо.
Будет добавлен соотвествующий параметр для указания файла проекта.
2. по мелочам: Бегущие проценты это излишек, т.к. при автоматческой сборке вывод обычно пишется в лог, получается что-то вроде: "Компиляция... 0%Компиляция... 0%Компиляция..."
При выводе в лог, действительно получится "куча" процентов, но в большинстве случаев все-таки пользователь видит сам процесс на экране (без записи в лог) и при большом объеме обрабатываемого кода без признаков жизни со стороны консольной версии пользователь может ошибочно подумать, что программа зависла - поэтому без процентов никак нельзя :)) Для режима ведения процесса компиляции в лог можно придумать параметр командной строки для отключения процентов.
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Post by Sergey »

Admin wrote:При выводе в лог, действительно получится "куча" процентов, но в большинстве случаев все-таки пользователь видит сам процесс на экране (без записи в лог) и при большом объеме обрабатываемого кода без признаков жизни со стороны консольной версии пользователь может ошибочно подумать, что программа зависла - поэтому без процентов никак нельзя :)) Для режима ведения процесса компиляции в лог можно придумать параметр командной строки для отключения процентов.
Параметр -nologo (в смысле -silent) - будет самое то.
Итого: VMProtect_con.exe [-nologo] [-proj "<file.vmp>"] [-map "<file.map>"] <infile> [<outfile>] [-wm "watermark"]
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Параметр -nologo (в смысле -silent) - будет самое то.
Можно сделать еще проще - в консольной версии определять тип консоли через GetFileType и если результат <>FILE_TYPE_CHAR, то прогресс не выводить.
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Post by Sergey »

Здравствуйте,
Нет ли новостей в части защиты OBJ-файлов?
Admin
Site Admin
Posts: 2584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Нет ли новостей в части защиты OBJ-файлов?
В плане защиты OBJ никаких работ не ведется.
Sergey
Posts: 9
Joined: Tue Apr 24, 2007 8:04 am

Post by Sergey »

Спасибо за ответ.
Post Reply