Des chercheurs de Kumatori Accelerator axée Facilité réacteur d'essai (KART) (économiste article, si vous vous abonnez) ont découvert un moyen de déchets radioactifs de force décroissance (neptunium, plutonium, américium, curium, etc.) en moins isotopes -lethal d'éléments qui ne sont radioactifs pendant des années, au lieu des dizaines de milliers ou des dizaines de millions d'années.
Essentiellement, ils claquent des déchets radioactifs avec un faisceau de neutrons qui ajoute à la masse des déchets radioactifs, l'amenant à se transmuter en un autre élément, qui à son tour provoque sa chute plus rapide. Cela m'a fait penser, si vous pouvez claquer un élément avec un faisceau de neutrons pour créer un nouvel élément, eh bien, peut-être vous pouvez faire la même chose à un fichier afin d'éviter "Anti-Virus embêtants"? Eh bien, il semble que vous pouvez. Un bon exemple de cela est la morphine du Saint-Père. Morphine fonctionne en incluant son propre chargeur PE.
Cela lui permet d'ensemble de l'image source à mettre à la section .text du nouveau fichier PE. Il contient également un moteur polymorphe qui crée toujours décrypteur absolument différent pour le nouveau fichier PE chaque fois Morphine est exécuté. La morphine a été publié en Mars 2004, et les principaux éditeurs de logiciels antivirus n'a pas disposer d'une méthode de détection générique exécutables "Morphined" jusqu'à ce T4 2005. La version privée de la morphine crée encore verisons des binaires qui sont indétectables à chaque fabricant Antivirus sur le marché.
D'autres idées sont tout simplement à réorganiser l'exécutable de sorte qu'il ne essentally «la même chose», mais de modifier les instructions sous-jacentes du binaire. Un exemple consisterait à déplacer la valeur dans le registre de EDX dans le registre d'eax. Typiquement, le programme ferait un EDX mov, eax instruction pour accomplir cela. Eh bien, un eax push suivie d'un EDX pop fera effectivement la même chose comme un mov edx, eax --- prendre la valeur dans EDX et le mettre dans eax.
Vous voyez où je veux en venir, nous pouvons tout à fait modifier la signature statique du binaire dans ce processus. Mais, ça marche .... .... Eh bien, pas vraiment. Si je prends une instruction sur 3 octets (mov edx, eax) et la remplacer par deux 2 instructions de octets (push eax pop et EDX), je l'ai changé le décalage dans le programme d'un octet. Cela signifie que chaque saut, chaque appel dans le programme sera éteint par un octet, signifie que