Компилятор в MOV.

Aug 07, 2015 16:57

https://github.com/xoreaxeaxeax/movfuscator

В своё время РХС прислал мне письмо из PVT.CRACK, где кто-то (по-моему, Solar Designer) запостил программку, которая использовала интерпретатор машины с одной инструкцией (трехоперандное перемещение, по-моему, *p = a[*b], что-то в этом роде). Эта программа требовала ввод пароля и выводила сообщение о верности или неверности пароля. Надо было найти пароль.

Поскольку я тогда (1995) год все программы для удовольствия писал на ассемблере, то я на ассемблере написал трассировщик (с использованием debug registers i386!), вывод трассы и сжиматель трассы (который искал часто встречающиеся последовательности команд и заменял их на разумные сокращения; что интересно, исходный код был написан с использованием макросов).

По сжатой трассе я понял алгоритм вычисления контрольной суммы пароля и написал программу перебора паролей. Запустив её, я получил кучу паролей примерно через полчаса работы.

На всё про всё у меня ушло часа четыре.

Поэтому то, что мужик написал, это очень круто. Но в качестве настоящего инструмнта защиты использовать не стоит. Сломають. Это даже молодому и неопытному мне с ассемблером удалось, что говорить про сегодняшние возможности.

программы, виртуальные машины, программирование

Previous post Next post
Up