begin process at 2010 03 14 06:56:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Systeme

 > CODE MORPHEUR

CODE MORPHEUR


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Systeme Niveau :Expert Date de création :21/06/2003 Date de mise à jour :21/06/2003 11:43:35 Vu / téléchargé :4 780 / 190

Auteur : Stormbringer

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 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/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   MORPH32
    • CRC32Calculator.incTélécharger ce fichier [Réservé aux membres club]1 690 octets
    • Morph32.incTélécharger ce fichier [Réservé aux membres club]8 323 octets
    • Morph32_flags.incTélécharger ce fichier [Réservé aux membres club]269 octets
    • MorphTable.incTélécharger ce fichier [Réservé aux membres club]1 225 octets
    • PseudoCodeGenerator.incTélécharger ce fichier [Réservé aux membres club]9 095 octets
    • RndNumberGenerator.incTélécharger ce fichier [Réservé aux membres club]1 631 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip CODE GENERATOR
Source avec Zip GARBAGE GENERATOR
Source avec Zip INSTRUCTION MAKER
Source avec Zip ADVANCED FILE I/O POUR TASM32
Source avec Zip FILE I/O POUR TASM32

 Sources de la même categorie

DÉPLACEMENT D'UN RÉCTANGLE ROUGE A L'AIDE DE LA SOURIS par KIMI1632
Source avec Zip SCHEDULEUR TEST par patatalo
Source avec Zip Source avec une capture LIVE CD OMF par patatalo
Source avec Zip "MORTIMER": UN HOBBY OS par bofur
Source avec Zip Source avec une capture LE SYSTÈME D'EXPLOITATION LOGRAM par steckdenis

Commentaires et avis

Commentaire de Snyps le 28/06/2003 00:27:47

quel intéret ?

en plus tu renplaces un mov par un push, mov, pop.... doc ?!!??

Pourquoi pas simplement un push edx pop ecx ???

Commentaire de eRoZion le 30/06/2003 18:47:00

L'intéret...
Enfin dumoins celui que je lui voit c'est de pouvoir faire morpher ton code pour que ton programme soit capable de changer constemment de signature numérique genre virus intelligents ou autres morpheurs.

Dite-moi si je me trompe.

Commentaire de Ninkosen le 13/07/2003 08:36:38

son code n'est en effet pas dénué d'intérêt snyps (bien que push edx, pop ecx, morphes aussi bien en plus court ;-) ), pour la raison (qui paraissait évidente d'ailleurs...) qu'il cite...
par contre eRoZion (pk pas "3R0Zi0n" tant qu'on y est, t'aimes pas ? dsl j'aime po les pseudos cowboys...), ton rêve ne peux que s'arreter là, morpher n'importe quel programme est quasiment infaisable parce que il y a du code qui a des références, exemple tu as comme code :

saut:
mov ecx, edx
jump saut

avec ton truc t'obtiens :

push esi
mov esi, edx
push esi
pop ecx
saut:
pop esi
jump saut

bon evidemment tu me réponds "ba quand y'a des jumps il suffit de réjuster leur valeur", je te rétorque alors "oui mais maintenant suppose que le saut se fasse non pas avec une constante mais avec un registre, etc...y'a un million de cas a gérer, et y'en a quelques uns qui ne sont pas faisables"

on peut morpher un code, oui, mais pas n'importe lequel, en tous k surement

Commentaire de Stormbringer le 20/07/2003 12:34:46

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).

Commentaire de gatesbillou le 13/08/2003 19:25:08

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 ?

Commentaire de Stormbringer le 23/08/2003 21:45:12

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, ...

Commentaire de gatesbillou le 26/08/2003 11:35:37

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+

Commentaire de Blawk le 17/08/2004 18:39:22

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.

 Ajouter un commentaire




Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales