Code morpheur

Soyez le premier à donner votre avis sur cette source.

Vue 6 641 fois - Téléchargée 323 fois

Description

Morphe une instruction désassemblée avec mon mini-désassembleur.

Exemple:

avant: mov ecx, edx

aprés: push esi
mov esi, edx
push esi
pop ecx
pop esi

Conclusion :


Pour plus d'infos: http://vx.netlux.org/~dark-avenger/

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
10 septembre 2004

Citation:

Ninkosen --> le fait que le saut se fasse avec un registre est non pas
avec une constante ne pose AUCUN problème, car TOUS
les registres SONT PRESERVES après le morphage.
Regarde bien mon exemple, les valeurs de esi et de edx
sont préservés. Donc s'il y avait un jmp esi juste après,
AUCUNS problèmes, il suffit de réajuster la taille du saut.
Ce qui ne pose aucun problème car nous connaissons la
taille des instructions ;-p)


Ninkosen est tout à fait dans le vrai.

Exemple:

jmp label
; Ceci pourra être réajuster.


mov eax, label
jmp eax
; Ceci ne pourra pas être réajuster.
Messages postés
13
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
31 août 2011

DAME = Dark Angel's Multiple Encryptor ????

Oui , c'est tres interressant comme systeme (je travail actuellement sur un moteur de mutation http://low-level.da.ru).
Comme jai pas trop le temps , ca n'avance pas très vite , mais ca promet :o)
A+
Messages postés
5
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
30 juin 2004

Tu as oublié de dire que le VME ainsi que le DGME (Darwinian Genetic Mutation Engine) ont été écrit par Mark Ludwig et que
le premier de tous les moteurs de mutation est le DAME (Dark Avenger Mutation Engine (attention, c pas moi ;-p)). Non, je ne suis pas bulgare, et Black Baron (SMEG) me plait bien, mais c'était le pseudo d'un
anglais qui a finit en prison alors, ...
Messages postés
13
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
31 août 2011

Y à aussi :
Trident Polymorphique Engine (TPE)
Visible Mutation Engine (VME)
Dark Slayer Mutation Engine (DSME)
Darck Slayer Confusion Engine (DSCE)
Premiere question : t'es bulgare ?
Deuxieme question : Et Black Baron ca te plait pas comme pseudo ?
Messages postés
5
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
30 juin 2004

eRoZion --> tu as tout bon !

Ninkosen --> le fait que le saut se fasse avec un registre est non pas
avec une constante ne pose AUCUN problème, car TOUS
les registres SONT PRESERVES après le morphage.
Regarde bien mon exemple, les valeurs de esi et de edx
sont préservés. Donc s'il y avait un jmp esi juste après,
AUCUNS problèmes, il suffit de réajuster la taille du saut.
Ce qui ne pose aucun problème car nous connaissons la
taille des instructions ;-p)

A tous --> je suis OK pour dire que push edx/pop ecx soit plus court,
mais n'oubliez pas que ce n'est qu'un exemple et que l'on
ne cherche pas spécialement à faire court, mais à
dissimuler. En fait le morphage se fait de manière
aléatoires, en utilisant une base de règles. On ne peut donc
pas prévoir la tête qu'aura un mov, rol, shl, ... après être
passé par le morpheur (du moins en principe).
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.