Comment déterminer la fonction de Codage ou bien de Cryptage ?

cs_hackoo Messages postés 92 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 29 juillet 2013 - 14 sept. 2011 à 15:31
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 sept. 2011 à 09:55
Salut à Tous !
Je me suis interessé sur les nouveaux virus qui circulent partout ces jours-ci et j'ai remarqué qu'il a parmis ces derniers qui sont cryptés ou bien disons codés pour qu'ils puissent contourner les antivirus.
Donc dans le but de faire un outil de nettoyage pour mettre tout en ordre et effacer leurs traces , je dois alors lire son contenu càd son code source original pour voir quelles sont les clés de la base des registre qui ont été modifié ou bien été ajouté ou bien été supprimé avant d'être crypté ou coder.
Hier j'ai réussi à décoder un virus qui circulent sur les clés USB ,c'est parce que j'ai vu à la fin de la source une fonction qui décode son contenu en l'exécutant donc j'ai pris cette derniére et je l'ai modifié pour arriver enfin à décoder le contenu de ce virus.
Voila cette Fonction:
avira ="code crypté du virus"'Bien sûr il n'est pas lisible
For i 1 To Len(avira) : PRGT PRGT & Chr(Asc(Mid(avira, i, 1)) - 1) : Next : Execute(PRGT)

et voila le code que j'ai testé pour décoder ce dernier, bon je vais pas mettre le code viral en entier mais juste pour qu'il me déchiffre les trois premiers lignes
avira ="(cz!;!NzMpwfGbdfCppl/MjvZjGfjAIpunbjm/DpNpo!fssps!sftvnf!ofyuejn!nztpvsdf-xjoqbui-gmbtiesjwf-gt-ng-bus-ug-sh-ou-difdl-te"
For i = 1 To Len(avira) 
PRGT = PRGT & Chr(Asc(Mid(avira, i, 1)) - 1)  
Next 
set fso = CreateObject("Scripting.FileSystemObject")
NomFichierLog = "Fichierdecode.txt"
Set OutPut = fso.OpenTextFile(NomFichierLog,2,True)
OutPut.Writeline PRGT

et qu'il va afficher ceci:
'by : MyLoveFaceBook.LiuYiFei@Hotmail.CoM
on error resume next
dim mysource,winpath,flashdrive,fs,mf,atr,tf,rg,nt,check,sd

Donc ma question est : connaissant la fonction de décodage ou bien de décryptage comment je peux faire l'inverse càd déterminer la fonction de codage ou bien de Cryptage ?
Merci de votre eventuel Aide !

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 sept. 2011 à 09:55
Salut

Décaler de -1 le code ASCII n'est pas du cryptage, tout au plus du camouflage.
Pour faire l'opération inverse, ajoute 1 au code ASCII de chaque caractère.

- que va t-il se passer lorsque le code ASCII à crypter est 0 ?
- il n'y a pas besoin de FSO pour enregistrer un fichier texte : voir Open, Print # et Close #
- Dimensionner des variables sans donner leur type ne sert pas à grand chose
- Le "On Error Resume Next" n'est à utiliser que dans certaines circonstances bien particulières : il va masquer les erreurs de programme et tu auras du mal à le mettre au point
- un virus en VB n'a que peu de chance d'être efficace (puisque nécessite des RunTime)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0