Adaptation des cours de Deamon à Ollydbg

Des suggestions, questions et critiques à propos du site ou du forum.

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar ga » 01 Avril 2016, 13:36

Bonjour kilo

kilo a écrit:Alors j'essaye, je fais la manip et qd j'y vais je ne vois pas le "Message Box" en question encore et encore et tjrs rien puis un peu plus loin sur la ligne je vois "43EA04" je me dis tiens ça parait plus logique, j'y vais, j'essaye et là ça marche, du coup je me disais est ce qu'on ton adresse est bien la : "42EA04" ou pour le coup la "43EA04"?.

Je regarde ça et je ferai la modification si il y a lieu.
Merci de cette remarque ;)

kilo a écrit:Salut!
Dionosis sais tu s'il y a une suite du cours numéro 13 de Ga? Car on dirait bien que ça continu ...

Normalement ça devrait continuer... mais voila, je me suis découvert, depuis 2 ans maintenant, une autre passion que le reversing et tu imagines bien que je passe tout mon temps de libre à perfectionner celle-ci. Il est donc vrai que je vous ai clairement abandonné et je m'en excuse ! :(

kilo a écrit:J'adore TES COURS, comme dit ds ma présentation je suis un VRAI débutant ds ce monde et pourtant j'arrive à suivre tes cours Ga, j'ai commencé il y a à peine une semaine avant ça je peux dire que j'y connaissait vraiment rien, donc oui tes cours sont vraiment bien fait et très très très bien expliqué, alors un ENORME merci pour tout ce gros travail vraiment merci bcp.
Et J4ADORE ton humour à chaque cours je me marre :lol: :wink: :wink: :wink: .

Je te remercie, c'est très gentil de ta part. :D
Tous ces compliments ne me reviennent pas réellement, j'ai seulement remis à jour les cours de Deamon, que tu veux suivre ici. Mise à part deux trois petites choses c'est Deamon qu'il faut remercier :wink:
L’Univers est affecté par chacun de nous, chacun de nous est dépendant de l’état de l’Univers.
Avatar de l’utilisateur
ga
King of Cracking
King of Cracking
 
Messages: 779
Inscription: 27 Décembre 2006, 19:11
Localisation: Tranquillement chez moi !

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar ga » 01 Avril 2016, 13:39

Sans oublier Todd et kiri pour leurs conseils et leurs lectures... Merci à vous deux :wink:
L’Univers est affecté par chacun de nous, chacun de nous est dépendant de l’état de l’Univers.
Avatar de l’utilisateur
ga
King of Cracking
King of Cracking
 
Messages: 779
Inscription: 27 Décembre 2006, 19:11
Localisation: Tranquillement chez moi !

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar kilo » 02 Avril 2016, 00:28

Salut ga
exact j'ai oublié de remercier aussi deamon pour ces cours et bien entendu tout ceux qui on participé de prés ou de loin à ce travail MONSTRE
un GRO GROS MERCI à vs tous vraiment! :D
C'est vrai qu'en ce moment j'etais focalisé sur tes cours ga j'avais pas vu les cours des autres encore mais tkt ils vont en prendre pour leur grade ça c'est sur :lol: :lol: :lol: .( Mais j'adore qd meme ta bonne humeur et tt ça enfin celle de deamon hein^^ :lol: :lol: )
Ok pour la suite de tes cours j'ai hate de voir la suite en tt cas^^.

Tschooss! kilo!
Dernière édition par kilo le 02 Avril 2016, 15:03, édité 1 fois.
kilo
Visiteur
Visiteur
 
Messages: 10
Inscription: 29 Mars 2016, 00:36

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar kilo » 02 Avril 2016, 14:42

Salut ga
je ma repasse tes cours sur Ollydbg en ce moment et à un moment ds le cours n°3 "Cracker un crackme" à la phrase en dessous de la fenetre d'Ollydbg:
" Donc vous l'aurez compris, du moins si vous avez compris les cours précédents, on peut donc remplacer le saut JNE en JE, mais quand vous taperez le bon code, il vous dira que le code est faux. Il faut donc mieux mettre un NOP (pas d'opération) et donc il pourra continuer vers "Correct...".

Tu voulais pas mettre JNZ et JZ plutôt que JNE et JE parce le premier JNE est bien trop haut non?

Et en appliquant les cours précédant la ligne où il y a le message d'erreur où on arrive apres avoir chercher le message ds reference string n'est pas très loin du bon message et on dirait bien que c'est ce JNZ à nopé et qd je le fais ça fonctionne, d'ailleurs qd je mets JE à cette ligne ça ne marche pas il met directement JZ comme c'est un JNZ je pense. :?:

C'est ce que j'ai fait et ça marche il me met le bon message qd je lance le crackme, pas besoin de le nopé? du coup est ce qu'on peux faire les deux soit l'un soit l'autre?

dis moi si je me suis trompé merci ga :wink:

++kilo!
kilo
Visiteur
Visiteur
 
Messages: 10
Inscription: 29 Mars 2016, 00:36

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar dionosis » 02 Avril 2016, 16:55

Salut,

kilo a écrit:Tu voulais pas mettre JNZ et JZ plutôt que JNE et JE parce le premier JNE est bien trop haut non?

Et en appliquant les cours précédant la ligne où il y a le message d'erreur où on arrive apres avoir chercher le message ds reference string n'est pas très loin du bon message et on dirait bien que c'est ce JNZ à nopé et qd je le fais ça fonctionne, d'ailleurs qd je mets JE à cette ligne ça ne marche pas il met directement JZ comme c'est un JNZ je pense. :?:

doc intel a écrit:74 cb -> JE rel8 -> Jump short if equal (ZF=1)
74 cb -> JZ rel8 -> Jump short if zero (ZF=1)
75 cb -> JNE rel8 -> Jump short if not equal (ZF=0)
75 cb -> JNZ rel8 -> Jump short if not zero (ZF=0)

Là c'est la doc intel en 8b, mais c'est pareil pour plus et pareil dans la doc amd : vu que l'égalité post comparaison se manifeste au travers du z-flag, ces instructions sont exactement identiques, elles possèdent d'ailleurs comme tu peux le constater les mêmes opcodes.
Et pour ne pas mélanger des alias, chaque désasembleur choisi arbitrairement d'en employer un plutôt que l'autre (ça se configure d'ailleurs).

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar kilo » 02 Avril 2016, 17:40

Salut Dio
oui ça y est autant pour moi j'ai vu les cours de deamon sur l'assembleur je viens de me rendre compte que c'est identique dsl ^^
Merci pour les infos Dionosis :wink: Mais ça porte à confusion qd tu commence direct avec les cours de ga en tant que pure débutant et que tu suis le cours à la lettre :)



PS: Tant que j' y suis en lisant la dernière partie de la phrase en dessous de la première fenetre d'Ollydbg dans le cours n°4 "Trouver le bon sérial" la lettre "s" du mot "soit" devrait être un "d" nan?


"Il va falloir placer un BP ("Break Point") en 0040158D (c'est-à-dire que le programme sera mis en pause quand il arrivera à cette adresse) sur le CALL car il est juste avant la comparaison (test eax, eax). On sélectionne la ligne 0040158D et on y pose un BP en faisant "F2" ou alors double clique droit sur "FF15 0020400". L'adresse de la ligne soit être surlignée en rouge comme ceci :"


Dsl de vs embêtez c'est vraiment parce que ga à dit de le prévenir si on voyait quelque chose que je le fait et aussi que j'aime bien ce forum :wink: Puis comme je décortique les cours en ce moment pour bien les comprendre, forcément ça me saute aux yeux :lol: :lol: .

Merci Dionosis

tschooss! kilo!
kilo
Visiteur
Visiteur
 
Messages: 10
Inscription: 29 Mars 2016, 00:36

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar kilo » 08 Avril 2016, 15:32

Salut à tous,
J''écris ce message mais j'espere ne pas trop vs emmerdez avec ces questions que je vais vs poser, pour vous les "big boss", c'est peut etre casse couille de repondre à des trucs comme ça mais je veux comprendre^^

Pourquoi le fait de mettre une pause dans l'execution du programme fait que pile à ce moment là, les lignes "offset local...." hop ce dévoilent (pile au moment ou j'appuis sur "check" dans le crackme) dans Ollydbg? (dans le cours de ga n°4 "trouver le serial" enfin dans tous hein :lol: ).

Par exemple: je lance le crackme sans le break point, donc je rentre le sérial bidon je check et le crackme reste en premier plan attendant la bonne manip, je mets le break point et hop là il me met mon sérial bidon et le bon sérial aux lignes "offset local..." et meme ds dans la colonne des registres directement.

Qu'est ce qui fait qu'à ce moment précis, il sort les codes?
je comprends que par exemple qd je nop pour enlever un saut qu'il ne faut pas, ne ce fasse pas, mais là je comprends pas???.

Pouvez vous m'aider à comprendre svp:wink: merci^^


merci d'avance :wink:

tschooss! kilo!



PS: dans le cours de ga avec winRAR cours n°6, au début dans le cinquième paragraphe, dans les guillemets il y a "please regiter" il doit surement y manquer un "s" à register^^ :wink: et j'ai l' impression qu'il y a aussi dans le deuxième paragraphe au début du cours dans les guillemets aussi "please registrer" doit y avoir le "r" en trop dans "registrer"^^ :wink: .

merci, lol dsl le pire c'est que moi je fais des fautes ds tous les messages que je vs écris :lol: :lol: :lol:

tschooss! kilo! :wink:
kilo
Visiteur
Visiteur
 
Messages: 10
Inscription: 29 Mars 2016, 00:36

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar dionosis » 09 Avril 2016, 00:12

Salut kilo,

En fait ce qu'il faut bien comprendre, c'est que si l'on peut débugger les programmes eh bien c'est parce que l'Os nous laisse le faire.
Je vais essayer de vulgariser ça dans les très grandes lignes.

D'abord, tu l'auras compris, un programme c'est une suite d'instructions qui fait des calculs et manipule de la mémoire.
Pour ça il dispose principalement de sa mémoire justement, mais aussi de ses registres (eax, edx, etc).
Comme effectuer des calculs sur de la mémoire est beaucoup plus lent que de manipuler des registres et que les processeurs x86 étant de type cisc n'en possèdent que très peu (des registres), et bien les programmes sont conçus de sorte à transvaser sans cesse des valeurs dans les registres le temps d'y effectuer des opérations puis de poursuivre.

Ensuite il faut savoir que l'exécution de chaque programme est constituée d'au moins un thread.
Chaque thread possède son propre contexte afin de permettre une execution parallèle.
Les registres, la pile, ainsi qu'un tas d'autres informations, constituent justement ce contexte.

Bon, une fois ça à l'esprit, voilà très grossièrement ce qu'il se passe lorsqu'un programme en debug un autre :

Code: Tout sélectionner
A] Côté debugger :
 - 1 / Le debugger demande à l'Os de lancer le debuggee en notant bien au passage que ce premier va debugger ce second

B] Côté Os :
 - 2 / L'Os lance le programme en notant dans un coin qu'en cas d'exception le debugger est là

(Ensuite on boucle)
{
   C] Côté debugger :
    - 3 / Il attend que l'Os lui dise qu'il se passe quelque chose qui le concerne

   D] Coté Os :
    - 4 / L'Os exécute le programme
    - 5 / Lorsqu'il rencontre un évènement qui déclenche une exception, il gèle tous les threads du programme et notifie le debugger qu'il se passe quelque chose en lui transmettant au passage des informations sur l'exception (type, etc), ainsi que le contexte du thread qui a déclenché la dite exception
    - 6 / Il attend que le debugger lui dise qu'il a terminé de traiter l'exception

   E] Côté debugger :
    - 7 / Il fait ce qu'il veut de ces informations
    - 8 / Il modifie éventuellement le contexte
    - 9 / Il signale à l'Os que c'est bon il a fait tout ce qu'il voulait et qu'il peut reprendre l'exécution là où elle avait été interrompue (avec éventuellement un contexte modifié en étape 8)
}

Les exceptions se produisent lorsque quelque chose ne se passe pas comme prévu, c'est un 'bug', d'où le pourquoi on parle de debuggage.
Or les breakpoints (peu importe leur forme, cf <ce post>) sont des exceptions particulières dont le seul but est de déclencher l'étape 5 à un endroit précis.

Lorsqu'il est en phase d'attente (étape 3), le debugger n'a absolument aucune idée de ce qu'il se passe dans le debuggee, d'autant plus que ça change constamment puisque le programme est en cours d'exécution ; d'où le pourquoi il ne peut rien t"indiquer.
Nb: S'il le souhaite, il peut toutefois décider à n'importe quel moment de se substituer à l'Os en réalisant lui-même l'étape 5 (c'est la pause), cependant le gèle aura lieu en l'état et donc à un emplacement non maitrisé.

Lorsqu'il est en phase de traitement d'exception (étape 7), libre à lui d'essayer de comprendre ce que faisait le programme, par exemple d'essayer de voir si la mémoire pointée par tel ou tel registre ou encore la pile ne contient pas par exemple une chaine, auquel cas il te l'indique.
Les appels d'api natives sont particulièrement faciles à interpréter puisque les prototypes sont connus.

Donc, ce qu'il se passe dans le cas du tuto 4, c'est que le reveser voit que l'api de comparaison de chaine lstrcmp est appelée.
Comme il souhaite voir ce qui est comparé il place un breakpoint sur l'appel de cette api.
Lorsque le debugger gèle le programme et transmet le contexte au debugger (étape 5), ce dernier connaissant le prototype de la fonction il sait exactement quoi et où regarder pour t'afficher les paramètres mis en forme (étape 7) et dans ce cas précis le password.

Voilà, je comptais répondre en dix minutes mais je me suis bien pris la tête à essayer de rendre ça compréhensible.
Comme c'est une question qui revient très souvent chez ceux qui commencent à s'intéresser au rce, j'espère que ça sera utile à ceux qui passeront par là.

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar kilo » 11 Avril 2016, 13:52

Salut dionosis :wink:
puré merci d'avoir développé tout comme ça super sympa dionosis et c'est claire que ça, ça va en aider plus d'un dans l'apprentissage^^.

En tout cas moi je viens de faire un sacré bon en avant dans mon apprentissage même s'il y a des trucs qui restent encore assez flou,
mais c'est très bien expliqué dionosis, et détailler pour un novice comme moi/nous ceux qui passerait par là.

Vraiment un gros gros MERCI à vous dionosis, bango, martinoo, ga, todd, deamon, (et biensur à tous ceux que j'ai oublié car j'en ai vu d'autre mais ça me revient pas là tt de suite) pour votre patience et vos explications,cours, tutos, etc... bien sympa ça me motive. :wink:

Tschooss! kilo!
kilo
Visiteur
Visiteur
 
Messages: 10
Inscription: 29 Mars 2016, 00:36

Re: Adaptation des cours de Deamon à Ollydbg

Messagepar rvq35 » 04 Juin 2016, 07:31

Salut GA
quid sur le guide de cracking Deamons version pdf remake GA ?
ça ferait plaisir à plus d'un de l'avoir sous la main format papier aussi je me permets de te relancer
à bientôt :wink:
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 255
Inscription: 07 Mars 2013, 07:21

Précédente

Retourner vers Deamon Crack & Forum Crack

Qui est en ligne

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