ReFormers
On peut récupérer les élements d'interface, le Design d'un prog.
Un bon départ pour comprendre sa sa logique.
VBReformer
(Semi) Decompilers
La décompilation compléte (en terme de pertinence) d'un prog est une légende meme pour le VB.
A part peut-étre pour les premiéres version (<VB5 ?).
Par contre si on cherche à comprendre le fonctionnement de certaines parties du prog on peut invoquer ces outils.
Différence importante: On n'obtiendra pas le meme type d'information, la meme profondeur de retro
si le binaire est du P-Code (pour la machine virtuelle VB) ou du Natif (N-Code).
La prise en charge ces deux types de binaires est variable parmi les décompilos VB.
Certains étant spécialisés (ou efficaces) dans un seul.
D'autre part la gestion des (sous)procédures et du code associés au events peut étre inéxistante.
Cas pour VBRezQ et Vbde (?)
Exdec (P-Code uniquement) Parfois plantages violents sous WinME
P32Dasm (P-Code et Natif) Excellent
VB Decompiler (P-Code uniquement)
VB6 Decompiler (Vbde) (P-Code et Natif)
VBExplorer (P-Code uniquement)
VBParser (Interface en Chinois, difficile de tout comprendre :-)
VBRezQ (P-Code et Natif)
Debuggers
Au lieu de travailler sur le source en statique, on peut alors suivre l'évolution en dynamique:
Le prog est chargé en RAM et on controle son éxécution pas à pas ou par blocs entiers.
On compléte l'analyse d'une partie du programme décompilée précedemment par exemple.
Mise en garde récurrente: Si on analyse un Malware de type Virus ou Vers, Ne pas utiliser de Debugger !
Sauf dans un environement-suicide type Virtual Machine.
Meme dans ce cas, ça peut devenir vicieux: Donner la main à ce genre de code meme en surveillant son éxécution est toujours un jeu dangereux.
Numega SmartCheck
WKTVBDebugger (P-Code)
L'infame Kelvir (virus MSN) soumis à l'analyse de VBExplorer puis un extrait de source P-Code du meme virus obtenu avec P32Dasm et montrant les fonctions dites de Retro Virus de la bestiole (désactivation des protections de la machine):
0000BA98: 1B LitStr: "Kingsoft AntiVirus Service"
0000BA9B: 0A ImpAdCallFPR4 modKillService 3.8
0000BAA0: 00 LargeBos
0000BAA2: F4 LitI2_Byte: 255 0xFF (True)
0000BAA4: 2B PopTmpLdAd2
0000BAA7: 1B LitStr: "VNC server"
0000BAAA: 0A ImpAdCallFPR4 modKillService 3.8
0000BAAF: 00 LargeBos
0000BAB1: F4 LitI2_Byte: 255 0xFF (True)
0000BAB3: 2B PopTmpLdAd2
0000BAB6: 1B LitStr: "Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)"
0000BAB9: 0A ImpAdCallFPR4 modKillService 3.8
0000BABE: 00 LargeBos
0000BAC0: F4 LitI2_Byte: 255 0xFF (True)
0000BAC2: 2B PopTmpLdAd2
0000BAC5: 1B LitStr: "symantec central quarantine"
0000BAC8: 0A ImpAdCallFPR4 modKillService 3.8
0000BACD: 00 LargeBos
0000BACF: F4 LitI2_Byte: 255 0xFF (True)
0000BAD1: 2B PopTmpLdAd2
0000BAD4: 1B LitStr: "symantec quarantine agent"
0000BAD7: 0A ImpAdCallFPR4 modKillService 3.8
0000BADC: 00 LargeBos
0000BADE: F4 LitI2_Byte: 255 0xFF (True)
0000BAE0: 2B PopTmpLdAd2
0000BAE3: 1B LitStr: "symantec quarantine scanner"
0000BAE6: 0A ImpAdCallFPR4 modKillService 3.8
0000BAEB: 00 LargeBos
0000BAED: F4 LitI2_Byte: 255 0xFF (True)
0000BAEF: 2B PopTmpLdAd2
0000BAF2: 1B LitStr: "msclol2"
0000BAF5: 0A ImpAdCallFPR4 modKillService 3.8
| Novembre 2009 | ||||||||||
| L | M | M | J | V | S | D | ||||
| 1 | ||||||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | ||||
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | ||||
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | ||||
| 30 | ||||||||||
|
||||||||||