zerolol
Messages postés6Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention30 janvier 2006
-
29 août 2005 à 12:09
zerolol
Messages postés6Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention30 janvier 2006
-
31 août 2005 à 12:00
Salut
Voila je cherche un autre facon de créé une messagebox autre que ceci...
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...
ToutEnMasm
Messages postés587Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention13 décembre 20223 29 août 2005 à 12:52
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.
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 20142 29 août 2005 à 15:23
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 )
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 20142 30 août 2005 à 07:52
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...
@++
Vous n’avez pas trouvé la réponse que vous recherchez ?
zerolol
Messages postés6Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention30 janvier 2006 30 août 2005 à 01:32
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.