САБЖ http://www.cracklab.ru/f/index.php?action=vthread&forum=1&topic=8515&page=-1 Интересно, можно ли снять прот на основе вм с программ и если да, то где можно почитать о вм, т.к. в сети инфы не нашел.
Можно выделить 2 способа реализации виртуальной машины: 1. Статическая. В рантайме присутсвует интерпретатор. 2. Динамическая. Рантайм-интерпретатора нет, инструкции ВМ отображены в последовательность инструкций host-процессора еше при компиляции/генерации кода. Классический пример: пикод и натифф-код от VB. В 1 случае сложность реверсинга заключается в восстановлении набора команд ВМ. Далее пишем процессорный модуль для ИДА и дизассемблируем как обычно. 2. В этом случае сначала нужно отобразить множество натифф-инструкций в соответ. множество ВМ-инструкций. Может усложняться тем, что натифф-код может быть оптимизирован, переплетаться друг с другом, доп. обфусцирован и т.д.
статейка по 1му предложеному пути https://www.openrce.org/articles/full_view/28 и линк на топик, где есть ее перевод на КРАКЛАБЕ http://www.cracklab.ru/f/index.php?action=vthread&forum=1&topic=7989 Еще ветка на КРАКЛАБЕ про KeyGenMe by Ms-Rem http://cracklab.ru/f/index.php?action=vthread&forum=1&topic=4732 на основе виртуальной машины Ветка на RCE Forum "a vm compiler incl source" http://www.woodmann.com/forum/showthread.php?t=10003
Вот тогда ссылка по теме которой не было на Краклабе. 29A Issue # 7 http://vx.netlux.org/29a/29A-7.html CPU.ZIP by Vecna/29A есть виртуальная машина в развитие "A new kind of protections ? Design your own CPU !!" by anormal/kindergarten. Эта работа там же представлена. Целиком весь журнал 5.86 Мб http://www.flavioweb.it/ezines/29a-7.zip