Que faire quand il n'y a pas de SDR ? Réponse ici !

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

bon boulot

Messagepar atlas » 13 Juillet 2011, 10:31

chapeau pour l'explication ,

c'est en partageant le savoir que l'on arrive a avancer tous ensemble
atlas
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 140
Inscription: 24 Octobre 2008, 18:46

Re: bon boulot

Messagepar roxtar » 16 Juillet 2011, 15:57

atlas a écrit:c'est en partageant le savoir que l'on arrive a avancer tous ensemble


C'est le slogan gaz de france ou ratp ? :aie:

Sinon, en effet merci pour ces expliquations ! Y a t'il d'autres sujets aussi logiques ? traités ou non sur le forum
J'apprends ...
(en ecoutant 8 BIT FM )
roxtar
Elève
Elève
 
Messages: 40
Inscription: 23 Juin 2011, 15:48

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar atlas » 23 Juillet 2011, 19:28

ni l'un ni l'autre

je suis pas fonctionnaire :roll:
atlas
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 140
Inscription: 24 Octobre 2008, 18:46

Re: Que faire quand il n'y a pas de SDR ???

Messagepar chegmarco » 18 Avril 2013, 22:28

Bonsoir à tous
Concernant la Méthode de la pile dans l'explication ci-dessus, j'aimerais savoir comment reconnaître l'APIs idéal, celui qui convient et qui annonce le message d'erreur puis qu'il y a plusieurs APIs dans la Fenêtre des Noms qui s'ouvre lorsqu'on fait CTRL + N ?
Alors y a t-il une manière pour le reconnaître ce qui me convient ?

Merci d'avance
chegmarco
Débutant
Débutant
 
Messages: 27
Inscription: 29 Mars 2013, 14:19

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar etherlord » 19 Avril 2013, 06:42

On ne t'avait aps demandé de ne pas multiplier les posts identiques ?

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar yakman » 18 Mai 2013, 16:36

2) Programme unpacké ou non packé mais pas de SDR...

2-A ) Méthode des APIs :

Breaker sur les APIs devrait être la première chose à faire. Si c'est une MessageBox qui vous annonce l'erreur, on peut poser un breakpoint sur l'API MessageBox et ce sur tous ses CALLs.

Olly : CTRL + N pour faire apparaitre la fenêtre des noms :

Image

Choisissez l'API qui convient (ici MessageBox, on click gauche dessus) puis faites un click droit sur cette ligne et "View Call Tree" :


Bonjour
Que faire lorsque dans la fenêtre des Noms (CTRL + N) on se retrouve avec 3 API's qui définissent la boîte de message sachant que MessageBeep:
Exemple:

Address Section Type Name

005EB668 Import user32.MessageBeep
005EB260 Import user32.MessageBoxA
005EB664 Import user32.MessageBoxA
0094F000 .text Export <ModuleEntryPoint>


S'il vous plaît ne m'en voulez pas car j'essaie chaque jour de m'améliorer en bossant dur. J'éprouve une grande curiosité de comprendre.
Merci d'avance
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar Martinooooo » 18 Mai 2013, 16:58

Tu poses un breakpoint sur les 3...
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 577
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar yakman » 18 Mai 2013, 17:01

Martinooooo a écrit:Tu poses un breakpoint sur les 3...

ok, merci d'avance je vais l'essayer plus tard
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

Re: Que faire quand il n'y a pas de SDR ??

Messagepar yakman » 19 Mai 2013, 11:41

Neitsa a écrit:
2) Programme unpacké ou non packé mais pas de SDR...

2-A ) Méthode des APIs :

Breaker sur les APIs devrait être la première chose à faire. Si c'est une MessageBox qui vous annonce l'erreur, on peut poser un breakpoint sur l'API MessageBox et ce sur tous ses CALLs.

Olly : CTRL + N pour faire apparaitre la fenêtre des noms :

Image

Choisissez l'API qui convient (ici MessageBox, on click gauche dessus) puis faites un click droit sur cette ligne et "View Call Tree" :

Image

Clic droit dans cette fenêtre et "Set Breakpoint on every call" : vous vennez de poser un BP sur toutes les CALL MessageBox du programme.

Image


J'ai posé un BP sur les CALL et JMP qui orientent vers chacun des 3 APIs qui définissent la boîte de message:


Address Section Type Name

005EB668 Import user32.MessageBeep
005EB260 Import user32.MessageBoxA
005EB664 Import user32.MessageBoxA


comme me l'a conseillé Martinoooooo
Martinooooo a écrit:Tu poses un breakpoint sur les 3...
;
Mais mon problème est que juste après avoir posé un BreakPoint sur chacun des API's je me retourne dans la fenêtre des codes assembleurs où se situe les Call et JMP breakés et je fais F9 histoire de voir lequel de ces truc breaké a provoqué l'affichage du Message d'erreur mais rien ne se passe.

Alors j'aimerais savoir si la meilleure façon de retrouver le call ou le JMP (parmi ceux qui sont déjà breaké) qui a déclanché le Message d'erreur est vraiment F9 comme je l'ai fait ?
Si non que faire SVP ?
Orientez-moi s'il vous plaît car j'ai vraiment l'envie d'arriver à terme.
Dernière édition par yakman le 19 Mai 2013, 11:43, édité 1 fois.
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

Re: Que faire quand il n'y a pas de SDR ? Réponse ici !

Messagepar Martinooooo » 19 Mai 2013, 11:43

Mais mon problème est que juste après avoir posé un BreakPoint sur chacun des API's je me retourne dans la fenêtre des codes assembleurs où se situe les Call et JMP breakés et je fais F9 histoire de voir lequel de ces truc breaké a provoqué l'affichage du Message d'erreur mais rien ne se passe.

F9 c'est pour relancer le programme... Si tu veux savoir d'où ça vient, il faut regarder la stack/call stack.
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 577
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: Que faire quand il n'y a pas de SDR ??

Messagepar yakman » 19 Mai 2013, 11:57

Martinooooo a écrit:
Mais mon problème est que juste après avoir posé un BreakPoint sur chacun des API's je me retourne dans la fenêtre des codes assembleurs où se situe les Call et JMP breakés et je fais F9 histoire de voir lequel de ces truc breaké a provoqué l'affichage du Message d'erreur mais rien ne se passe.

F9 c'est pour relancer le programme... Si tu veux savoir d'où ça vient, il faut regarder la stack/call stack.


Ok merci
005EB668 Import user32.MessageBeep
005EB260 Import user32.MessageBoxA
005EB664 Import user32.MessageBoxA


Mais juste après avoir posé un BP sur chacun des API's ci-dessus (APIs des MESSAGES BOX), dois-je relancer (F9) le soft avec Olly d'abord afin de pouvoir retrouver le Call ou le JMP provoquant l'Erreur en regardant la Stack/call Stack ???
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

GetDlgItemTextA ???

Messagepar yakman » 20 Mai 2013, 18:14

Bonjour
J'aimerais savoir s'il n'y a pas autres APIs qui jouent le même rôle que GetDlgItemTextA ?
Je veux dire quels sont tous les autres APIs (à part GetDlgItemTextA) qui permettent de récupérer les données de l'utilisateur et pour connaître le nombre de caractères entrés exactement comme ce que fait GetDlgItemTextA ?

J'en grand besoin de ces APIs s'il vous plaît
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

Re: GetDlgItemTextA ???

Messagepar maracuja » 20 Mai 2013, 18:50

yakman a écrit:Bonjour
J'aimerais savoir s'il n'y a pas autres APIs qui jouent le même rôle que GetDlgItemTextA ?
Je veux dire quels sont tous les autres APIs (à part GetDlgItemTextA) qui permettent de récupérer les données de l'utilisateur et pour connaître le nombre de caractères entrés exactement comme ce que fait GetDlgItemTextA ?

J'en grand besoin de ces APIs s'il vous plaît


Tu as :
SendMessage(A/W), SendDlgItemMessage(A/W) en passant le message WM_GETTEXT
GetWindowText(A/W) couplé avec GetDlgItem
GetDlgItemText(A/W)
GetDlgItemInt(A/W)
MultiByteToWideChar
WideCharToMultiByte

CallWindowProc qui sous classe les contrôles de texte (très utilisé en delphi et en vb)
tu peux chercher la chaine que tu as saisie après une erreur et mettre un breakpoint on memory ou breakpoint hardware dans olly.
La liste n’est pas exhaustive car il y a moult façon de récupérer une chaîne de caractère.

CallWindowProc, c’est la solution extrême, avec elle tu risques d’avoir plein de faux positifs. :p

En effet, lorsque tu crée un contrôle personnalisé tu peux lui définir des comportements spécifiques et CallWindowProc permet cela. (cf. le cours de Iczelion).

A+

Bon courage.
maracuja
Débutant
Débutant
 
Messages: 33
Inscription: 22 Avril 2013, 09:37

Différence entre une Boîte à Message et une Boîte à Dialogue

Messagepar yakman » 20 Mai 2013, 23:38

Bonsoir
1°) Je rencontre pas mal de difficultés au niveau des Boîtes à Message (MessageBox) et des Boîtes à Dialogue (Dialog Box); J'aimerais donc savoir quelle est la différence entre ces 2 APIs (Des exemples d'image de chacun des 2 me suffiront largement pour mieux comprendre) ???

2°) Quels sont les autres APIs des Boîtes à Message (à part bien sûr MessageBoxA et MessageBeep que je connais déjà) ???

3°) Quels sont les autres APIs des Boîtes à Dialogue (à part DialogBoxParam que je connais déjà) ???

4°) J'aimerais enfin savoir si l'API IsDialogMessage est lui aussi un API des boîtes à Dialogue ???

Merci d'avance car je sais qu'avec tout je vais encore plus m'améliorer
yakman
 
Messages: 9
Inscription: 14 Mai 2013, 20:08

Re: Différence entre une Boîte à Message et une Boîte à Dial

Messagepar etherlord » 21 Mai 2013, 06:46

yakman a écrit:Bonsoir
1°) Je rencontre pas mal de difficultés au niveau des Boîtes à Message (MessageBox) et des Boîtes à Dialogue (Dialog Box); J'aimerais donc savoir quelle est la différence entre ces 2 APIs (Des exemples d'image de chacun des 2 me suffiront largement pour mieux comprendre) ???


Une boîte à message c'est juste une petite fenêtre qui t'affiche un message avec un bouton Ok. Une boîte de dialogue, c'est plus évolué, et le but principal c'est
de récupérer une entrée utilsiateur.


2°) Quels sont les autres APIs des Boîtes à Message (à part bien sûr MessageBoxA et MessageBeep que je connais déjà) ???


MessageBeep n'a rien à voir avec MessageBox. MSDN est un très bon site quand tu veut savoir ce que fait une API.

http://msdn.microsoft.com/en-us/library ... 56(v=vs.85).aspx


3°) Quels sont les autres APIs des Boîtes à Dialogue (à part DialogBoxParam que je connais déjà) ???


http://msdn.microsoft.com/en-us/library ... 65(v=vs.85).aspx

4°) J'aimerais enfin savoir si l'API IsDialogMessage est lui aussi un API des boîtes à Dialogue ???


Non, cela sert à déterminer si un message est destiné à la fenêtre auquelf ait référence la fonction.

http://msdn.microsoft.com/en-us/library ... 98(v=vs.85).aspx

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 5 invités