Page 1 of 1
Ограничения демо-версии
Posted: Tue Apr 24, 2007 8:28 am
by Sergey
Добрый день,
Имеется ли в "полной" версии возможность компиляции *.OBJ->*.OBJ? У меня есть статическая библиотека, реализующая механизмы защиты, которая линкуется ко многим исполнимым модулям. Или же мне придется для каждого модуля создавать map-файл и уже его обрабатывать консольной версией vmprotect'a?
Спасибо.
Posted: Tue Apr 24, 2007 8:37 am
by Admin
В полной версии пока нет поддержки OBJ формата. Т.е. в вашем случае придется обрабатывать уже готовое приложения после компиляции в EXE/DLL.
P.S. По поводу поддержки OBJ - вы всего лишь второй пользователь, кто об этом спрашивает

) В любом случае OBJ подразумевает дальнейшую линковку и даже если делать защиту на уровне OBJ, то многие вещи (указатели на другие объекты) придется хранить в открытом виде (т.к. указатели - это результат работы линковщика) и уровень защиты будет намного ниже чем защита уже связанного файла.
Posted: Tue Apr 24, 2007 8:43 am
by Sergey
Спасибо. В этом случае единственный вопрос: удастся ли мне автоматизировать процесс на уровне сценария сборки (консольная утилита, конечно же, входит в комплект поставки "полной" версии?), если заранее известен список защищаемых процедур?
Posted: Tue Apr 24, 2007 8:48 am
by Admin
Перед использованием консольной версии (конечно же она входит и в комплект полной версии) вам необходимо подготовить проект в GUI версии (в результате вы будете иметь .vmp файл рядом с вашим приложением) и уже в дальнейшем пользоваться консольной версией. Т.е. подготовка проекта ведется всегда в GUI версии.
Posted: Tue Apr 24, 2007 8:52 am
by Sergey
спасибо
Posted: Tue Apr 24, 2007 11:18 am
by Admin
Кстати вы можете предвариательно все проверить и на консольной версии из демки (консольная версия входит в
дистрибутив).
Posted: Tue Apr 24, 2007 4:52 pm
by sam
По поводу автоматизации сборки и консольной утилиты, есть пара замечаний.
1. Консольной утилите нельзя указать местоположение файла проекта (.vmp) и map файла (правда последний как правило легко сгенерить туда же куда и исполняемый модуль, поэтому это мение существенно) - в связи с этим приходится копировать файл проекта в директории сборки, что не очень правильно, имхо.
2. по мелочам: Бегущие проценты это излишек, т.к. при автоматческой сборке вывод обычно пишется в лог, получается что-то вроде: "Компиляция... 0%Компиляция... 0%Компиляция..."
Posted: Tue Apr 24, 2007 5:58 pm
by Admin
1. Консольной утилите нельзя указать местоположение файла проекта (.vmp) и map файла (правда последний как правило легко сгенерить туда же куда и исполняемый модуль, поэтому это мение существенно) - в связи с этим приходится копировать файл проекта в директории сборки, что не очень правильно, имхо.
Будет добавлен соотвествующий параметр для указания файла проекта.
2. по мелочам: Бегущие проценты это излишек, т.к. при автоматческой сборке вывод обычно пишется в лог, получается что-то вроде: "Компиляция... 0%Компиляция... 0%Компиляция..."
При выводе в лог, действительно получится "куча" процентов, но в большинстве случаев все-таки пользователь видит сам процесс на экране (без записи в лог) и при большом объеме обрабатываемого кода без признаков жизни со стороны консольной версии пользователь может ошибочно подумать, что программа зависла - поэтому без процентов никак нельзя

) Для режима ведения процесса компиляции в лог можно придумать параметр командной строки для отключения процентов.
Posted: Wed Apr 25, 2007 9:13 am
by Sergey
Admin wrote:При выводе в лог, действительно получится "куча" процентов, но в большинстве случаев все-таки пользователь видит сам процесс на экране (без записи в лог) и при большом объеме обрабатываемого кода без признаков жизни со стороны консольной версии пользователь может ошибочно подумать, что программа зависла - поэтому без процентов никак нельзя :)) Для режима ведения процесса компиляции в лог можно придумать параметр командной строки для отключения процентов.
Параметр -nologo (в смысле -silent) - будет самое то.
Итого: VMProtect_con.exe [-nologo] [-proj "<file.vmp>"] [-map "<file.map>"] <infile> [<outfile>] [-wm "watermark"]
Posted: Wed Apr 25, 2007 9:50 am
by Admin
Параметр -nologo (в смысле -silent) - будет самое то.
Можно сделать еще проще - в консольной версии определять тип консоли через GetFileType и если результат <>FILE_TYPE_CHAR, то прогресс не выводить.
Posted: Thu Feb 14, 2008 4:53 pm
by Sergey
Здравствуйте,
Нет ли новостей в части защиты OBJ-файлов?
Posted: Thu Feb 14, 2008 5:30 pm
by Admin
Нет ли новостей в части защиты OBJ-файлов?
В плане защиты OBJ никаких работ не ведется.
Posted: Thu Feb 14, 2008 5:38 pm
by Sergey
Спасибо за ответ.