Стелс-режим

Issues related to VMProtect
00p$
Posts: 12
Joined: Thu May 09, 2019 8:20 am

Стелс-режим

Postby 00p$ » Sun Aug 23, 2020 5:01 pm

Просьба реализовать возможность размещать код VMP не в отдельной секции, а внутри заранее выделенного самим программистом места (функция с мусором). Точно так же, как это умеет продукт от oreans.

Admin
Site Admin
Posts: 2007
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Стелс-режим

Postby Admin » Mon Oct 05, 2020 4:09 pm

Есть одна проблема, связанная с особенностями раскрутки стека при исключениях (насколько я знаю у oreans с этим вообще все плохо). Например для PE x64 (а также актуально для Mach-O и ELF) для каждой функции на уровне формата определен диапазон адресов, где она "лежит", а также есть вся информация об используемом стеке. В текущей версии VMprotect место от старых функций никак не используются и на уровне PE остается информация для раскрутки стека, которая используется при исключениях в завиртуализированных функциях (исполнитель ВМ в своем обработчике исключений "подсовывает" операционке оригинальный PC, который она в дальнейшем использует для раскрутки стека). Если на старое "место" положить код, который связан с другой функцией, то все это благополучно грохнется при первом же исключении.

00p$
Posts: 12
Joined: Thu May 09, 2019 8:20 am

Re: Стелс-режим

Postby 00p$ » Wed Oct 07, 2020 11:03 pm

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

Cyber
Posts: 48
Joined: Mon Feb 08, 2010 3:29 pm

Re: Стелс-режим

Postby Cyber » Thu Oct 08, 2020 8:15 am

Есть куча вариантов программ, где не используется SEH или по ненадобности, или по невозможности

А еще есть куча мест где SEH используется, а Вы даже об этом и не знаете (даже если в Вашем коде его явно нет), так что игнорировать работу этого механизма крайне не желательно и чревато.
Больше скажу в некоторых местах своей программы пришлось подставатся под фичи VMP, чтобы не падало.

00p$
Posts: 12
Joined: Thu May 09, 2019 8:20 am

Re: Стелс-режим

Postby 00p$ » Thu Oct 08, 2020 1:52 pm

Cyber wrote:А еще есть куча мест где SEH используется, а Вы даже об этом и не знаете (даже если в Вашем коде его явно нет), так что игнорировать работу этого механизма крайне не желательно и чревато.


Если мозги на месте, можешь проконтролировать создание своего бинарника так, чтоб в нем не было скрытых сюрпризов. Для скрипт-кидди, не знающих что им нужно, можно добавить активный по-умолчанию чекбокс "Полноценная поддержка любых программ" или что-то такое, что блокировало бы опасные фичи. А обрезать из-за этого функционал для всех - бред.