Un peut d'aide pour une messagebox... [Résolu]

Signaler
Messages postés
6
Date d'inscription
vendredi 17 janvier 2003
Statut
Membre
Dernière intervention
30 janvier 2006
-
Messages postés
6
Date d'inscription
vendredi 17 janvier 2003
Statut
Membre
Dernière intervention
30 janvier 2006
-
Salut

Voila je cherche un autre facon de créé une messagebox autre que ceci...

invoke MessageBox, NULL,addr MsgBoxText2, addr MsgCaption2, MB_OKCANCEL
cmp eax, IDCANCEL

et ci vous avez des exemple pour cacher le code pour qu'on ne puisse pas trouver
ex un message d'erreur avec un debuger sans a avoir a utiliser un packer...

merci.

6 réponses

Messages postés
555
Date d'inscription
jeudi 28 novembre 2002
Statut
Non membre
Dernière intervention
5 septembre 2020
1
Salut,
Pour se compliquer la vie,pas de problème .Faire appel a une dialog box , de preference générer a l'execution (et non pas dans le fichier de ressource ,c'est trop simple!).
Masm contient des macros pour faire ça.Le fichier doit s'appeler dlg quelque chose.
On peut aussi faire appel a une feuille fille,et générer la boite par createwindowsex.

ToutEnMasm
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

pour proteger un programme, il faut savoir comment le cracker.

pour cacher une chaine, on peut l'inclure directement dans le code:

maProc PROC p1:DWORD;...
;jmp @F
; azUser32 db "user32.dll",0,0 ; chaines a "xorer" suivant le code + bas
; azMsgBox db "MessageBoxA",0
; azMsg db "chaine inclue dans le code",0
;@@:
lea edx,azUser32
xor [edx],0AAAAAAAAh
xor [edx+4],055555555h
xor [edx+8],0AAAAAAAAh
invoke GetModuleHandle,edx
and eax,eax
lea edx,azMsgBox
je sortie
xor [edx],0AAAAAAAAh
xor [edx+4],055555555h
xor [edx+8],0AAAAAAAAh
invoke GetProcAddress, eax,edx
and eax,eax
lea edx,azMsg
push MB_OKCANCEL
push 0 ; par defaut, windows affichera "Erreur"
push edx
push 0
je sortie
xor [edx],0AAAAAAAAh
...
call eax
lea esp,[esp+4*4] ; optionnel si leave
sortie:
ret
azUser32 db "user32.dll",0,0 ; chaines a "xorer" suivant le code + haut
azMsgBox db "MessageBoxA",0
azMsg db "chaines inclues dans le code",0
maProc ENDP

un bpx avec softice sur MessageBoxA donnera toujours ce qu'on veut.

autrement que de chercher a faire une solution anti-debugger, on peut aussi commencer a emuler le debut du code de la fonction MessageBoxA et sauter a une adresse inferieure.

comme un bpx sur l'ensemble du code de la fonction permettra tj de nous reperer, on peut faire de meme avec createwindowsex ou autres...

on peut aussi inclure du code dans une exception. ( div 0, ou GPF )

@++
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
oups, petite erreur !!!

invoke GetProcAddress, eax,edx
and eax,eax
lea edx,azMsg
je sortie
push MB_OKCANCEL
push 0 ; par defaut, windows affichera "Erreur"
push edx
push 0
xor [edx],0AAAAAAAAh
...
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

c'est tout a fait possible
il faut simplement reouvrir ton exe en mode partagé pour la lecture et
soit lire directement le bloc qui t'interesse et appliquer un checksum perso,
soit mapper le fichier et verifier a des emplacement precis que le code est bon.

pourquoi pas les 2 a des emplacement différents...

@++
Messages postés
6
Date d'inscription
vendredi 17 janvier 2003
Statut
Membre
Dernière intervention
30 janvier 2006

Salut merci pour vos reponce.

C'est sur "patatalo"quon peut toujours trouver un messagebox mais bon le but ici c'est simplement que le message ne soi pas visible directement.
C'est pour un crackme de niveau moyen je ne veut encore mettre de packer ni d'anti-debug.
J'ai simplement augmenté l'algo pour le serial et je veut trouver une soluce pour pas voir les messages sous ollydbg... parce que ce debuger est assé balaise.

PS: Est ce que c'est possible de faire verifier une fonction au code asm pour voir ci elle toujours presente sans avoir a installer une protection par checksum pour le programme complet.

merci
Messages postés
6
Date d'inscription
vendredi 17 janvier 2003
Statut
Membre
Dernière intervention
30 janvier 2006

ok je te remerci...

A++