ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

21.08.2006, 17:03
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Полиморфные и метаморфные, это значит они самомодифицируются, изменяя себя до неузнаваимости, но я считаю это не кчиму, в моём примере он меняется примерно также но только на стадии компиляции, причём даже размер кода меняется.
|
|
|

21.08.2006, 17:44
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
>>Так у VMProtect'ора ВМ не заморфлена вроде.
а я разве такое говорил?
Метаморфу пофиг какой код, метфморф отличается от полиморфа как раз тем, что обрабатывает всё тело программы(в твоём случае считай декриптора).
по-моему, полиморф - просто замена функций "синонимами", метаморф - все 4то им не есть, тоесть обратный проход покоду и создание его мутации (дизасм, минимизация кода, пермутация, расширение, сборка), и неважно делается ли это для куска кода, или для всей кодовой секции...
Последний раз редактировалось ProTeuS; 21.08.2006 в 17:52..
|
|
|

21.08.2006, 18:26
|
|
Познающий
Регистрация: 15.08.2006
Сообщений: 74
Провел на форуме: 53311
Репутация:
77
|
|
>>Так что они туда пихать будут если она заморфлена будет?
сигатуру ВМ, как было с VmProtect и каспером (на 4то я намикал)
по-моему, полиморф - просто замена функций "синонимами", метаморф - все 4то им не есть, тоесть обратный проход покоду и создание его мутации (дизасм, минимизация кода, пермутация, расширение, сборка), и неважно делается ли это для куска кода, или для всей кодовой секции...
Хорошо, начнем с основ. Для тех, кто еще не знает что такое метаморфизм, скажу, что суть этой техники заключается в ПОЛНОМ изменении тела вируса без изменения его функциональности. Проще говоря, это то же самое, что и полиморфизм декриптора, но примененный ко всему телу вируса. (C) Billy Belcebu
Поверим бывшему мемберу 29a? 
|
|
|

21.08.2006, 19:17
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
>>сигатуру ВМ, как было с VmProtect и каспером (на 4то я намикал)
"заморфлен" (с то4ки зрения анализатора; незнаю по4ему ты так любишь это слово) будет ПИ-КОД()!!!, выпоняемый на декектируемой ВМ
>>Поверим бывшему мемберу 29a?
=) ну раз уж так, то в свою о4ередь процитирую ms-rem (Спец Хакер, №57, стр 58)
Полиморф обы4но просто ДОБАВЛЯЕТ в код мусорные инструкции, 4тобы затруднить дизассмеблировние и анализ кода, а метаморф старается целиком ИЗМЕНИТЬ ВИД кода, сохряняя при этом оригинальный алгоритм его работы, для 4его он заменяет интрукции синонимами, состоящими в свою о4ередь из нескольких других инструкций.
тоесть, вывод в обеих цитатах делается с упором на ПОЛНОЕ изменение кода, а не на ТЕЛО ВСЕГО ВИРУСА, т.к. цель всех манипуляций полиморфов\метаморфов - обмануть анализатор ТОЛЬКО в тех кусках кода, которые в этом нуждаются, а морфировать весь код не представляется нужным, т.к. это, за4астую, дополнительно такты процессора...
Последний раз редактировалось ProTeuS; 21.08.2006 в 19:20..
|
|
|

21.08.2006, 19:26
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
Сообщение от hidden
в моём примере он меняется примерно также но только на стадии компиляции, причём даже размер кода меняется.
вот примерная структура метаморфного движка:
Disassembler -> Shrinker -> Permutator -> Expander ->
Assembler
имхо неважно где код находится(сохраняется), а важно просто 4тобы входной файл(дамп и т.д.) пропускался 4ерез такую последовательность
|
|
|

21.08.2006, 19:34
|
|
Познающий
Регистрация: 15.08.2006
Сообщений: 74
Провел на форуме: 53311
Репутация:
77
|
|
"заморфлен" (с то4ки зрения анализатора; незнаю по4ему ты так любишь это слово) будет ПИ-КОД()!!!, выпоняемый на декектируемой ВМ
Ну это понятно, но я имел ввиду, что сами вызовы ВМ(например у VMProtect'a они выглядят вроде так: push reg/mem puah reg/mem call xxx) тоже можно метморфизировать и за что тогда цепляться АВ?
|
|
|

21.08.2006, 19:44
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
Ну это понятно, но я имел ввиду, что сами вызовы ВМ(например у VMProtect'a они выглядят вроде так: push reg/mem puah reg/mem call xxx) тоже можно метморфизировать и за что тогда цепляться АВ?
не пробовал (по крайней мере если виртуализировать темидой, то она будет о4ень не довольна =), 4то понятно), но даже если это и работает, то я намекал на другое - про политику аверей, кидать в блэк саму VM даже не имея других вариантов - имхо неуважительно не только относительно девелоперов, но и коне4ных пользователей
Последний раз редактировалось ProTeuS; 21.08.2006 в 19:49..
|
|
|

21.08.2006, 19:49
|
|
Познающий
Регистрация: 15.08.2006
Сообщений: 74
Провел на форуме: 53311
Репутация:
77
|
|
Да только, что друг попросил глянуть файл т.к. он начал палиться каспером как Trojan.Win32.Pakes, оказывается он был просто запакован приватным пакером, который наверное или вышел на паблик или попал в руки какому-нибудь любителю пинчей)
|
|
|

21.08.2006, 20:11
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Дизассемблирование и ассемблирование - имхо слишком геморный просесс, лучьше зашифровать код, разбить расшифровщик на байты(может есщё на слова и двойные слова), а потом сгенерировать случайную последовательность из набора инструкций или набора груп инструкций, способных модифицировать первую часть себя в расшифровщик кода вируса и передать на него управление, а ко всему прочему можно их(инструкции) ещё и поменять местами. А чем больше закладываешь в него инструкций, тем длинее получается код способный его найти, а значит и быстродействие АВ падает.
А вот телько-что придумал, если между каждыми 3-5 инструкциями вставить вызовы функций, только-что расшифрованных предидущими, думаю тогда и регулярные выражения не помогут, потому-что будут палиться большая часть запускаемых файлов. Или добавить безполезные инструкции например:
Код:
mov [pos], val
mov eax, val
mov [pos], eax
mov [pos], not val
not val
lea eax, [val+25]
mov [pos], eax
sub [pos], 25
Последний раз редактировалось hidden; 21.08.2006 в 20:40..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|