Показаны сообщения с ярлыком WinRAR. Показать все сообщения
Показаны сообщения с ярлыком WinRAR. Показать все сообщения

понедельник, 1 октября 2012 г.

Хак виртуальной машины внутри WinRAR -


Специалист по безопасности Тэвис Орманди (Tavis Ormandy) покопался в коде архиватора WINRAR и разработал набор инструментов для встроенной в архиватор виртуальной машины RARVM. Мало кто знает, что внутри WINRAR есть примитивная x86-совместимая виртуальная машина. В ней всего около 50 инструкций, а вся виртуальная машина со стандартными фильтрами занимает чуть более 1000 строк. Она реализована внутри архиватора с одной целью: улучшить сжатие x86-кода. К примеру, представим программу вроде такой.
mov foo, bar
cmp bar, baz
push foo call
write push bar

call write
     Повторяющиеся вызовы возможно транслировать в абсолютные адреса и более эффективно заархивировать.