Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Re: Я тоже когда-то пытался реализовать эту идею 07.02.03 13:41 Число просмотров: 1756
Автор: sassa Статус: Незарегистрированный пользователь
|
> Делал компилятор ANSI C, который на первом этапе просто > делает разбор и сохраняет полученное дерево разбора > (которое включается в инсталляционный пакет), а на этапе > инсталляции это дерево мутирует (причем для каждого типа > ноды задано несколько эквивалентных мутаций)
VCG.Belka тоже такими вещами занимается в меру возможностей. ЛовИмо.
> в несколько > итераций, и некоторые участки оптимизируются, вводится > несколько ветвей, в которые никогда не приходит исполнение, > вводятся условные переходы, о которых точно известно куда > уйдет поток.
если известен алгоритм, по которому строятся такие ветви, то по нему же их можно и обнаружить.
> И только после этого выполняется backend. Чтоб > усложнить реверсинг (не предоставлять потенциальным > реверсерам полное дерево всей программы) и для повышения > эффективности, этим способом собирается не вся программа, а > только ее расшифровщик (или несколько > расшифровщиков/зашифровщиков для разных кусков программы).
функционально это только упрощает задачу, поскольку по расшифровщику уже можно сказать многое.
> Ну в общем этот проект загнулся (вернее я его > законсервировал до лучших времен) > > ЗЫ: А с полиморфизмом АВ-ы так и не справились по > человечески имхо.
...ввиду простоты языка описания баз вирусов.
> ...но вот например, описанный выше > алгоритм я с трудом представляю как обнаружить как в > вирусе, так и в антивирусе (разве что в песочнице, но флаг > в руки сканеру, если он будет пытаться сэмулировать поток > исполнения команд так на 50000 для каждого исполняемого > файла в системе, кроме того после этого он начнет > материться даже на анекдоты про вовочку).
ерунда. неоптимизированный полиморфик (замена операций эквивалентными из известного набора) разбирается как регулярное или стековое выражение. кю.
нынешние сканеры обламываются из-за несовершенства языка описания вирусов и недостаточной длины сигнатуры (регулярного выражения).
> ...А изменчивость как фактор выживания как для вирусов, так и > для честных прог - это действительно очень неплохой фактор.
CodeRed обращался к внешней DLL, а не к коду IIS. полиморфизм IIS ни к чему не привел бы.
|
|
|