dans le zip
Télécharger le zip
y manquerait pas un petit truc dans le zip ??rien de bien important, juste le fichier dfm de la form...
lol, bgk, merci de me l'avoir signalè ...je l'ai ajouter ;o)) voilabon coding ....
Pas mal ton truc :)
oui camarade j'offre une recompense a celui qui me ramene le mot de passe, mort ou vif !
zmc look ton crackme ;-)Manchester, ce n'est un hackme mais un crackmele hack c'est pour les pass internet
lol, DelphiCoolQuelque chose empêche d'utiliser cette technique pour une application internet ?Il me semble que non.Elle est donc généraliste, et c'est fait pour.... Et puis je lui donne le nom que j'ai envie. si j'avais voulu l'appelé PasswordProtect c'étais bon aussi, le but c qu'on pige de quoi ça parle et tu verras (mon titre n'est pas choisis pour la frime).la hackme fait référence aux hackers DelphiCool, et non a autre chose, tu ne crois pas que ça intéresse certaines personnes de comprendre les base de la protection par mot de passe ?Tu verra, l'épisode 2 seras un peux + hard et l'épisode 3 encore plus etc...Pour info sache que je donne des cours sur le sujet toute l'année et que les étudiants payent très cher ces infos que je place ici gratuitement.La protection d'applications c'est mon métier. Bien sur, je ne vais pas dévoilé ici les techniques les plus hard, mais une base qui permet de protéger par mot de passe assez efficacement une application sharware par exemple (sur le net ou non).On essayeras notamment d'apprendre comment décourager la plupart des hackers avec des techniques assez simple a mette en œuvre qui vont compliqué la vie des crakers, hackers et autres lamers, et en décourager un grand nombre.Voilà, vous savez ce qui vous attend.Je communiquerai le mot de passe et le moyen de généré des mot de passe pour cet exemple dans une semaine ... En attendant essayez de trouver un mot de passe valide....Bon codingManchester.
lolje vais essayer de faire le keygenj'ai deja l'equation du second degres, reste plus qu'a la resoudre et c'est bonle bleme c'est que je e suis pas un matheux :-(
lol si ta deja des pb sur celui la le part 3 ca va etre bo ;o)
hihi
Ca y est, j'ai trouvé une sorte d'algorithme inverse :) Il fonctionne sur tout les mots de passe dont le cryptage donne un nombre positif (ou négatif mais sans bit perdu). En effet, si le nombre obtenu est négatif, cela signifie que lors de l'addition (et de la multiplication), le résultat a dépassé les 63 bits (modifiant donc le 64ième réservé au signe), et les bits situés après le 64ième bit ont été perdu. Donc à part inventer les bits perdu je ne vois pas trop de solution.--- Explication de l'algorithme ---Nous avons en boucle: sum := sum + (ord( psw[j] ) * sum) + ord( psw[j] )Soit x0 le sum de départ (c'est à dire 1234 lors du premier passage dans la boucle)Soit x1 le sum d'arriver et "a" la valeur de ord(psw[j]), et l'on obtient:x1 = x0 + ax0 + aOn a la valeur du Sum final (x1), c'est à dire -8401839074697527297 pour le cas du code de ManChesTer, mais on va utiliser comme exemple le Sum final obtenu avec le code 'abcde', soit 12343825493999.On connait x1 et on cherche le sum précédent (x0). Donc:x1 = x0(1 + a) + ax0 = (x1 - a) DiviserPar (1 + a)Or, on sait que le résultat de cette division est un entier, c'est à dire (x1 - a)mod(1 + a) = 0. On teste toutes les valeurs de a dont on obtient un résultat sans reste.Avec 12343825493999, on obtient "abcdeghkmoqtvw" comme lettre minuscule possible. On en extrait x0 pour chaque lettre, et on recommence avec le Sum obtenu dans x0. (En recommençant on cherche biensûr la valeur du Sum situé avant x0, donc x0 prend la place de x1 dans la fonction).Si à la fin on arrive avec x0 < 1234 cela signifie que l'on a fait fausse routeSi on a x0 = 1234 alors le code est valideEt si on a x0 > 1234 alors on continue (on cherche encore le Sum précédent).Pour 'abcde' on obtient comme code équivalent 'abced' ou encore 'AYdv<', '2bd<<', ' !""Gd', 'Adhvw', :) Je ne vois pas où DelphiCool a put trouver une équation du second dégrès... Au début j'ai aussi essayé de résoudre le problème de façon mathématique, mais j'obtenais des équations que je n'arrivais pas à réoudre. Par exemple pour un mot de passe de 4 lettres:a(1 + b + c + d + bc + bd + cd + bcd) + b(1 + c + d + cd) + c(1 + d) + d = Cavec a, b, c et d la valeur de chaque lettre et C une constante que l'on connait (C = 0x1CE5662AC6B7B4 pour le mot de passe de ManChesTer)Pour télécharger la source du programme, c'est ici:http://membres.lycos.fr/verygood/download/algo.zip Etant donné que toutes les solutions suceptible d'être correctes sont testées, le programme met quelques secondes, voir quelques minutes (ou quelques heures si on fait le test avec les caractères ASCII de 1 à 255) pour trouver un code correct.Pour ceux que ça intéresse, il y a une fonction qui convertie un nombre int64 en binaire et une autre qui fait l'inverse (binaire à int64) dans le zip.Voilà :-)
Deejay, ce serais sympa de mettre aussi la lib sFonctionsChaines dans ton zip.de toute facon, on complique un peux les choses le 18 ;o))et on ne parleras plu en secondes/minutes/heures mais en jours/semaine/mois pour trouvè 1 mot de passe +- valide ;o)), sinon fèlicitation pour ta rèflection.ps: remplace le sum=1234 par sum=-1;bon coding ...ManChesTer
Je viens de mettre à jour le zip en rajoutant les fonctions utilisées. Si c'est plus dur que ça le 18, je ne serai certainement pas à la hauteur ;) Sinon avec sum := -1 c'est beaucoup plus compliqué en effet, mon algorithme est inefficace :-)
bravo deejayl'uation que j'avais trouvé ressemble à la tienne somme actuelle = x + (y * x) + y x est la lettre y est la somme precedente
bon, le mot de passe est : "Je Suis Un Vrai Neuneu" sans les guillemetslol,Bon coding....ManChesTer
Il n'y a aucun algorithme inverse pour ce mot de passe... Fallait prévenir que le seul moyen de le trouver c'était le Brute Force :)C'était un défi perdu d'avance pour tout le monde (à moins de laisser son pc tourner pendant toute la semaine, voir plus).Enfin, je suis quand même content d'avoir trouver l'algo inverse pour les mots de passe court :p
Manchester, où est le generateur de code que tu avais promis?
Ajoute dans le code, avant le test if :procedure TForm1.Button1Click(Sender: TObject);begin Showmessage(Inttostr(calcpassword(edit1.text))); .... lasuite du code ....end;Je pensais que tous le monde avais trouvé ;o))Bon CodingManChesTer
lol ManChesTer,DelphiCool voulait le générateur inverse je pense: à partir du code obtenir le mot de passe. Dans un commentaire tu as écrit:"Je communiquerai le mot de passe et le moyen de généré des mot de passe pour cet exemple dans une semaine""le moyen de généré des mots de passe" est dans le zip, donc on a tous supposé que tu parlais de l'algorithme inverse. Enfin, je ne croit pas qu'il en existe un, le mot de passe est beaucoup trop long pour qu'à la fin de la boucle, le nombre obtenu tienne sur 64 bits... A moins d'inventer les bits perdus, c'est impossible.En tout cas, j'attend le "générateur inverse de code" avec impatience si il existe :) Et bravo pour TomRipley qui a trouvé le bon mot de passe en 15 minutes du "HACKME PART TWO". C'était plus un défi de crackeur que de programmeur :-)
Eneffet DeeJay, tu as raison l'algorithme inverse est impossible (pour les raison que tu explique d'ailleur).J'ai parler de "moyen de généré des mot de passe" (jaurais du ajoutè calculè) et pas d'algo inverse, an tappant votre password et le bou de code ci dessus, le showmessage affiche le résultat du calcul de votre password, que vous pouvez réutiliser plus tard.Je rapelle, que cette sèrie est destinée a apprendre des techniques, ce n'est pas un défit, si je veux faire un défit, il y a des sites pour ca !et tu veras dans HACKME PART TWO, quelques techniques anti-hacking, a vous de les compliquées, c'est les bases et non un travail fini ;o))(L'algo de cryptage de hackme part II est tres tres basic, je montre simplement la technique, a vous d'utiliser des algos complexes).Bon Coding...ManChesTer
dsl je ne conprend rien je suis un débutent pouvé vous mexpliquer
je les telecharger est jarrive pas a voir comment sa marche
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte