CRACK POUR LE CONCOUR : MOT DE PASSE INVIOLABLE PAR BABEUK
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003
-
31 oct. 2002 à 21:29
al1908bn
Messages postés11Date d'inscriptionjeudi 23 décembre 2004StatutMembreDernière intervention12 août 2007
-
26 avril 2007 à 23:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
al1908bn
Messages postés11Date d'inscriptionjeudi 23 décembre 2004StatutMembreDernière intervention12 août 2007 26 avril 2007 à 23:31
trés bonne source shaoni , c'est la plus simple pour un patching. et tres originale.merci ca ma aider vraimment!
cs_shaoni
Messages postés186Date d'inscriptionmercredi 11 avril 2001StatutMembreDernière intervention12 septembre 2007 2 nov. 2002 à 20:30
heuu je ne croit pas que ce soit bien vu :-)
meme si le cracking est proche de la programmation c'est quand meme l'ennemi juré des développeur ! et ici c'est encore un site de developpeur ! :-)
ceci dit il existe plein de site ou il y a des defi chaque mois !
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003 2 nov. 2002 à 18:47
effectivement ca peut etre interessant, faudrait voir avec Nix mdr
cs_zappy
Messages postés161Date d'inscriptionmardi 19 juin 2001StatutMembreDernière intervention10 avril 20072 2 nov. 2002 à 00:14
Je la refais en français cette fois (la fatigue aidant à la production de français indigne).
Comme quoi on peut s'amuser sur VBFrance :)
On devrait lancer des concours de Crack, avec le niveau qui s'éléverait petit à petit (personnellement ça m'interesserait d'évoluer dans cette discipline)
cs_zappy
Messages postés161Date d'inscriptionmardi 19 juin 2001StatutMembreDernière intervention10 avril 20072 2 nov. 2002 à 00:12
Comme quoi qu'on peut s'amuser sur VBFrance. (Bravo Shaoni)
On devrait lancer des concours de cracks :>
cs_shaoni
Messages postés186Date d'inscriptionmercredi 11 avril 2001StatutMembreDernière intervention12 septembre 2007 1 nov. 2002 à 21:17
beeline=> ben j'ai essaye de l'expliquer plus haut :( snif
je trace le programme avec un debugger comme celui de vb a part que c'est en assembleur et quand je voit la comparaison je modifie les octets qui correspondent voila simplement !
Babeuk en resumé tu a bien compris a part que il y a quand meme des protections par mots de passe asser compliquée a passer ici c'est archi simple parce que le check est facile a localiser l'exe n'est pas compresser voir crypter il y a pas de check pour voir si l'exe a ete patcher(crc32) ect ..
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003 1 nov. 2002 à 20:25
hmm bonne question... moi j'ai compris son explication ms je serai pas tellement le refaire seul !
autrement ,en résumé, si j'ai bien compris, on ne peut pas protéger un prog par mot de passe, car de tte facon il y aura moyen de skiper la "procedure" de verification, non ?
beeline
Messages postés83Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention 9 juin 2009 1 nov. 2002 à 18:12
Mais comment tu sais les byte a patcher ....
le nul que je suis il en sais rien ....
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003 1 nov. 2002 à 01:03
si si c'est très clair !
merci bcp pr l'explication, très instructif ;) !
cs_shaoni
Messages postés186Date d'inscriptionmercredi 11 avril 2001StatutMembreDernière intervention12 septembre 2007 31 oct. 2002 à 22:18
he bien en fait c'est pas tres compliquer
Get #1, &H2115 + 1, valeur 'prend l'octet a l'offset 402115
If Hex(valeur) <> "74" Then 'vérifie si la valeur 74h est bien presente sinon c'est pas le bon exe ou le prog est deja patcher
et si c'est la bonne valeur continue .
le principe est tout simple c'est l'abc du deplombage
j'ai employe 1 SI (softice) et Hiew (editeur hexa)
comme on voit que 1 il accepte pas les mots de passe vide
j'ai mis un breakpoint sur MSVBVM60_vbaFreeVarList
j'ai eu mon break a 4020db
en tracant plus bas on arrive au check si la chaine est vide alors continue et boucle sinon saute a 402115 donc j'ai remplacer le jump equal en jump short (je=>jmps) ou (74=>eb)
00402113 test edx, edx
00402115 je 00402124
donc en vb pour modifier ca donne
valeur = &HEB
Put #1, &H2115 + 1, valeur
en tracant plus loin de la meme maniere on arrive au check du pass (qui est enorme)
00402336 test edx, edx
00402338 je 004023E2
et dans vb ce sont les lignes
valeur = &H90
Put #1, &H2336 + 1, valeur
Put #1, &H2337 + 1, valeur
Put #1, &H2338 + 1, valeur
Put #1, &H2339 + 1, valeur
Put #1, &H233A + 1, valeur
Put #1, &H233B + 1, valeur
en fait la tout ce que il fait c'est remplacer le jump equal par no operation je - nop
pour que quoi qu'il arrive la reponse est bonne voila c'est tout !!
une fois la sequence de byte changer dans ton exe ben tu peut entre ce que tu veut c'est toujour bon !
ceci dit j'ai le crack comme un debutant en expres pour que on voit les residu de protection ! en temp normale on saute completement la procedure de test et comme ca plus de demande de mot de passe ni de message et le prog continue a fonctionner normalement !
voila !
j'espere que c'est asser clair parce que je suis pas tres douer pour expliquer !! :(
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003 31 oct. 2002 à 21:53
oui c'est vraiment sympa d'avoir filé ta source ms j'aimerai qqes explications:
? à quoi correspond le 74 de ta ligne "If Hex(valeur) <> "74" Then"
? et aussi c quoi le principe exactement
voila merci !
cs_shaoni
Messages postés186Date d'inscriptionmercredi 11 avril 2001StatutMembreDernière intervention12 septembre 2007 31 oct. 2002 à 21:34
c'est pas tres compliquer mais ca peut toujour servir !
:-)
babeuk
Messages postés47Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 septembre 2003 31 oct. 2002 à 21:29
hmm j'ai vu t'as source, c'est très interessant !
donc tu l'as si bien dit, ca a le merite d'etre instructif !
26 avril 2007 à 23:31
2 nov. 2002 à 20:30
meme si le cracking est proche de la programmation c'est quand meme l'ennemi juré des développeur ! et ici c'est encore un site de developpeur ! :-)
ceci dit il existe plein de site ou il y a des defi chaque mois !
2 nov. 2002 à 18:47
2 nov. 2002 à 00:14
Comme quoi on peut s'amuser sur VBFrance :)
On devrait lancer des concours de Crack, avec le niveau qui s'éléverait petit à petit (personnellement ça m'interesserait d'évoluer dans cette discipline)
2 nov. 2002 à 00:12
On devrait lancer des concours de cracks :>
1 nov. 2002 à 21:17
je trace le programme avec un debugger comme celui de vb a part que c'est en assembleur et quand je voit la comparaison je modifie les octets qui correspondent voila simplement !
Babeuk en resumé tu a bien compris a part que il y a quand meme des protections par mots de passe asser compliquée a passer ici c'est archi simple parce que le check est facile a localiser l'exe n'est pas compresser voir crypter il y a pas de check pour voir si l'exe a ete patcher(crc32) ect ..
1 nov. 2002 à 20:25
autrement ,en résumé, si j'ai bien compris, on ne peut pas protéger un prog par mot de passe, car de tte facon il y aura moyen de skiper la "procedure" de verification, non ?
1 nov. 2002 à 18:12
le nul que je suis il en sais rien ....
1 nov. 2002 à 01:03
merci bcp pr l'explication, très instructif ;) !
31 oct. 2002 à 22:18
Get #1, &H2115 + 1, valeur 'prend l'octet a l'offset 402115
If Hex(valeur) <> "74" Then 'vérifie si la valeur 74h est bien presente sinon c'est pas le bon exe ou le prog est deja patcher
et si c'est la bonne valeur continue .
le principe est tout simple c'est l'abc du deplombage
j'ai employe 1 SI (softice) et Hiew (editeur hexa)
comme on voit que 1 il accepte pas les mots de passe vide
j'ai mis un breakpoint sur MSVBVM60_vbaFreeVarList
j'ai eu mon break a 4020db
en tracant plus bas on arrive au check si la chaine est vide alors continue et boucle sinon saute a 402115 donc j'ai remplacer le jump equal en jump short (je=>jmps) ou (74=>eb)
00402113 test edx, edx
00402115 je 00402124
donc en vb pour modifier ca donne
valeur = &HEB
Put #1, &H2115 + 1, valeur
en tracant plus loin de la meme maniere on arrive au check du pass (qui est enorme)
00402336 test edx, edx
00402338 je 004023E2
et dans vb ce sont les lignes
valeur = &H90
Put #1, &H2336 + 1, valeur
Put #1, &H2337 + 1, valeur
Put #1, &H2338 + 1, valeur
Put #1, &H2339 + 1, valeur
Put #1, &H233A + 1, valeur
Put #1, &H233B + 1, valeur
en fait la tout ce que il fait c'est remplacer le jump equal par no operation je - nop
pour que quoi qu'il arrive la reponse est bonne voila c'est tout !!
une fois la sequence de byte changer dans ton exe ben tu peut entre ce que tu veut c'est toujour bon !
ceci dit j'ai le crack comme un debutant en expres pour que on voit les residu de protection ! en temp normale on saute completement la procedure de test et comme ca plus de demande de mot de passe ni de message et le prog continue a fonctionner normalement !
voila !
j'espere que c'est asser clair parce que je suis pas tres douer pour expliquer !! :(
31 oct. 2002 à 21:53
? à quoi correspond le 74 de ta ligne "If Hex(valeur) <> "74" Then"
? et aussi c quoi le principe exactement
voila merci !
31 oct. 2002 à 21:34
:-)
31 oct. 2002 à 21:29
donc tu l'as si bien dit, ca a le merite d'etre instructif !