TTC - J'ai pas sommeil
Et un petit bout de code en Assembleur NASM, pour afficher une Message Box sous Win (et surtout pour s'initier un peu a l'API Windobe):
; Constantes et structures prédéfinies pour l'utilisation de l'API Windows
%include "win32n.inc"
; Librairies
; On importe ExitProcess depuis kernel32.dll
; et MessageBoxA depuis user32.dll
EXTERN ExitProcess
IMPORT ExitProcess kernel32.dll
EXTERN MessageBoxA
IMPORT MessageBoxA user32.dll
; Le segment des données:
segment .data USE32
MessageBox_TITRE db "Belle MessageBox",0
MessageBox_CONTENU db "5m0k3 c'est mon keupin, il roxX",0
ErrorCode dd 0
; Le segment de code:
segment .code USE32
;Début du code
..start:
;On pousse les arguments sur la pile (à l'envers hein...) avant d'appeller MessageBoxA
;int MessageBox(
; HWND hWnd,
; LPCTSTR lpText,
; LPCTSTR lpCaption,
; UINT uType
;);
push dword MB_ICONINFORMATION + MB_OKCANCEL ; les Boutons : http://bob.developpez.com/tutapiwin/article_19.php
push dword MessageBox_TITRE ; Titre
push dword MessageBox_CONTENU ; Contenu
push dword 0 ; Handle du popa, ici il n'y en a pas.
call [MessageBoxA]
;EAX contient une valeur représentant quel bouton à été cliqué
; On pousse le code d'erreur de retour (ici return 0;)
push dword ErrorCode
call [ExitProcess]
On aura besoin de ca : http://rs1.szif.hu/~tomcat/win32/win32n.zip
Et des binaires NASM pour Windows : http://sourceforge.net/project/showfiles.php?group_id=6208&package_id=47034&release_id=625081
Les librairies kernel32.lib et user32.lib pourront être trouvées en installant MASM : http://www.masm32.com/masmdl.htm dans le dossier C:\masm32\lib
Va maintenant falloir assembler tout ça :
D0ne! =)
1 commentaire:
NASM c'est le bien :)
Enregistrer un commentaire