Исследователи Куматори Электроядерная Реактор Test Facility (КАРТ) (экономист статью, если вы подписаться) обнаружили способ принудительно распада радиоактивных отходов (нептуния, плутония, америция, кюрия и т.д.) в менее -lethal изотопы элементов, которые только радиоактивный течение многих лет, вместо десятков тысяч или десятков миллионов лет. По сути, они хлопают радиоактивных отходов с нейтронного пучка, который добавляет массу радиоактивных отходов, в результате чего его transmutate в другой элемент, который, в свою очередь приводит к его распаду быстрее.
Это заставило меня задуматься, если вы можете хлопнуть элемент с с нейтронного пучка, чтобы создать новый элемент, ну, может быть, вы можете сделать то же самое в файле, чтобы избежать надоедливых "Антивирус"? Ну, кажется, вы можете. Хорошим примером этого является морфин Святого Отца. Морфин работает в том числе свой собственный PE погрузчик. Это позволяет ему поставить весь исходный файл в секции .text нового файла PE. Он также содержит полиморфный движок, который всегда создает совершенно иной дешифратор для нового файла PE каждый раз Морфин запуска.
Морфин был выпущен в марте 2004 года, а также основные антивирусные компании не имел метод общем Detecting "Morphined" исполняемых до Q4 2005 года частный версия морфина еще создает verisons бинарных файлов, которые невозможно обнаружить в каждом Antivirus производителя на рынке. Другие идеи просто переставить исполняемый так, что он делает essentally "то же самое", но изменить основные инструкции двоичной. Примером может быть, чтобы переместить значение в реестре EDX в реестр EAX. Как правило, программа будет делать мов EDX, EAX инструкция для достижения этой цели.
Ну, толчок EAX с последующей поп EDX будет делать эффективно то же самое, как MOV EDX, EAX --- принимать значение в EDX и положить его в EAX. Вы видите, где я собираюсь здесь, мы можем полностью изменить статический подпись двоичной в этом процессе. Но, это работает .... .... Ну, не совсем. Если я беру команду 3 байт (MOV EDX, EAX) и заменить его двумя 2 инструкции байт (PUSH EAX и EDX) поп, я изменил смещение в рамках программы на один байт. Это означает, что каждый прыжок, каждый вызов в программе будет выключен с помощью одного байта, то есть программу больше не будет работать.
Три возможных решения этой проблемы: 1. Только подставить инструкции равно 2. Размер пересчитать все переходы и вызовы после вставки или удаления от общего числа байт. 3. Написать собственный троянский виру
com