CRACKME V1.0

Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
- - Dernière réponse : diablo2190
Messages postés
1
Date d'inscription
jeudi 18 juin 2009
Statut
Membre
Dernière intervention
18 juin 2009
- 18 juin 2009 à 17:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10793-crackme-v1-0

cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
disoooooons, windows.h ? :-P
highcobra
Messages postés
122
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
20 avril 2005
-
Pas bien dur ton crckme, 3 min avec W32Dasm par contre Kirua c t super malin de balancer le mdp comme ça !!!
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
C'est vrai, c'est pas très dur, tu prends même moins de temps à trouver le password que W32Dasm à de-assembler l'exécutable :-).
Sinon y'a un petit bug: quand tu tapes le bon password, il y a deux fois l'appel à getchar() alors qu'il n'est appellé qu'une seule fois quand le password est faux.
Krox68
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004
-
lol merci kirua...
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
mouarf c pas bien dur, suffit de regarder le code source mdr :p pas la peine de désassembler (bon je sais c pas le but ^^)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
tiens j'ai testé avec W32DASM et en effet c un véritable jeu d'enfant, c t mon premier essai et ça m'a pris en tt et pour tout 73 secondes (dont 12 pour changer la police d'écriture qu iétait mise à Symbols et une dixaine pour ouvrir le prog)

comment se prémunir de cela? si je veux protéger mon prog par mot de passe ça va pas le faire :-/ suis sensé m'arranger comment?
Krox68
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004
-
essai de le crypter avec XOR et de le faire decrypter par ton prog avant de l'utiliser
meme si c pa sur a 100% ce sera deja mieu ke la :)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
hmm oui un petit cryptage 8 bits mais, ... hmm oui ok je vois le principe. je stock dans le prog la chaien déjà cryptée, comme ça elle n'apparaît pas en clair. oui ça me paraît une bonne idée, et tte bête en plus (cette remarque n'a rien de personnel :-D) parce que j'utilisais déjà ça pour d'autres raisons en PHP (md5, puis comparaison de chaines cryptées identiquement)
highcobra
Messages postés
122
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
20 avril 2005
-
A première vu si tu fais pas un #define BON "windows.h" il apparait plus si clairement dans W32Dasm
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
Visiblement Krox68 tu ne sais pas comment on n'a récupéré le password grâce à Win32DAsm.
On parcours la liste des strings réf du programme pour trouver la chaine affichée en cas d'erreur et W32DA nous montre la ligne dans le code où est utilisée cette chaine. On remonte un petit peu dans le code et on tombe sur la chaine "windows.h" qui est passée en paramètre à la fonction strcmp(). Voila comme on trouve le password.
Donc si tu cryptes uniquement le password ca ne sert pas à grand chose. La chaine d'erreur et l'appel à strcmp() seront toujours là. Ca complique un tout petit peu la tâche car il faut sois débugger le programme pour trouver le password en clair, soit faire un patch.
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
ben perso j'ai fait "search string" -> "Password"
et la ligne d'en dessous était "windows.h"
that's all!!
par contre je ne sais pas comment j'aurais pus décoder une chaîne elle même codée (le XOR je connais mais c'eut été dur de savori qu'il s'agissait de celà)
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
Je sais pas comment vous avez fait vous les gars avec W32DA, mais si vous avez passé au programme toutes les chaines trouvées dans la liste des strings réf c'est pas ce qu'il y a de plus efficace.
cs_AMokers
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
8 octobre 2008
-
Je suis content que vous ayer posté des commantaire qui ne me critiquais pas comme une source que j'ai vu sur un pauvre gars de 13 ans ou tout le monde critiquais sa source.

Perso je touve ca deguelasse .

Moi par exmple c'est mon premier prog en c .


Voila merci encore et oui je c'est qu'il est facile à carcker
enfin d'apres ce qu'on m'as dit ;)))))

BOn allez @@++

Et merci de votre soutien :)
Krox68
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004
-
Kaid ==> je sai tres bien commen on a recupere le pass avec W32DA

Ce ke je veu dire c ke le cracker ne saura pa forcément ke le mot de passe c sa, le #define BON ... highcobra a l'air interressant puisk le pass et alor remplacé avant compilation par windows.h... a essayer
highcobra
Messages postés
122
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
20 avril 2005
-
G essayé et il n'apparait plus dans les strings ref
randiox
Messages postés
17
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
6 février 2005
-
Highcobra > ouep y a certaines versions de WD30 qui merdent a ce niveau, mais moi avec le define je le voit dans les strnref ..

sinon si on ne le voit pas dans la strnref ... on recherche "ce n'est pas le bon pass" on remonte au saut référent qui est un simple "test eax,eax" on modifie donc le jne en je ...
24Karas
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
>>> Kirua >>>>
ben o lieu de le protéger par un mot de pass t'a qu'a le protéger par 2 mots de passe ;-) ensuite tu fais des calculs sur les bits du premier et les bits du second. une sorte de vérification. bien sur il y aura plusieurs MDP2 possibles à partir du MDP1. Le xor il sert à rien o fait. parce ke ça crypte kedal. pour le reverser c tou simple. enfin je te suggere ça comme ça. tu voi (tu peu faire un name/Serial koi)
++
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
un name serial ça me paraît le plus performant, maintenant reste à écrire un bon algo ^^
cs_TyPhOn
Messages postés
10
Date d'inscription
samedi 31 mai 2003
Statut
Membre
Dernière intervention
29 juillet 2003
-
SAlut,
je sui un newbie et je voudrais apprendre le cracking.
Quelqun pourrait me dire ou apprendre et comment?
Je voudrai aussi que quelqun donne la solution de ce crackme avec un desassembleur merci
.

TyPhOn
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
c pas compliqué: tu vas au commisariat le plus proche et tu leurs explique. s'il reste de la place (c pas sur), il te mettront en contact très rapproché avec des vrais pro (qui se sont faits choper)

plus sérieusement, le cracking c pr les ados boutonneux, laisse ça, ça fait franchement mauvais genre. par contre si c'est pour apprendre à protéger tes applis, i lfaut bie nque tu saches comment feront les boutonneux pr te les chourer.

dans ce cas ci (qui est très simple), tu download W32Dasm, tu désassembles (en qq cliques) le fichier exe en question, tu choisis une police d'écriture qu ite convient (perso qd j'ai installé le prog il m'a tt écrit en symbols, comprennais pas trop :-p)

après, tu lances le programme à cracker, et tu note un mot qui apparaît juste avant qu'on te demande le mto de passe, ou bien (plus classique), tu notes un mot qui apparaît si tu t planté dans le mot de passe.

il y a qq part ds les fonctions de Dasm un outil "search string", tu fais la recherche sur ce mot (case sensitive!), et tu tomberas sur une ligne toute proche du mot de passe écrit en clair. voilà pr la théorie, ça devrait te suffir
cs_TyPhOn
Messages postés
10
Date d'inscription
samedi 31 mai 2003
Statut
Membre
Dernière intervention
29 juillet 2003
-
je sui un ado boutonneux!
alors stp donne moi kelke conseil pour apprendre

@+

TyPhOn
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
pas question, tt simplement parce que j'ai jamais creusé la question et parce que si je pouvais t'aider ce ne serait pas en t'indiquant la mauvaise voie.

ensuite, je me suis cassé le cul à écrire un message qui t'explique comment faire dans ce cas-ci, mais apparemment t'as été trop paresseux pr lire jusqu'au bout. tu sais, il te faudra lire pr apprendre !
24Karas
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
mé keskil fou là :o
tu va pa nou cassé les couilles longtemp avec ton cracking.tu lance google et tu tape tutorial+cracking. tu va trouver plein de truc. et t'apprendra tou seul.tu fai www.shmeitcorp.tk et tu download les memento. c bien expliké pour un naz comme toi.ici on programme on crack pa !!! à chaque lieu sa fonction
24.KaraS
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
si je puis me permettre un mot en plus:
déchet !
bob3OOO
Messages postés
2
Date d'inscription
mercredi 4 juin 2003
Statut
Membre
Dernière intervention
4 juin 2003
-
le crack c pour les gogols dégage de là arrête de pourrir les sites c à cause de gars comme toi que codes-sources est devenu une vraie poubelle
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
bob3OOO, j'espère que tu t'adressais à petit phon et pas à Amokers. c improtant pr un prgrammeur de savoir comment font les crackeur pr s'en protéger. donc ça source est une bonne idée. par contre typhon est clairement immature.
cs_Exelis
Messages postés
3
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2003
-
Yep tout le monde !

Bon moi je pense que le cracking a sa place ici comme ailleur , c'est pas un sujet tabout ou l'ont doit en parler qu'a certain endroit d'internet . De plus pour ce qui le savent pas le cracking est une derivé (en quelque sorte) de la programmation asm . Cela permet de trouver les failles dans les programmes au niveau des nags screen et time limit etc ... et ainsi d'ameliorer son programme et non de cracker celui d'un autre . Faut se limiter a penser comme bob3000 " CRACKING => MECHANT " . Bon voila sinon en ce qui concerne ton prog je pense que comme la fait remarker Kirua les "strings" sont visible quant tu deassemble avec W32Dasm , pour y remedier au lieu d'utiliser des "printf" dans ton code source tu utilise des "cout" donc il faudra que tu insere . la deja le probleme des "strings data" seras regler et pour trouver le code il faudra le tracer "ce qui prend bcp plus de tps". Ensuite si tu veux aller encore plus loin tu peux le compresser a l'aide en PE . Et pour ton pass ne le met pas en #define BON, pwd parske la aussi il apparait carrement en clair dans les strings data :).
Voila alors 24Karas est ce que j'ai expliquer commet cracker un logiciel ???!
24Karas
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
ben en fait t'a rien expliké du tou Exelis :)
parce ke tu lance Sice tu poses un brk sur getdlgitemtexta et tu traces.
tu vas tomber su la comparaison du serial rentré avec le serial valide. donc le serial apparait en clair dans le code .héhé.
Bon allez je vais faire le type qui s'y connait style Exelis.
t'a qu'à foutre un peu de polymorphisme dan ton code style des instructions qui serve à rien de sorte à créer un décalage d'instruction. Quand tu vas debbuguer sice va faire n'importe koi. enfin ça tu doi pa comprendre Exelis :)))
Sinon tu fai un code qui se patche automatiquement mais la fo ke tu change le PEheader en lecture/ecriture donc tu lance procdump et tu modifies la section .text en E0000020. Aprés tu fous un peu d'asm dans ton code et tu change une instruction du style un code qui modifie ton jne en je. le gars kan il va desassembler ça va le perdre un peu.
A toi Exelis si t'a d'otre soluce di le moi parce ke la methode cout elle sert à que dalle ...

Cordialement 24.KaraS
cs_Exelis
Messages postés
3
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2003
-
Ben en fait je fais pas le gars qui m'y connais ... parsque je m'y connais pas j'ai commencer le cracking ya 2 semaines environ donc dans ce domaine la j'ai le niveau "debutant" . Mais la méthode du cout je l'avais essayer sur son crackme et j'ai vu que j'avais plus de strings donc sa resolver le probleme des "strings data" j'avais pas batailler plus que sa et j'ai poster le mess ... Surtout que la derniere phrase que j'avais taper dans mon ancien mess etait pas destiner a toi mais a bob3000 mais ce qui ya c'est que je venait juste de lire ce que tavais ecrit plus haut et j'ai marquer ton nom .... dsl si sa a pu te foutre en boulle :) .
Sinon vu que tu a l'air de bien t'y connaitre tu pourrai m'expliquer vite fait ce ke c'est que de dumper un prog ??
24Karas
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
c kan le prog est en mem dynamik et ke tu le fou en mémoire phisik (dan un fichier) mé moi je te parle pa d'un dump je te parle d'un patch automatique :).
J'accepte tes excuz :p
++
cs_AkeR
Messages postés
16
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2003
-
C'est marrant ce que le cracking attire les foules!!
Non mais sans dec on est pas là pour parler W4R3Z (ouah l'écriture de djeunz) ici c'est prog pour aider pas pour casser.
Sinon AMokers ton prog il sert à quoi pasque toi même tu reconnais qu'il est ultrafacile à cracker !
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
son prog sert à lancer ce genre de polémiques. Aker, ton pseudo... en tt cas phonétiquement c pas trop en phase avec tes concepts.

je te réponds en tt cas que (comme nous en avons tous parlé sur 5 pages, mais tu as peut être pas lu), le meilleur moyen de se défendre est de connaître les armes de l'ennemi, et encore mieux apprendre à les utiliser contre soi-même. entre programmeurs, toucher les exe qu'on produit plus en profondeur est utile, pas forcément dans un but négatif futur. bien sur, les ados étant ce qu'ils sont (je suis un sale ado moi aussi ^^ mais je pense avoir passé ce stade idiot de l'attirance hacker, d'ailleurs ça n'a pas duré longtemps ds mon cas) y aura tjs des gens type Typhon, mais c'est à nous tous (membres du glorieux réseau CodeS-SourceS ^^) de les instruire, et ne pas passer le sujet sous tabou, ça les excite encore plus. parlons-en pédagogiquement.
cs_Exelis
Messages postés
3
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2003
-
Lol t'zq un phylosophe kiru
cs_AMokers
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
8 octobre 2008
-
Bien dit Kirua, Merci de vous intéressé au sujet, j'essayerais d'updater cette source des que mon expérience aura augmenter ;)

hé oui car j'avais abandonné le c jusqu'a aujourd'hui,

Demain je passe donc à Linux, et envisage de programmer en C sous Linux.

@Bientôt sur cppfrance,

Cordialement,
Amokers
randiox
Messages postés
17
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
6 février 2005
-
Salut amokers :)
tu te souvient de ton ancien partenaire :D
bien si ces messieurs veulent plus dur autant leur donner plus dur, nan ?
Perso je suis nul en C/C++ mais devVC++ (donc gcc) devrait gérer l'asm intégré (inline)

d'ou 2-3 routines sympas
-> anti soft-ice tres connu :

__inline bool IsSICELoaded()
{
_asm {
push ebp
mov ebp,'BCHK' // 'BCHK' -> 4243484Bh
mov eax,4 // Function 4h
int 3 // appel de l'interruption
cmp al,3 // AL = 3 ?
setnz al // Si non, SIce pas présent
pop ebp
}
}

pour le reste n'hésite pas a innover ! au hasard je pense a une toute nouvelle faille d'ollydbg, récente donc peu connue : http://www.securitytracker.com/alerts/2004/Jul/1010728.html

voilà, j'espere te parler sur le net un de ces 4 matins :)
++
cs_AMokers
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
8 octobre 2008
-
Oui ça serais trop bien randiox ;)

Mais la c mon premier jour sous linux, donc le temps que je trovue comme ça marche ;)
randiox
Messages postés
17
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
6 février 2005
-
ok on se reverra :)
cs_AMokers
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
8 octobre 2008
-
T sous Linux Randiox ?

sinon voila mon msn : amokers@msn.com
randiox
Messages postés
17
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
6 février 2005
-
j'ai bien un mandrake 10.0 mais il est allergique a toute connextion réseu ... je passe peut-etre a un suse sous peu :D

++
D6R26H59P
Messages postés
17
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2007
-
43 seconde et 76 centième...
Mareck666
Messages postés
56
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
30 avril 2013
-
Euh... Amockers je voudrait pas plus en rajouté, mais en plus des facile a cracker ton code comporte une faille buffer overflow, étant donné que ton buffer <<char pwd[20];>> et définit sur 20 BYTES et que tu utilise la fonction gets qui ne verifie pas si la longeur de chaine entrée et > a 20 alors il peut y avoir buffer overflow avec utilisation de shellcodes... bon c'est pas grave on apprend par l'erreur ^^)
Bonne continuitée.
cs_Maxou1012
Messages postés
13
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
6 février 2008
-
Ollydbg, remplacé le JNZ par un NOP, une minute :)
diablo2190
Messages postés
1
Date d'inscription
jeudi 18 juin 2009
Statut
Membre
Dernière intervention
18 juin 2009
-
quel est le mot de pass de crackme v1.0 ?