Accueil > > > AVOIR LA SOURCE ASM DE VOTRE PROJET VB
AVOIR LA SOURCE ASM DE VOTRE PROJET VB
Information sur la source
Description
Ceci permet de créer des fichiers contenant la source ASM de votre programme lors de la compilation. Pour ce faire : 1- dans votre dossier de vb, renommer c2.exe par c2_.exe 2- copier l'éxécutable c2.exe (qui est dans le dossier de ma source) dans le dossier de vb. 3- cour désinstaller, supprimer mon éxécutable (le c2.exe (CELUI EN VB!)) et renommer le c2_.exe (c2.exe original) en en c2.exe 4- créer un fichier appellé c2.cfg dans le dossier de VB 5- dans ce fichier, vous mettez les paramètres que vous voulez envoyer à c2. VOUS AVEZ LE CONTRÔLE DE C2! Pour générer la source ASM, voici le fichier de configuration : ##début du fichier (ne pas inscrire :-) -Fa"$filename$_VB.asm" ##fin du fichier (ne pas inscrire :-) C'est simple non? paramètre, CRLF, paramètre CRLF... Voici la liste des variables : $filename$ > Nom du fichier qui se fait compiler $filepath$ > Dossier du fichier qui se fait compiler $vbpath$ > Dossier de VB (celui dans lequel est l'EXE de mon prog) CES VARIABLES SONT CASE SENSITIVE!!! Je ne sais pas quels paramètres sont pris en charge par c2. Par contre, j'ai mit le fichier cl.txt qui contient les paramètres de cl.exe , le compilateur c++ (il y en a sûrement en commun)
Source
- 'Voici un exemple de la conversion :
- 'Projet VB : Une feuille (form1) avec un bouton (command1) :
-
- Option Explicit
-
- Private Sub Command1_Click()
- Dim strMess As String
- strMess = InputBox("Quel est le mot de passe?")
- If StrComp(strMess, "allo", vbTextCompare) <> 0 Then
- MsgBox "MAUVAIS MOT DE PASSE!", vbCritical + vbOKOnly
- Else
- MsgBox "Mot de passe accepté!", vbInformation + vbOKOnly
- End If
- End Sub
-
- 'Maintenant, le résultat en ASM (ESSAYEZ DE TROUVENT COMMENT LE CRACKER):
- TITLE E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
- .386P
- include listing.inc
- if @Version gt 510
- .model FLAT
- else
- _TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
- _TEXT ENDS
- _DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
- _DATA ENDS
- CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
- CONST ENDS
- _BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
- _BSS ENDS
- _TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
- _TLS ENDS
- text$1 SEGMENT PARA USE32 PUBLIC ''
- text$1 ENDS
- ; COMDAT ?Command1_Click@Form1@@AAGXXZ
- text$1 SEGMENT PARA USE32 PUBLIC ''
- text$1 ENDS
- FLAT GROUP _DATA, CONST, _BSS
- ASSUME CS: FLAT, DS: FLAT, SS: FLAT
- endif
- PUBLIC ?Command1_Click@Form1@@AAGXXZ ; Form1::Command1_Click
- EXTRN __imp_@__vbaStrMove:NEAR
- EXTRN __imp____vba@00617CA8:NEAR
- EXTRN __imp_@__vbaVarDup:NEAR
- EXTRN ___vba@0060DC2C:BYTE
- EXTRN __imp____vbaFreeVarList:NEAR
- EXTRN __imp____vbaStrComp:NEAR
- EXTRN ___vba@0060DC68:BYTE
- EXTRN __imp____vba@00618D04:NEAR
- EXTRN ___vba@00618C40:BYTE
- EXTRN ___vba@00618C74:BYTE
- EXTRN __imp_@__vbaFreeStr:NEAR
- EXTRN ___vbaExceptHandler:NEAR
- EXTRN __except_list:DWORD
- ; COMDAT CONST
- ; File E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
- CONST SEGMENT
- $S40 DB 07H, 00H
- DB 08H, 00H
- DD FLAT:$L39
- DD FLAT:$L37
- DD FLAT:$L38
- CONST ENDS
- ; COMDAT ?Command1_Click@Form1@@AAGXXZ
- text$1 SEGMENT
- _Me$ = 8
- _strMess$ = -24
- _unnamed_var1$ = -40
- _unnamed_var1$ = -56
- _unnamed_var1$ = -72
- _unnamed_var1$ = -88
- _unnamed_var1$ = -104
- _unnamed_var1$ = -120
- _unnamed_var1$ = -136
- _unnamed_var1$ = -152
- __$SEHRec$ = -20
- ?Command1_Click@Form1@@AAGXXZ PROC NEAR ; Form1::Command1_Click, COMDAT
- ; File E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
- ; Line 28
- push ebp
- mov ebp, esp
- sub esp, 12 ; 0000000cH
- push OFFSET FLAT:___vbaExceptHandler
- mov eax, DWORD PTR fs:__except_list
- push eax
- mov DWORD PTR fs:__except_list, esp
- sub esp, 236 ; 000000ecH
- push ebx
- push esi
- push edi
- mov DWORD PTR __$SEHRec$[ebp+8], esp
- mov DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S40
- mov eax, DWORD PTR _Me$[ebp]
- mov ecx, eax
- and ecx, 1
- mov DWORD PTR __$SEHRec$[ebp+16], ecx
- and al, -2 ; fffffffeH
- push eax
- mov DWORD PTR _Me$[ebp], eax
- mov edx, DWORD PTR [eax]
- call DWORD PTR [edx+4]
- xor ebx, ebx
- ; Line 30
- mov edi, -2147352572 ; 80020004H
- mov esi, 10 ; 0000000aH
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- mov DWORD PTR _strMess$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp], ebx
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@0060DC2C
- mov DWORD PTR _unnamed_var1$[ebp], 8
- call DWORD PTR __imp_@__vbaVarDup
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- push eax
- call DWORD PTR __imp____vba@00617CA8
- mov edx, eax
- lea ecx, DWORD PTR _strMess$[ebp]
- call DWORD PTR __imp_@__vbaStrMove
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- push ecx
- push 7
- call DWORD PTR __imp____vbaFreeVarList
- ; Line 31
- mov edx, DWORD PTR _strMess$[ebp]
- add esp, 32 ; 00000020H
- push edx
- push OFFSET FLAT:___vba@0060DC68
- push 1
- call DWORD PTR __imp____vbaStrComp
- test ax, ax
- ; Line 32
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- mov DWORD PTR _unnamed_var1$[ebp+8], edi
- mov DWORD PTR _unnamed_var1$[ebp], esi
- je SHORT $L46
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@00618C40
- mov DWORD PTR _unnamed_var1$[ebp], 8
- call DWORD PTR __imp_@__vbaVarDup
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- push edx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push 16 ; 00000010H
- push eax
- call DWORD PTR __imp____vba@00618D04
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- push ecx
- ; Line 33
- jmp SHORT $L74
- $L46:
- ; Line 34
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@00618C74
- mov DWORD PTR _unnamed_var1$[ebp], 8
- call DWORD PTR __imp_@__vbaVarDup
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- push ecx
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push 64 ; 00000040H
- push edx
- call DWORD PTR __imp____vba@00618D04
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- push eax
- $L74:
- push 4
- call DWORD PTR __imp____vbaFreeVarList
- add esp, 20 ; 00000014H
- ; Line 36
- mov DWORD PTR __$SEHRec$[ebp+16], ebx
- $L39:
- push $L70
- jmp SHORT $L65
- $L38:
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- lea edx, DWORD PTR _unnamed_var1$[ebp]
- push ecx
- lea eax, DWORD PTR _unnamed_var1$[ebp]
- push edx
- lea ecx, DWORD PTR _unnamed_var1$[ebp]
- push eax
- push ecx
- push 7
- call DWORD PTR __imp____vbaFreeVarList
- add esp, 32 ; 00000020H
- ret 0
- $L65:
- $L37:
- lea ecx, DWORD PTR _strMess$[ebp]
- call DWORD PTR __imp_@__vbaFreeStr
- $L68:
- ret 0
- $L70:
- mov eax, DWORD PTR _Me$[ebp]
- push eax
- mov edx, DWORD PTR [eax]
- call DWORD PTR [edx+8]
- mov eax, DWORD PTR __$SEHRec$[ebp+16]
- mov ecx, DWORD PTR __$SEHRec$[ebp]
- pop edi
- pop esi
- mov DWORD PTR fs:__except_list, ecx
- pop ebx
- mov esp, ebp
- pop ebp
- ret 4
- ?Command1_Click@Form1@@AAGXXZ ENDP ; Form1::Command1_Click
- text$1 ENDS
- END
'Voici un exemple de la conversion :
'Projet VB : Une feuille (form1) avec un bouton (command1) :
Option Explicit
Private Sub Command1_Click()
Dim strMess As String
strMess = InputBox("Quel est le mot de passe?")
If StrComp(strMess, "allo", vbTextCompare) <> 0 Then
MsgBox "MAUVAIS MOT DE PASSE!", vbCritical + vbOKOnly
Else
MsgBox "Mot de passe accepté!", vbInformation + vbOKOnly
End If
End Sub
'Maintenant, le résultat en ASM (ESSAYEZ DE TROUVENT COMMENT LE CRACKER):
TITLE E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
text$1 SEGMENT PARA USE32 PUBLIC ''
text$1 ENDS
; COMDAT ?Command1_Click@Form1@@AAGXXZ
text$1 SEGMENT PARA USE32 PUBLIC ''
text$1 ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC ?Command1_Click@Form1@@AAGXXZ ; Form1::Command1_Click
EXTRN __imp_@__vbaStrMove:NEAR
EXTRN __imp____vba@00617CA8:NEAR
EXTRN __imp_@__vbaVarDup:NEAR
EXTRN ___vba@0060DC2C:BYTE
EXTRN __imp____vbaFreeVarList:NEAR
EXTRN __imp____vbaStrComp:NEAR
EXTRN ___vba@0060DC68:BYTE
EXTRN __imp____vba@00618D04:NEAR
EXTRN ___vba@00618C40:BYTE
EXTRN ___vba@00618C74:BYTE
EXTRN __imp_@__vbaFreeStr:NEAR
EXTRN ___vbaExceptHandler:NEAR
EXTRN __except_list:DWORD
; COMDAT CONST
; File E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
CONST SEGMENT
$S40 DB 07H, 00H
DB 08H, 00H
DD FLAT:$L39
DD FLAT:$L37
DD FLAT:$L38
CONST ENDS
; COMDAT ?Command1_Click@Form1@@AAGXXZ
text$1 SEGMENT
_Me$ = 8
_strMess$ = -24
_unnamed_var1$ = -40
_unnamed_var1$ = -56
_unnamed_var1$ = -72
_unnamed_var1$ = -88
_unnamed_var1$ = -104
_unnamed_var1$ = -120
_unnamed_var1$ = -136
_unnamed_var1$ = -152
__$SEHRec$ = -20
?Command1_Click@Form1@@AAGXXZ PROC NEAR ; Form1::Command1_Click, COMDAT
; File E:\Programmes\Microsoft Visual Studio\VB98\test asm\Form1.frm
; Line 28
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
push OFFSET FLAT:___vbaExceptHandler
mov eax, DWORD PTR fs:__except_list
push eax
mov DWORD PTR fs:__except_list, esp
sub esp, 236 ; 000000ecH
push ebx
push esi
push edi
mov DWORD PTR __$SEHRec$[ebp+8], esp
mov DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S40
mov eax, DWORD PTR _Me$[ebp]
mov ecx, eax
and ecx, 1
mov DWORD PTR __$SEHRec$[ebp+16], ecx
and al, -2 ; fffffffeH
push eax
mov DWORD PTR _Me$[ebp], eax
mov edx, DWORD PTR [eax]
call DWORD PTR [edx+4]
xor ebx, ebx
; Line 30
mov edi, -2147352572 ; 80020004H
mov esi, 10 ; 0000000aH
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
lea edx, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
mov DWORD PTR _strMess$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp], ebx
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@0060DC2C
mov DWORD PTR _unnamed_var1$[ebp], 8
call DWORD PTR __imp_@__vbaVarDup
lea eax, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
push eax
call DWORD PTR __imp____vba@00617CA8
mov edx, eax
lea ecx, DWORD PTR _strMess$[ebp]
call DWORD PTR __imp_@__vbaStrMove
lea ecx, DWORD PTR _unnamed_var1$[ebp]
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
push ecx
push 7
call DWORD PTR __imp____vbaFreeVarList
; Line 31
mov edx, DWORD PTR _strMess$[ebp]
add esp, 32 ; 00000020H
push edx
push OFFSET FLAT:___vba@0060DC68
push 1
call DWORD PTR __imp____vbaStrComp
test ax, ax
; Line 32
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
mov DWORD PTR _unnamed_var1$[ebp+8], edi
mov DWORD PTR _unnamed_var1$[ebp], esi
je SHORT $L46
lea edx, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@00618C40
mov DWORD PTR _unnamed_var1$[ebp], 8
call DWORD PTR __imp_@__vbaVarDup
lea eax, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
push edx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push 16 ; 00000010H
push eax
call DWORD PTR __imp____vba@00618D04
lea ecx, DWORD PTR _unnamed_var1$[ebp]
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
push ecx
; Line 33
jmp SHORT $L74
$L46:
; Line 34
lea edx, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
mov DWORD PTR _unnamed_var1$[ebp+8], OFFSET FLAT:___vba@00618C74
mov DWORD PTR _unnamed_var1$[ebp], 8
call DWORD PTR __imp_@__vbaVarDup
lea edx, DWORD PTR _unnamed_var1$[ebp]
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
push ecx
lea edx, DWORD PTR _unnamed_var1$[ebp]
push 64 ; 00000040H
push edx
call DWORD PTR __imp____vba@00618D04
lea eax, DWORD PTR _unnamed_var1$[ebp]
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
push eax
$L74:
push 4
call DWORD PTR __imp____vbaFreeVarList
add esp, 20 ; 00000014H
; Line 36
mov DWORD PTR __$SEHRec$[ebp+16], ebx
$L39:
push $L70
jmp SHORT $L65
$L38:
lea ecx, DWORD PTR _unnamed_var1$[ebp]
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
lea edx, DWORD PTR _unnamed_var1$[ebp]
push ecx
lea eax, DWORD PTR _unnamed_var1$[ebp]
push edx
lea ecx, DWORD PTR _unnamed_var1$[ebp]
push eax
push ecx
push 7
call DWORD PTR __imp____vbaFreeVarList
add esp, 32 ; 00000020H
ret 0
$L65:
$L37:
lea ecx, DWORD PTR _strMess$[ebp]
call DWORD PTR __imp_@__vbaFreeStr
$L68:
ret 0
$L70:
mov eax, DWORD PTR _Me$[ebp]
push eax
mov edx, DWORD PTR [eax]
call DWORD PTR [edx+8]
mov eax, DWORD PTR __$SEHRec$[ebp+16]
mov ecx, DWORD PTR __$SEHRec$[ebp]
pop edi
pop esi
mov DWORD PTR fs:__except_list, ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
?Command1_Click@Form1@@AAGXXZ ENDP ; Form1::Command1_Click
text$1 ENDS
END
Conclusion
Je ne mit connais pas en ASM mais je sais qu'il est valide car toute les procédures y sont. Ceci va sûrement interressé plusieurs...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|