Небольшой wish list

Доброго времени суток. Поюзал немного VMP 1.7 и 1.8, хочу поделиться впечатлениями, чего требовательному новичку не хватает при пользовании программой :slight_smile:

  1. Подробный хелп по программе и больше примеров

  2. Лучшая степень сжатия компрессора? Мелочь, а приятно

  3. Как я понял, VMP некоторые секции ресурсов не сжимает (ICON, MANIFEST, VERSION). Неплохо бы к этому списку добавить тажке HTML, а то IE обламывается с открытием страниц из ресурсов защищенной программы (помещать ресурсы в конец файла не хочется, т.к. при этом будут открытыми описания delphi-форм)

  4. На главной форме программы в режиме эксперта - может, стоит выставить минимальную ширину правого списка поменьше, а то Splitter делает левый список слишком узким если окно программы не максимизировано…




5. Вот сюда напрашивается ещё один CheckBox с текстом вроде “Искать в названиях функций любое вхождение подстроки” (а не только с начала). В идеале бы - ещё и фильтр с возможностью скрывать функции из стандартный VCL/RTL классов :unamused: Кстати, кнопка “Помощь” в этом диалоге не помогает))




6. Очень не хватает drag’n’drop сюда. Плюс возможности экспортировать/импортировать список с водяными знаками




7. Хочется видеть пункт “Protect with VMProtect” не только для exe-файлов. Кстати, могу ошибаться с намёком), но у меня однажды при активном пользовании контекстной менюшкой для запуска протектора вылетел файловый менеджер…

  1. Не хватает стандартных сочетаний Ctrl+Sift+S на “Кохранить проект как…” и Ctrl+W на “Закрыть проект”

  2. Табуляция (переход по контролам) на странице опций как-то странно работает - текущий элемент не выделяется с помощью FocusRect

  3. А побыстрее компиляцию можно сделать? :slight_smile: 1.7 гораздо шустрее была, чем 1.8. Ну и ещё хотелось бы иметь возможность отмены компиляции текущего проекта, например, по нажатию Esc

  1. Подробный хелп по программе и больше примеров

Хелп в 1.8 уже стал достаточно подробным. А все примеры можно найти в каталоге Examples

  1. Лучшая степень сжатия компрессора? Мелочь, а приятно

Из-за специфики генерации пикода степнь сжатия у него минимальна, Дело в том, что алгоритмы с более высокой степенью сжатия как правило уже начинают использовать словарь и в результате падает как скорость сжатия так и скорость распаковки. В любом случае некоторые алгоритмы (например тотже LZMA) достаточно трудоемко переносить на х64.

  1. Как я понял, VMP некоторые секции ресурсов не сжимает (ICON, MANIFEST, VERSION). Неплохо бы к этому списку добавить тажке HTML, а то IE обламывается с открытием страниц из ресурсов защищенной программы (помещать ресурсы в конец файла не хочется, т.к. при этом будут открытыми описания delphi-форм)

Присылайте тестовый проект с такими ресурсами.

  1. На главной форме программы в режиме эксперта - может, стоит выставить минимальную ширину правого списка поменьше, а то Splitter делает левый список слишком узким если окно программы не максимизировано…

Ширина правого списка зависит от ширины всех элементов на закладке “Опции”. Т.е. её нельзя сделать уже. И поэтому при таком размере окна автоматически “сужается” дерево проекта.

  1. Вот сюда напрашивается ещё один CheckBox с текстом вроде “Искать в названиях функций любое вхождение подстроки” (а не только с начала). В идеале бы - ещё и фильтр с возможностью скрывать функции из стандартный VCL/RTL классов Rolling Eyes Кстати, кнопка “Помощь” в этом диалоге не помогает))

Выдержка из хелпа от версии 1.8 (раздел “Работа с VMProtect”-“Режим Эксперт”-“Главное окно” самый нижний скриншот):

В строке поиска можно использовать стандартные символы подстановки:
* - заменяет группу символов произвольной длины; 
? - заменяет любой одиночный символ.

Т.е. при использовании символа “*” вы как раз и получите “Искать в названиях функций любое вхождение подстроки”
По поводу фильтрации стандартных функций - это уже явно перебор :slight_smile:) Кто, где и когда будет вести список стандартных классов и методов для разных версий всех компиляторов и библиотек? :slight_smile:)

  1. Очень не хватает drag’n’drop сюда. Плюс возможности экспортировать/импортировать список с водяными знаками

DnD приделать можно. По поводу импорта/экспорта - а чем не устраивает правка VMprotect.ini из %APPDATA% с помощью любого текстового редактора?

  1. Хочется видеть пункт “Protect with VMProtect” не только для exe-файлов. Кстати, могу ошибаться с намёком

Похоже вы ошибаетесь :slight_smile:) Данный пункт меню присуствует для всех файлов, с которыми может работать VMProtect.

  1. Не хватает стандартных сочетаний Ctrl+Sift+S на “Кохранить проект как…” и Ctrl+W на “Закрыть проект”

Ниразу не встречал что у “Сохранить проект как…” и “Закрыть проект” есть стандартные сочетания. Во всех IDE эти пункты идут вообще без всяких сочетаний.

  1. А побыстрее компиляцию можно сделать? Smile 1.7 гораздо шустрее была, чем 1.8.

В 1.8 новая защита импорта - если вы отключите данную опцию, то скорее всего скорость компиляции будет одинакова по сравнению с 1.7.

Вот он: http://rapidshare.com/files/218440406/Embedded_HTML_test.rar.html

Я для себя с удовольствием сделаю, если будет возможность (например, запоминающиеся фильтры) :slight_smile: Мотать по 1000 строк одного и того же утомляет.
И это достаточно быстро сделать, если учесть, что все исходники Delphi находятся в одной папке, а фильтровать надо не имена классов/методов, а названия модулей.

Я выше слукавил - я многотысячные списки методов/фукций не проматываю, а использую инкрементальный поиск. Потому что это проще, быстрее, удобнее. Аналогичный ответ и на Ваш вопрос выше :wink:

Похоже, что не ошибаюсь :slight_smile: (а вообще, лучше бы сделать не только проверку расширений, но и, допустим, PE-заголовка, т.к. приходится работать с переименованными PE-файлами)




Ctrl+W поддерживается практически везде (explorer и другие файловые менеждеры, редакторы фото/текста, многотабовые браузеры), Ctrl+Shift+S - во многих программах именно как сочетание для “Сохранить как”

Я для себя с удовольствием сделаю, если будет возможность (например, запоминающиеся фильтры) Smile Мотать по 1000 строк одного и того же утомляет.
И это достаточно быстро сделать, если учесть, что все исходники Delphi находятся в одной папке, а фильтровать надо не имена классов/методов, а названия модулей.

Для меня все-таки осталось непонятным чем вас не устраивает поиск по маске? Зачем обязательно нужно от фильтровать стандартные классы если все равно на большом проекте у вас будут тысячи “ненужных” методов и в любом случае придется искать “нужные” в этом списке и опять приходим к тому, что вы будете переходить на закладку “Поиск”.

Похоже, что не ошибаюсь Smile (а вообще, лучше бы сделать не только проверку расширений, но и, допустим, PE-заголовка, т.к. приходится работать с переименованными PE-файлами)

Может в висте опять что-то переделали, но в XP все отлично:

Я, если честно, не знаю, как работают с VMP другие и что такое большие проекты :slight_smile: Я делал защиту примерно так: открывал список методов и просматривал его. И вполне чётко понимал, что делается в каждом из них и стоит ли добавлять текущий в список защищаемых. И мне показалось удобным в процессе этой работы иметь возможность скрыть действительно тысячи методов из стандартной библиотеки (или из тех модулей, что я выберу - это ещё лучше, т.к. часто используются сторонние компоненты и библиотеки), т.к. защищать их я точно не собирался, а проматывать приходилось…

Ну, собственно, я и не сомневался, что на компьютере разработичка всё отлично :wink:



А что по неоткомментированным позициям? Можно ждать улучшений и, если да, как скоро?

Я, если честно, не знаю, как работают с VMP другие и что такое большие проекты Smile Я делал защиту примерно так: открывал список методов и просматривал его. И вполне чётко понимал, что делается в каждом из них и стоит ли добавлять текущий в список защищаемых. И мне показалось удобным в процессе этой работы иметь возможность скрыть действительно тысячи методов из стандартной библиотеки (или из тех модулей, что я выберу - это ещё лучше, т.к. часто используются сторонние компоненты и библиотеки), т.к. защищать их я точно не собирался, а проматывать приходилось…

Обычно все стандартные методы оказываются в начале списка если общий список отсортировать по возрастанию адресов (клик на колонку с адресом) и все методы классов идут подряд в списке.

Ну, собственно, я и не сомневался, что на компьютере разработичка всё отлично Wink

Может быть у вас старая VMProtect_Ext.dll зарегистрирована?

А что по неоткомментированным позициям? Можно ждать улучшений и, если да, как скоро?

Приняты к доработке.

Нет, Process Explorer показывает, что Explorer держит в памяти новую версию VMProtect_Ext.dll

Нет, Process Explorer показывает, что Explorer держит в памяти новую версию VMProtect_Ext.dll

Попробуйте все-таки перерегистрировать DLL-ку через выключение/включение опции “Интегрировать в оболочку”. Возможно раньше была зарегистрирована более старая версия поэтому в реестре не прописаны shell extensions для других типов файлов.

Пробовал перерегистрацию, всё равно не работает на dll’ках (другие типч файлов не смотрел). А добавить расширение контекстного меню, которое проверяет выделенный файл на наличие pe-заголовка, можно?

И что по поводу HTML в ресурсах приложений при использовании VMP-пакера?

Пробовал перерегистрацию, всё равно не работает на dll’ках (другие типч файлов не смотрел).

Странно.

А добавить расширение контекстного меню, которое проверяет выделенный файл на наличие pe-заголовка, можно?

Там все сделано как раз на расширениях.

И что по поводу HTML в ресурсах приложений при использовании VMP-пакера?

Я же вам отправил бету 1.81 - проверяйте :slight_smile:)

Упс… Тут тормознул, звиняйте :slight_smile:

fd00ch

  1. Лучшая степень сжатия компрессора? Мелочь, а приятно

В текущей бете 1.81 b4 есть возможность выбора режима упаковки с возможностью выбора алгоритма с более высокой степенью сжатия (правда скорость распаковки при этом будет ниже). Если есть желание протестировать - сообщите.

Да, я не против глянуть :slight_smile: