Forskere ved Kumatori Accelerator-drevet Reactor Test Facility (KART) (Economist artikel, hvis du abonnerer) har opdaget en måde at tvinge henfald radioaktivt affald (neptunium, plutonium, americium, Curium, etc.) i mindre-dødelige isotoper af elementer, der kun er radioaktive i årevis, i stedet for titusinder eller snesevis af millioner år. Væsentlige, de smække radioaktivt affald med en neutronstrålen der tilføjer masse til det radioaktive affald, får det til at transmutate i et andet element, som på sin side får den til at henfalde hurtigere.
Dette fik mig til at tænke, hvis du kan smække et element med en neutron stråle til at oprette et nyt element, ja, måske du kan gøre det samme til en fil for at undgå "irriterende Anti-Virus"? Tja, synes det du kan. Et godt eksempel på dette er hellige Faders Morfin. Morfin virker ved, herunder sin egen PE loader. Dette gør det muligt at sætte hele kildebilledet til .text afsnit af nye PE fil. Den indeholder også en polymorf motor, der skaber altid helt anden dekrypteringsenhed til den nye PE fil hver gang Morfin køres.
Morfin blev udgivet i marts 2004, og de store Antivirus selskaber ikke havde en metode til generisk Afsløring "Morphined" eksekverbare indtil 4. kvartal 2005. Den private version af morfin stadig skaber verisons af binære filer, der er målbart for alle Antivirus maker på markedet. Andre ideer er simpelthen at omarrangere den eksekverbare, så det gør essentally "det samme", men ændre de underliggende anvisninger binære. Et eksempel kunne være at flytte værdien i EDX registeret i EAX registret. Typisk programmet ville gøre en mov EDX, at EAX instruktion opnå dette.
Nå, vil en push EAX efterfulgt af en pop EDX gøre effektivt det samme som en mov EDX, EAX --- tage værdien i EDX og sætte det ind EAX. Du se, hvor jeg vil her, kan vi helt ændre den statiske underskrift binære i denne proces. Men, fungerer det .... .... Nå, ikke rigtig. Hvis jeg tager en 3 byte instruktion (mov EDX, EAX), og erstatte den med to 2 byte instruktioner (skub EAX og pop EDX), har jeg ændret offset i programmet med en byte. Det betyder, at hvert hop, vil alle opkald i programmet være slukket af en byte, hvilket betyder, at programmet ikke længere.
Tre mulige løsninger på dette problem: 1. erstatte kun lige store instruktioner 2. Genberegn alle hop og opkald efter indsættelse eller sletning af det samlede antal bytes. 3. Skriv vores egen trojan /virus, eller hvad vi forsøger at udrette (ikke i fokus i denne artikel dog) Ok,