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 - 21 mai 2003 à 07:39
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

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
quel est le mot de pass de crackme v1.0 ?
cs_Maxou1012 Messages postés 13 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 6 février 2008
22 janv. 2009 à 22:12
Ollydbg, remplacé le JNZ par un NOP, une minute :)
Mareck666 Messages postés 56 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 30 avril 2013
17 juil. 2007 à 15:09
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.
D6R26H59P Messages postés 17 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 30 mai 2007
2 oct. 2005 à 19:59
43 seconde et 76 centième...
randiox Messages postés 17 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 6 février 2005
26 juil. 2004 à 18:34
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

++
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
25 juil. 2004 à 15:52
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
25 juil. 2004 à 01:07
ok on se reverra :)
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
25 juil. 2004 à 01:05
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
24 juil. 2004 à 09:54
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 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
24 juil. 2004 à 00:41
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
cs_Exelis Messages postés 3 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 25 juillet 2003
25 juil. 2003 à 12:23
Lol t'zq un phylosophe kiru
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 juil. 2003 à 01:18
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_AkeR Messages postés 16 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 14 juillet 2003
19 juil. 2003 à 00:10
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 !
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
27 juin 2003 à 20:16
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_Exelis Messages postés 3 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 25 juillet 2003
27 juin 2003 à 16:16
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
27 juin 2003 à 15:32
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
27 juin 2003 à 10:25
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 ???!
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
4 juin 2003 à 14:19
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.
bob3OOO Messages postés 2 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 4 juin 2003
4 juin 2003 à 13:56
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
1 juin 2003 à 16:30
si je puis me permettre un mot en plus:
déchet !
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
1 juin 2003 à 15:11
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
31 mai 2003 à 22:54
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 !
cs_TyPhOn Messages postés 10 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 29 juillet 2003
31 mai 2003 à 19:34
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
31 mai 2003 à 17:08
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
31 mai 2003 à 13:21
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
25 mai 2003 à 00:29
un name serial ça me paraît le plus performant, maintenant reste à écrire un bon algo ^^
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
24 mai 2003 à 12:35
>>> 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)
++
randiox Messages postés 17 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 6 février 2005
22 mai 2003 à 11:52
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 ...
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
21 mai 2003 à 16:27
G essayé et il n'apparait plus dans les strings ref
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
21 mai 2003 à 16:24
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
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
21 mai 2003 à 16:18
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 :)
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 mai 2003 à 15:00
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_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 mai 2003 à 14:56
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 1
21 mai 2003 à 14:54
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.
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
21 mai 2003 à 14:51
A première vu si tu fais pas un #define BON "windows.h" il apparait plus si clairement dans W32Dasm
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 mai 2003 à 14:47
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)
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
21 mai 2003 à 14:44
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
21 mai 2003 à 14:17
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?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 mai 2003 à 14:01
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 ^^)
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
21 mai 2003 à 12:53
lol merci kirua...
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 mai 2003 à 10:14
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.
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
21 mai 2003 à 09:31
Pas bien dur ton crckme, 3 min avec W32Dasm par contre Kirua c t super malin de balancer le mdp comme ça !!!
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 mai 2003 à 07:39
disoooooons, windows.h ? :-P
Rejoignez-nous