Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PROTECTION D'APPLICATIONS PAR SERIAL / CLE VIA INTERNET


Information sur la source

Catégorie :Sécurité Niveau : Débutant Date de création : 09/06/2004 Date de mise à jour : 22/06/2004 09:27:56 Vu / téléchargé: 17 760 / 1 300

Note :
6,13 / 10 - par 8 personnes
6,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (62)
Ajouter un commentaire et/ou une note


Description

Et oui, moi aussi j'aurais sur ce site tenter ma chance de poser un bout de code dit "inviolable" lol ;)

Nan bien entendu je n'ai pas cette même fibre prétensioniste qu'avais ceux qui ont jadis ici même titiller les désassembleurs en herbe avec des tonnes de procédures d'activation incassables, qui cassaient en fait 1 à 2 jours après le post de la source grâce à des chevronnés.

Bon, fit de l'introduction, comme je l'ai dit, à mon tour de proposer, certes en retard, mon idée de protection.

Alors je me réserve quand même de préciser que :

1- elle n'est pas inviolable (du moins je l'espère parceque sinon je suis riche... ba merde)
2- l'idée qu'elle exploite est ridicule, mais peut-être à creuser d'avantage.

En effet, vous ne trouverez dans mon zip qu'un exemple "tout con" de l'application de mon idée.

 

Source

  • Mon ZIP fourni bien sûr la source.
Mon ZIP fourni bien sûr la source.

Conclusion

Le tableau Tbl de byte est certes immondement rempli, mais ne sert ici qu'à cacher une chaine d'une éventuelle decompilation. Les aguerris apprécieront.

"L'activation" nécessite d'avoir le serial, et une connexion active au Net.

Afin d'éprouver la robustesse de l'idée, je ne vais pas dans un 1er temps divulguer le serial. J'apprécirai en conséquence que les "pros" se penchent sur la décompilation pur et dur en ne partant PAS des sources, afin d'obtenir de sérieux retour sur la valeur de l'idée ici instaurer.



Sur ce, laissez moi TOUT vos commentaires

@+
Celiphane
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de celiphane le 09/06/2004 01:24:34

Alors, pourquoi ce "truc" ?

et bien voyez-vous, j'ai souhaité contourné le sempiternelle test "=" ou "<>" qui conditionne la validité d'un serial, et qui est le plus simplement du monde contourner par une décompilation / patchage...

En attente de retours :)


@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 09/06/2004 09:39:51

Salut,
desoler de te le dir comme sa, mais ta protection n'a pas tenue 30 secondes, appene le temps de lancer VB !!
Non pas que je soi bon (loin de la) ni meme que ton code ne le soi pas (je ne l'ai pas regarder (par manque de temps). mais il existe une faile dans visual basic qui permet de selectionner la feuille de demarage meme apres compilation resultat des cource il suffie de dire que l'on veu demarer avec la feuille Fprivate et ne pas lancer Fpublic et le tour est jouer !! y a meme pas eu besoin de decompiler le prog !!

pour plus d'explication aller jetter un coup d'oeil ici
http://www.vbfrance.com/code.aspx?ID=5474 (la faille est entierement expliquer par Warning)

et ici pour avoir le logiciel de Warning pour pouvoir zaper toute les protection comme la tienne
http://www.vbfrance.com/code.aspx?ID=4946

voila y a encore du taf a faire pour proteger ses appli, non seulement faut penser a faire une protection corecte mais en plus faut trouver un moyen de compler les failles des outils a bilou lol

Bon courage pour la suite !!

signaler à un administrateur
Commentaire de celiphane le 09/06/2004 10:38:28

lol

belle performance mais tu n'as pas compris !

je m'en fous que tu puisses afficher la form X ou la Y. Le but de la source est de montrer une idée de protection. En l'occurence, la regarder est le seule intérêt.

Quand je parle de la déjouer, c'est bien elle qu'il faut déjouer et pas une autre faille.

Tu piges pas ? Ba par exemple si je veux je change le programme et AU LIEU QUE LA REUSSITE SOIT L'OUVERTURE DE Fprivate, je FAIS EN SORTE QUE CE SOIT L'APPARITION D'UNE MESSAGE BOX, de la création d'un fichier etc...

Tu comprends pourquoi je dis que tu n'as pas compris j'espère ? Réessaye en fesant comme il faut, ce sera plus intéressant !

Merci de ton intérêt tout de même !

@+
Celiphane

signaler à un administrateur
Commentaire de celiphane le 09/06/2004 10:39:42

d'ailleurs, je me REcite lol :

"En effet, vous ne trouverez dans mon zip qu'un exemple "tout con" de l'application de mon idée"

Voir l'idée donc, cracker l'idée, mais pas la faille X. Après chacun fait sa sauce avec l'algo ci-proposé.

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 09/06/2004 10:48:32

J'vais jeter un oeil la-dessus quand j'aurais le temps...

signaler à un administrateur
Commentaire de jpeman le 09/06/2004 18:49:17

faut que je me renseigne sur ce code car j'en comprends pas trop le principe et dans quelle utilisation on peut en avoir besoin, merci tout de meme, a+

signaler à un administrateur
Commentaire de celiphane le 10/06/2004 10:24:00

jpeman> pour protéger un shareware par exemple.

ce qui est drôle, c'est que la personne qui a mis la note "1" n'a même pas compris la source ! :)

comment j'en suis sûr ? personne ne m'a encore donné le serial qui débloque la sécurité... donc elle reste en course !

;)

@+
Celiphane

signaler à un administrateur
Commentaire de NHenry le 10/06/2004 12:51:08

Il me semble que sur ce site il y a un code qui permet de calculer le CRC32 d'un exe, je pense qui si tu l'utilise, tu peux verrouiller la modif du prg une fois compiler.

signaler à un administrateur
Commentaire de ThierryTheOne le 10/06/2004 15:13:00

Le CRC32 tiendra pas longtemps. Et est-ce que ton serial serait pas:
"Aïe" par hasard?

signaler à un administrateur
Commentaire de celiphane le 10/06/2004 16:11:09

non, pourquoi cette question ?
Il suffit de tester de toute facon...

signaler à un administrateur
Commentaire de celiphane le 11/06/2004 00:41:37

Allez, je donne le serial...

pour avoir l'aval de la protection mise en place, il faut valider ce code :

123-456-789-0


Je trouve que la protection fait bien son office : en désassemblant, le cracker est incapable de trouver le je ou le jne à faire sauter, et il ne peut pas non plus nopper. Est-il vraiment piéger ? Je continue de croire que c'est efficace, j'attends donc la preuve du contraire.


@+
Celiphane

signaler à un administrateur
Commentaire de Becks le 13/06/2004 15:10:08

Bravo !!
Je trouve ton code très bien !!! Mais maintenant que ta donner le code tu pourais fournir quelque commentaires !!! Pour l'améliorer tu pourais donner un serial par exe et quand tu envoie la requête sur le site envoie aussi ce serial, comme ca tu pourai avoir un seul code par exe !!
Bravo mais ce serait bien d'avoir des commentaires !!!

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 09:45:28

Oui désolé c'est vrai !

En fait, cette protection ne se base pas sur le test d'un valeur avec une autre comme toutes autres protection : en effet, ces protections n'offres qu'une protection que peut efficace parceque le cracker peut désassembler l'application et nopper, ou bien modifier le test de l'égalité des valeurs. De cette manière les protections sautent...

D'où mon idée : éliminer tout test de valeur de l'exe pour valider le serial... impossible ? et bien non !

En fait le programme envoie le serial tapé sur une URL, c'est le serveur web qui teste la valeur, et si elle est ok, ce serveur web renvoie L'INSTRUCTION VB a exécuté pour poursuivre !!! Le programme la recoit et l'interprete en live.

En fait, l'instruction permettant de poursuivre une fois le bon serial tapé N'EXISTE PAS DANS LE PROGRAMME. Donc on ne peut pas modifier le programme pour qu'il l'active : il ne connait pas cette instruction... et comme on ne peut rien ajouter dans un exe une fois compilé...

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 10:25:54

2 petites choses... En connaissant la méthode, on peut cracker ton logiciel. Je m'explique :
- On l'achete
- On le lance en utilisant un surveillant de paquet et on attend la réponse du serveur avec sa commande.
- On modifie l'exe en y rajoutant la commande (si, si, c'est possible, desole...)

Ceci dit cette protection est pas mal, mais il faut internet et ca. Ben tout le monde ne l'a pas.

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 10:47:32

"On le lance en utilisant un surveillant de paquet et on attend la réponse du serveur avec sa commande"

Faux :

le serveur ne donnera sa commande QUE si le serial qui lui a été fourni est correct. Sinon, tu peux toujours l'attendre : faut donc payer la license.


"On modifie l'exe en y rajoutant la commande (si, si, c'est possible, desole...)"

Faux :

C'est complètement impossible. 2 solutions s'offrent à toi pour cela : recompiler (mais tu n'as pas les sources en tant qu'acheteurs) ou alors parvenir à faire "une injection" mémoire, ce qui est mission impossible (nan en fait C'EST impossible) dans une appli que tu n'as pas toi même compiler. Tout ce que tu peux faire, c'est modifier, c'est à dire patcher. Retirer, modifier, oui, ajouter, non.
Et quand bien même tu réussiras à injecter, tu ne sauras pas QUOI injecter. Dans mon exemple, le cas est simple. Bien utiliser, il est impossible de savoir quelles lignes de codes injecter.

Navré, sauf si tu me le prouves, tes propositions ne fonctionnent pas. Merci de t'être intéressé, et merci de tes félicitations.


Suivant ?


@+
Celiphane

PS: bcp de protections aujourd'hui ouvrent leur porte grâce à une connection internet, et le mouvement est grandissant. Même s'il est vrai qu'aujourd'hui tout le monde n'en dispose pas, je l'avoue volontiers.

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 10:55:28

Pour ta premiere remaraque, tu as du mal me lire. J'ai dit "on l'achete" :o)
C'est la base de la plupart des crackers ;o)

Modifier un exe n'est pas impossible. Certains virus le font, non ? On peut donc le faire a la main. Et pourtant ils ne connaissent pas du tout le code de l'exe qu'ils vont infecter. Tu veux vraiment une preuve ? (je suis pas un pro, t'auras que l'explication de base...)

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 11:29:24

Ok, donc tu as dis "on l'achete"  ;)

Je suis bien d'accord, mais là on peut pas faire grand chose de plus :)
Si demain je donne mon serial de tout mes logiciels à tout le monde, aucune protection ne peut parer à ça, je suis bien d'accord, mais dans ce cas précis ta solution dépasse mon problème : personne ne peut y remédier, pas même microsoft ! C'est "hors course" donc...

Je te reconfirme que modifier un exe EST impossible. Je ne suis pas un pro non plus, toutefois j'ai mes acquis. ;)

Concernant les virus, comme tu les cites, ils ne modifient en rien un exe en s'y ajoutant, non.
Ils agissent plutot comme winzip ou winrar par exemple, mais en mal : ces programmes génèrent des autoextractibles, c'est à dire qu'ils génèrent des programmes qui extraient des données. Et bien les virus dont tu parles, c'est pareil, ils recherchent sur le disque des exe (rien d'impossible ici), ils génèrent un fichier exe qui contient d'une part du code malveillant qui a été fait pour ca, et d'autre part les octets fichier exe ciblé (rien d'impossible ici), puis nomme le résultat pareil que le fichier ciblé et remplace le fichier ciblé par ce résultat (rien d'impossible ici).

La substitution est faite, dès lors, quand tu penses lancer l'exe notepad par exemple, c'est pas lui, c'est du code malveillant qui fait sa mauvaise besogne (de diverse sorte), puis extrait le VRAI notepad qu'on lui a fait ingurgité dans le dossier TEMP par exemple puis l'execute : a l'ecran, tu n'as rien vu : notepad s'est ouvert.

MAIS TON EXE D'ORGINE N'A PAS ETE MODIFIE dans le sens que tu l'entend : c'est IMPOSSIBLE.

@+
Celiphane

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 11:34:22

Et en fait, à bien y réfléchir, concernant ta solution d'écoute pour connaitre les lignes de codes à passer pour que le programme se déverouille, il suffit d'améliorer le programme : pourquoi ne pas crypter les lignes de code envoyé, il les decryptes et les executes...

Trop facile à décrypter tu penses ? Alors encore mieux, le cryptage peut prendre en compte des paramètres diverses telle le jour le mois et l'année, ce qui fait que selon le jour de la demande, le codage généré ne sera pas suivable, car différent chaque jour, enfin tu vois, tout est a faire avec cette idée... c'est pas top top mais ya du bon !

enfin, c'est mon avis ;)

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 11:34:49

Ok, je vois que tu y tiens... Je te cherche les infos :)

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 12:15:20

Voila :
http://www.chez.com/popyk/ppvirus/RAPPORT.HTM

Lis la section 2.1.2, "Les virus parasites".

En gros, ton virus ajoute en debut de code un saut(1) vers la fin du code ou est situe son code à lui, puis a la fin de son code à lui, il ressaute(2) au debut du code juste apres le premier saut(1), ainsi le programme s'execute normalement...
Il faut, pour cela, modifier dans l'en-tete de l'executable la taille de l'executable (il ne la connait pas et en a besoin pour se copier en memoire pour etre executer).

Les premiers enti-virus se basaient sur une fonction de saut dans les premieres commandes du programme pour signaler la presence eventuelle d'un virus.

Content ? :o)

signaler à un administrateur
Commentaire de ThierryTheOne le 14/06/2004 12:54:49

Et puis si le code a injecter est trop grand on peut toujours rajouter une section dans le PE du prog, faire ses modifs où il faut et avoir un prog plus grand en taille et avec ce qu'il faut à l'interieur. (Reverse Engineering)

En ce qui concerne le cryptage, les instructions seront bien décryptées en mémoire!!!!
Peu importe le niveau de cryptage, faut juste attendre la fin de décryptage, un petit ReadProcessMemory (ASM Powaaa lol) et c'est bon.

Voila!

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 13:09:00

Merci de me soutenir Thierry ;o)

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 14:26:58

lol, c'est le débat ici ! passez le mot venez tous ! ;)


c'est ça qu'est bien sur des sites communautaires comme ça !

:)

je me renseigne et je viens alimenter prochainement ! ;)

@+
Celiphane

NB: argggggg si je comprends bien on est plus a l'abris de rien arggggg ;)

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 14:32:09

Ok j'ai lu ton article. Tu avoueras qu'on est similairement dans le même cas que celui que j'ai présenté ;)


Mais ca confirme bien une chose (et oui désolé lol ;)   ) : on ne peut pas modifier un programme dans le sens où tu l'entends ! Où du moins dans le sens où tu l'entendais par la phrase : "On modifie l'exe en y rajoutant la commande".

En effet, dans ce que je t'ai présenté, et dans ce que tu m'as présenté derrière (la même chose à l'envers), ce n'est pas une modif du programme d'origine. On ne lui a pas ajouté de code : je maintiens que c'est impossible ;)

C'est bien 2 prog différents qui cohabitent (ou bien un qui parasite l'autre plutot puisqu'on parle de virus).

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 15:21:40

ok, mais ca m'empeche pas de "sauter" ta phase de verification.
Il suffit que je voie ce que le programme fait apres avoir recu la commande par Internet.

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 15:52:27

je reste vraiment dubitatif :)

désolé, je ne vois pas comment insérer une instruction dans un code compilé... cela dit MERCI de nourrir le débat, c'est fortement intéressant.

Tu ne peux pas et de toute facon en tant que cracker (donc sans les sources ci-jointes) tu ne sais pas quel code il faut insérer, les noms de variables et d'objet te sont inconnues.

Nan j'aimerai vraiment entendre quelqu'un me dire "je vais te casser ta protection et je vais t'expliquer comment je m'y suis pris", sur un nouvel exe que je fournirai dans le zip sans les sources cette fois, et sans le serial. Ne serait-ce pas intéressant ? Reste à attendre le "compétent" !  :)

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 14/06/2004 16:00:01

Ben ton programme, il recoit un truc. Ok, et apres il effectue des commands en assembleur. Donc je reprends ces commandes et je les insere ou il faut en "sautant" ta partie de verification. C'est comme ca que font les crackers.

Maintenant, je ne suis pas assez competent pour te le faire, desole. Mais ta protection est quand meme bien pensee.

signaler à un administrateur
Commentaire de celiphane le 14/06/2004 16:39:54

Je te remercie.

En fait, j'ai des notions en crack, des petites, mais qui m'ont permis à titre personnel de faire fonctionner certains de mes jeux sans leur CD (par exemple Rocket Jocket, un vieux jeux). A titre personnel je le jure ! :-|

Du coup j'ai qq technique bien entendu, et en faisant ce programme, aucune ne peux me servir. Mais bien entendu, je ne connais pas tout.

Cela dit j'attends les experts pour appliquer ce dont tu me parles. Je répètes (et c'est pas parceque je suis têtu ni parceque je suis fier de moi hein !!!) que je ne penses pas que ca se cassera si simplement :

tu me dis "je reprends ces commandes" mais elles n'existent pas dans le programme.

tu me dis "je les insere ou il faut en "sautant" ta partie de verification" mais justement, je n'ai pas de parti de vérification !


Disons donc que j'ai créé un bon casse tête, reste à voir s'il est suffisament bien pensé pour résister a un bon cracker.

@+
Celiphane

signaler à un administrateur
Commentaire de ThierryTheOne le 15/06/2004 09:17:17

ça m'interesse un nouvel exe sans source, ni serial.
Mais qu'est-ce qu'il ferait une fois le bon code entré?
Parce que si ton prog est juste une interface où les TOUTES les commandes
seraient sur un serveur distant. Je pense pas que beaucoup de gens seraient près à prendre un log comme ça. (infos/vie privée).

Mais si dans ton prog TOUT est déjà dedans, par ex:
le prog sert juste à indiquer par des boites de message si le code est bon
MAIS, aucune instruction dans ton prog ne fait arriver vers ces boites.
Par contre SEULEMENT, une commande venue d'internet ferait aller où il faut, ben y'a pas trop de probleme à modifier.

Enfin bon j'espère avoir été clair.
Parce que pour moi les commandes venant d'internet sont soit:
1- Faire continuer le prog ici parce que le code est bon soit
2- Une interface où il faudrait rester connecté à internet pendant toute la durée d'utilisation du prog parce que les commandes sont pas ds le prog.

signaler à un administrateur
Commentaire de celiphane le 15/06/2004 10:55:14

Ok, ThierryTheOne,

dorénavant dans le zip de cette source, tu y trouveras un nouvel executable, sans ses sources, nommé "superappli.exe".

Ce programme requiert un serial pour débloquer sa véritable fonction, une calculatrice hyper sophistiquée autorisant l'addition de 2 valeurs saisies par l'utilisateur. La partie Web du programme n'est vraiment liée QU'A la protection.Le cas est donc réel. De plus, une fois la protection dévérouillée par le serial, l'appli reste débloquée.

Merci de me tenir au courant lorsque tu auras vu l'exe, puis par la suite, de tes avancements.

Bonne chance,

@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 15/06/2004 12:40:45

Voila c cracker, j'ai acces a une magnifique calculatrice qui fait des addition lol, j'ai pas le serial mais j'ai quand meme acces a "toute" les fonction du programme,  on envoie ou l'exe ?

signaler à un administrateur
Commentaire de Mindiell le 15/06/2004 12:51:37

Desole celiphane, je t'avais prevenu...
Nomitsu, envoie le moi par mail, je le mets sur mon site perso pour que tout le monde puisse le dl...

signaler à un administrateur
Commentaire de NoMitsu le 15/06/2004 13:03:46

sa serais avec plaisir mais il faudrais me donner ton adresse stp ;)

signaler à un administrateur
Commentaire de NoMitsu le 15/06/2004 13:19:14

Bon c pas grave j'ai cree un conte, voila l'url pour telecharger le prog
http://www.ifrance.com/NoMiWEB/superappli.exe

signaler à un administrateur
Commentaire de NoMitsu le 15/06/2004 13:41:35

Sinon, voila une petite reflexion sur ta protection (se point de vue n'engage que moi bien sur)

Je trouve le concept vraiment bon, le faite que se soit le serveur qui envoie les commandes pose vraiment quelque probleme au cracker, mais d'un autre cote c'est super dangereux, car il n'y a aucune verif de faite sur se qui est envoyer, se qui est une faille enorme car un peu executer n'importe qu'elle instruction. On peu tres bien imaginer qq1 qui hack le serveur et qui modifie les donner envoyer au client, lui demander de telecharger un virus ou bien un trojan !!

Enfin, en omettant la faille de securite, il se pose un autre probleme, je doute que l'utilisateur supporte longtemps de devoir s'enregistrer a chaque foi qu'il veut utiliser sont programme
de se faite il faut penser a enregistrer quelque par le serial apres le premier enregistrement de l'utilisateur et la on retombe dans un probleme « classique » si je puis dire, le cracker preferera casser la protection a se niveau la plutot que sur l'enregistrement en ligne (du moins c'est se que je ferais)

Voila, maintenant je peu me tromper et ce n'est qu'un debut de protection comme tu la dit : "c'est a creuser d'avantage"
Bon courage pour la suite

signaler à un administrateur
Commentaire de celiphane le 15/06/2004 13:51:17

Très honnêtement chapeau bas. C'est du bon boulot NoMitsu !

Je serais très curieux aussi de savoir comment tu t'y ai pris !

En ce qui concerne ton point de vue, je l'approuve à 100%.



En fait, sur cet exe, le serial était :

mon-serial-qui-est-13-dur-a-trouver

Ceci débloque l'application, toutefois, une fois le serial saisi, il n'est plus nécessaire de le retaper, chose que tu n'as pas du voir depuis ton poste de cracker, et c'est bien normal.

En revanche il est clair que je me demande comment tu as fait, surtout qu'à aucun moment l'application n'était censé faire disparaitre la textbox du serial, ni le label "Numero de licence :" ni le bouton "Valider" !

Pourrais-tu nous en apprendre davantages sur tes connaissances, s'il te plait ?

merci, et bravo

@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 15/06/2004 23:33:32

Salut,
j'avais bien capter qu'il y avais un fichier cree apres l'enregistrement, en effet le string data ref  "Le fichier de license est alt" m’avais mis la puce a l’oreille, en bidouillent un peu je l’ai fait apparaitre mais a partir de la mon debuggeur plantais a chaque tentative de chargement du prog et je doit dire que je ne comprenais pas pour quoi.
A se propos je te remercie d'avoir donner la reponse, sa ma permis de comprendre se qui c'est passer, il semblerais que windasm et olldebug ne supporte que le composant scriptControl plante !

Pour se qui est de la technique utiliser elle est plus proche du reversing engineering que du cracking, j'ai fait exactement se que tu fait lorsque tu envoi la commande pour reactiver la frame :

p1150032448410202222111141.enabled = true
p1150032448410202222111141.visible = true
me.height = 4815

sauf que je l'ai code en "dur" dans le programme et qu'a la place de mettre
me.height = 4815 je l'ai mis a 3200 je crois et que la frame j'ai modifier son top pour cacher la partie de l'enregistrement en ligne.

Voilà, c’est aussi simple que sa, et sa prouve encore une foi qu’en informatique « impossible » n’existe pas.

signaler à un administrateur
Commentaire de celiphane le 16/06/2004 09:50:20

"sa prouve encore une foi qu'en informatique « impossible » n'existe pas"


Ca c'est clair, c'est également ma devise. De toute facon, ce qui a été fait peut toujours être défait : la logique même non ?

Je vois pas comment on parviendra à sécuriser réellement tout ca... Ca viendra peut-être un jour, mais ce sera dur... Où peut-être ce sera vrai quand les moyens de cryptage deviendront si onéreux que les pirates, entités seuls, ne pourront plus suivre pour le décryptage.

Pas demain la veille, sauf si demain, un octet d'une appli deviens un giga crypté (c'est un ordre d'idée bien entendu). Là faudra s'accrocher les baloches !

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 16/06/2004 09:55:21

Desole celiphane, mais tant qu'il reste une clef pour entrer dans une piece, on pourra toujours en faire un double. Le must de la protection serait tout simplement que personne pas meme l'acheteur puisse y acceder.

C'est mon opinion, et elle n'engage que moi ;o)

signaler à un administrateur
Commentaire de celiphane le 16/06/2004 12:00:44

Pas forcément !

Regarde : ya certains jeux qui commencent à sortir et à l'heure actuelle, aucun pirate n'est en mesure d'y apporter un crack malgré la lourde demande.

Je prends pour exemple le jeu français Trackmania, protéger par la protection Starforce, le crack a mis plus de 3 mois à voir le jour, et encore il est incomplet et instable : le jeu plante dans certain mode etc (j'ai la version complète moi, achetée ;)    ).
Aujourd'hui, plusieurs patchs pour améliorer le jeu sont sortis, et bien aucun cracker n'a suivi l'évolution : le crack restant demeure instable ET pour le jeu non patché (v1.0), contrairement aux jeux plus "vieux", genre GTA Vice city (pourtant récent quand même), où un crack suivait de quelques jours la sortie d'un patch.

On y viendra à la protection parfaite, mais demain.

@+
Celiphane

signaler à un administrateur
Commentaire de celiphane le 16/06/2004 13:26:45

-------------------------------
Message destiné à NoMitsu
-------------------------------


Je me suis permis de refaire un nouveau test, mais cette fois avec une méthode complètement différente de celle-ci : plus besoin de web ni rien.

Du coup, j'ai remis un EXE nommé "DemoProtection" dans le ZIP, et j'aimerai assez que tu me dises ce que tu en penses. Il a 2 fonctions qui nécessite l'enregistrement. Pourras-tu les débloquer même sans le serial qu'il attend ?

Merci de me tenir au courant !


@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 16/06/2004 14:06:52

Bon Stephane, ca serait p'tet bien qu'on s'ouvre un truc ailleurs plutot que de pourrir ta source, non ?

signaler à un administrateur
Commentaire de celiphane le 16/06/2004 14:47:38

Pour ce qu'il y a à pourrir étant donné que la protection ne protège pas lol :)

Tu veux ouvrir un truc où ?

Et d'où tu connais mon prénom ? :-Grâce à l'exe ?

@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 16/06/2004 23:42:24

salut celiphane, c'est gentil de penser a moi ;), justement je cherchais quoi faire de mes journee (de l'info qu'elle question !!! lol)

Bon serieusement, je viens de jeter un coup d'oeil a ton programme, donc arret moi si je me trompe
il y a 3 petits chaine crypter pour remplacer la connections a un serveur.
Dans l'absolue c'est faisable de suivre l'algo de cryptage pour decodée la chaine mais sa vas me prendre du temps alors je ferais sa apres mon orale de francais si sa te gene  pas trop.

++ et bonne prog

signaler à un administrateur
Commentaire de celiphane le 17/06/2004 00:04:29

Alors comme tu me le demandes, je t'arrête tout de suite, à ta réplique :

"il y a 3 petits chaine crypter pour remplacer la connections a un serveur"

la réponse est non, il y a effectivement des chaînes cryptées, mais elles ne remplacent pas la connexion à un serveur : en effet, cette appli se passent COMPLETEMENT du net, on est ici dans un autre registre. Tout y est local, tu te trouves ici comme devant un VRAI shareware, si ce n'est qu'il est nul ;)    (cela dit certains volent bas).

Ainsi sur ce prog, la procédure est simple : pas de serial rempli, pas droit aux fonctions privées, une fois le bon serial rempli les fonctions deviennent utilisables ET le restent, à moins que le programme ne soit réinstallé ailleurs (je passe par un fichier dans le dossier de l'exe pour ne pas pourrir ta base de registre). Tu peux te déconnecter du Net pour celui-ci, aucun rapport !

Et cette solution, sans être miraculeuse, me semble assez sympa. Veux-tu que je te donne le serial afin que tu puisses tester de manière plus approfondie ? Plutôt que de te prendre le chou, tu pourras ainsi réellement confirmer ou au contraire infirmer que ce type de protection est valide. Si la réponse se montre positive, j'en ferais une source ici même.

Demande moi des infos pour la casser, si ca peut aider à démontrer qu'elle vaut le coup.

Sinon, bon courage pour tes examens, plonge t'y fort, c'est important.

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 17/06/2004 00:33:04

Oui, grace a l'exe :o)

Je suis pas alle plus loin qu'une simple edition, je passe mes journees a bosser, moi :op

Pour le reste, autant faire du freeware, c'est beaucoup mieux et ca se passe de protections ;op

signaler à un administrateur
Commentaire de celiphane le 17/06/2004 01:09:20

quoi grâce à l'exe ?

j'ai pas très très bien cadré ton message, Mindiell, je dois être fatigué surement...


@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 17/06/2004 08:24:05

Ton prenom, grace a l'exe... Il y a dedans le repertoire de sauvegarde de ton programme ;o)

signaler à un administrateur
Commentaire de celiphane le 17/06/2004 10:14:24

Ha oui bien sûr, excuse moi j'ai pas lié ta réponse à ma question, il était tard lol :o)

@+
Celiphane

(alias CELIne & stéPHANE)   ;)

signaler à un administrateur
Commentaire de NHenry le 18/06/2004 16:35:46

Et si tu n'a pas internet ?

signaler à un administrateur
Commentaire de Mindiell le 18/06/2004 16:49:31

Alors comme explique ci-dessus, il a modifie son programme pour ce cas-la :o)

Merci de lire les reponses avant d'en ecrire une ;op

signaler à un administrateur
Commentaire de NoMitsu le 21/06/2004 19:55:06

Salut salut, apres quelque jour d'absence me revoici !!

tous d'abord merci, j'avais bien capter que cette foi ci y avais plus besoin de connexion a un serveur (d'ou les mots "chaine crypter pour remplacer la connections" se qui veut bien dire qu'il n'y en a plus lol enfin passons ce quiproquo)

Donc je resume, la protection a tenue 2h, (et oui je suis pas un craker pro mais amateur, g encore plein de progres a faire)

Donc voici, si qui en est, arrete moi si je me suis tromper quelque par,
il n'y a donc pas 3 chaine crypter mais une table "aqwxsz2e9d6cv03frtgb5nh7y-ujk1iol4m8p", et 2 chaines qui donne la position des caracteres dans les clef qui sont rentrer, je c pas si je me suis bien fait comprendre, je crois qu'un bout de code sera plus simple (rassurer vous je l'ai "traduit" de l'asm en vb pour que tous le monde comprenne :

---------------------------------------------------------------------------------
Dim i As Long, j As Long
Dim TabString As String, Tmp As String
Dim sClef As String, sPass As String


'Pass pour la fonction afficher fichier
    sPass = "a000er00000i000000000h0fc0000000c"
    sClef = "a77clns7clncsz"

'Pass pour la fonction voir dossier (pas encore fait)
    'sPass = "a000er00000i000000000h0fc0000000c"
    'sClef = "r3pezsy3uucsz"
    
    TabString = "aqwxsz2e9d6cv03frtgb5nh7y-ujk1iol4m8p"
    
    For i = 1 To Len(sClef)
        j = InStr(1, TabString, Mid(sClef, i, 1))
        Tmp = Tmp & Mid(sPass, j, 1)
    Next i
    
    Debug.Print Tmp
---------------------------------------------------------------------------------

Cette exemple montre l'algorithme utiliser pour valider la commande afficher fichier.

Voila se que g trouver donc, j'ai pas encore fait (et je ne pence pas le faire en faite sauf si c primordial pour toi celiphane) pour la fonction voir le dossier (mais j'avoue que je n'est pas encore trop compris comment on la valide (g pas encore trop chercher).

Donc voila, je pence pas que se soit une super bonne protection, mais si tu veux bien poster les sources que je voie quand meme le code en vb plutot qu'en asm sa sera mieux et moins long ;)

donc voila un des serial possible "a000er00000i000000000h0fc0000000c", on peu remplacer les "0" par n'importe quoi !

signaler à un administrateur
Commentaire de celiphane le 22/06/2004 09:34:20

Salut NoMitsu,

je vois que tu t'es penché sur le problème, et cela me réjouit ;)

Je pense que tu seras aussi très agréablement surpris en voyant les sources de ce nouveau projet, que je viens de placer dans le zip de cette source dans un nouveau zip appelé "protec.zip".

Bien que tu ne sois pas, de tes dires, un cracker pro, il n'empêche que contrairement à ce que peux affirmer, cette protection est plutôt intéressante tu en jugeras par toi-même. Car celle là, tu n'y es pas parvenu, et elle est bien plus que le cryptage que tu pensais être en la dés-asm-ant.

Enfin, bien plus, tu me diras, toutefois je la juge encore plus intéressante que la précédente.

Tu constateras qu'une fois de plus, je suis parvenu à annuler le test d'une condition pour executer tel ou tel code, ce qui rend la protection assez performante comme le démontre ton "semi-échec" : en effet, ya bien une question de cryptage la-dedans.

Aussi, ma routine de cryptage est ce qu'elle est, imagine une meilleure... Car comme d'habitude, je ne montre ici que le principe global.



Bon assez parlé, regarde et dis-moi si tu penses qu'il faut que j'en fasse une source indépendante, ou bien une fois de plus penses-tu qu'une ruse -aisée- est possible ?

Merci

@+
Celiphane

signaler à un administrateur
Commentaire de celiphane le 22/06/2004 09:37:47

Ha au fait, j'oubliais le plus important, voici la license qui débloque l'application :

a4z5er0ty7ui-8opmlkj6hgfd3sq9wx1cv2bn


Note également que cette protection autorise la protection de n'importe qu'elle procédure, quel que soit son contenu.

Bon c'est vrai que le tout est à réfléchir encore un peu, pour homogééniser l'ensemble, car j'avais tout fait en à peine 1 heure (de la réflexion à la compilation lol)

@+
Celiphane

signaler à un administrateur
Commentaire de celiphane le 22/06/2004 09:42:41

Encore moi, concernant le serial, c'est bien ce que tu avais dit, sauf que tu comprendras tout seul je pense pourquoi ca ne marchait pas pour l'autre fonction, alors qu'elle utilise pourtant la même clé !

Mais voilà, j'ai fait ca comme ca car ce n'était LA démonstration d'un cryptage, donc place toi dans un contexte avec un vrai cryptage, celui qu'on est aujourd'hui à même d'y implenter en informatique...

bon voilà je te laisse, please your feedbacks ! ;)

@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 25/06/2004 01:47:27

Donc voila se que je pence de la protection apres etude de la source et reanalyse lol

En faite, lorsque l'on regarde attentivement avec l'editeur hexa le programme on s’aperçois assez rapidement que les nom des fonctions apparaisse en claire (regarde par toi meme ouvre ton prog avec le bloc note ou un editeur hexa et fait une recherche AfficheFichier et MontreDossier) et il se trouve a peu pres au meme endroit a chaque foi, il suffie d'avoir le nom de la feuille et pis on recupere le nom des fonctions tres facilement.

Une foi que l'on a l'algo de cryptage et le nom de la fonction c tres simple de trouver la clef.

Apres il est vrais que sans la source du prog je savais pas trop comment mis prendre et cette technique derouter un bon nombre de craker debutant.

Maintenant meme en utilisant un algo de cryptage plus puissant sa ne sera pas veritablement un probleme c'est vraiment tres facile de remonter le processus en sens inverses sa prend juste un peu de tps mais qq1 de motiver finira bien par y arriver.

En suite, y a bien une chose que me gene avec cette technique, et se n'est pas du point de vue protection enfin pas directement, en effet le nom des fonctions est unique ce qui implique qu'il n'y aura qu'une seul et unique clef pour activer le programme !! or si l'on décide de commercialiser un programme on ne peu pas baser la protection sur une clef mais sur un algorithme qui permet d’identifier l'utilisateur.

signaler à un administrateur
Commentaire de celiphane le 25/06/2004 09:18:36

ok pour tes 1er points,
cependant concernant le dernier point, on doit forcément pouvoir trouver un moyen de générer plusieurs clé du même "type" qui donneront toutes la même chose, c'est mathématiques, il suffit de prendre la base de la base :

50+50=100
30+70=100
20+80=100
etc...
etc...

Je ce que je veux dire c'est qu'il doit bien y a voir un moyen de faire un cryptage dans ce sens...

Mais en tout cas voilà tout pour le moment concernant mes idées de protection SANS test validateur...

;)

merci de t'y être intéressé NoMitsu.   ;)

@+
Celiphane

signaler à un administrateur
Commentaire de Mindiell le 25/06/2004 09:30:44

ce que nomitsu veut dire c'est que tu obtiens toujours 100, donc c'est trop facile a passer...

signaler à un administrateur
Commentaire de celiphane le 25/06/2004 09:46:45

Je pense pas que ca soit exactement son esprit Mindiell, car vois-tu n'importe qu'elle clé de n'importe qu'elle programme obtient elle aussi TJRS 100, pour être validé et reconnu par le programme cible.

Il dit bien "qu'une seul et unique clef". la clé c'est le calcul, le résultat c'est la validation de la protection.

@+
Celiphane

signaler à un administrateur
Commentaire de NoMitsu le 25/06/2004 12:16:09

En faite, en partant du principe que si il n'y a qu'une seul solution mais plusieurs façon d'y arriver, sa veut dire que l'on facilite la tache du craker non ? je pence qu'il faut une solution pour une façon de la calculer.

Ah oui aussi y a bien un test de validation qui aide lors du desassemblage :
  If CP.GetSubName("a77clns7clncsz") = "affichefichier" Then MsgBox "Bien :)" Else MsgBox "Pas bien :("

je suis d'accore sa sert a rien de faire un nop sur cette comparaison pour obtenir l'affichage du "Bien" car sa ne debloque pas les fonctions mais sa permet d'avoir une idee de la clef !!!

Ah oui un detail qui peu etre important de prendre en conte, lorsque l'on debug le programme avec windasm en chargent le processus pour pouvoir voire l'etat des registre et que l'on arrive a ce niveau la :

Public Function LaunchProtectedSub(ByRef Owner As Object, ByVal SubName As String) As Boolean
On Local Error Resume Next
  CallByName Owner, GetSubName(SubName), VbMethod
  LaunchProtectedSub = (Err.Number = 0)
End Function

si la fonction CallByName gener une erreur windasm plante royalement impossible d'aller plus loin autrement dit le logiciel le plus utiliser par les craker debutant ne sert a rien (j'avais eu le meme probleme avec la premiere de tes protection avec "SC.ExecuteStatement Ch" lorsqu'elle generais une erreur). Mais bon on peu quand meme se servir de softice et de ollydbg sans probleme. Je pence que si tu trouve d'autre moyen d'empecher les craker d'utiliser leurs logiciels preferer tu aura une bonne protection ;) .

signaler à un administrateur
Commentaire de JoNasx86 le 26/12/2005 23:51:20

Hum excellent code celiphane !!
Mais bon je rejoins Mindiell et ThierryTheOne dans leur modification d'EXE : c'est tout à fait possible! L'ajout e sections dans le PE etc est possible du moment que l'on a un EXE dépacké/decrypté en clair quoi :) Et puis rappellez vous une chose : une exe n'est qu'une suite de bits (comme tout autre fichier d'ailleurs) avec un header qui lui aussi n'est qu'une suite de bits, et les bits c'est modifiable donc je te laisse conclure par toi même ;)

signaler à un administrateur
Commentaire de celiphane le 28/12/2005 19:35:43

Salut,

<< une exe n'est qu'une suite de bits (comme tout autre fichier d'ailleurs) avec un header qui lui aussi n'est qu'une suite de bits, et les bits c'est modifiable donc je te laisse conclure par toi même >>

Cela va de soi, je m'accorde volontiers à cette explication très claire. Mais cela reste coco évidement... ;)
Mais c'est très vrai !

@+
Celiphane

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.