ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011
-
28 mars 2007 à 14:56
eludovic
Messages postés10Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention18 août 2010
-
18 août 2010 à 16:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
eludovic
Messages postés10Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention18 août 2010 18 août 2010 à 16:33
Salut à vous deux ‘pirate softwarez’, cette source est superbe et très claire.
Bonne continuation.
cs_Salim32
Messages postés8Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention25 janvier 2008 25 janv. 2008 à 16:59
la DLL envoie l'adresse mémoire de la fonction a exécuter puis t'a le code ASM avec les multes JUMP , NOP etc...
si tu veux protèger ton application il faudra que ta DLL n'envoie que DALLE pas d'adresse (OBFUSCATION) , dailleur ca c'est le plus dure a faire en protection
et franchement j'ai pas de eu de bon tutos pour l'ASM.
par contre je saurais t'aider par une source en C++ et ASM pour le faire.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 janv. 2008 à 16:44
hein ? crack euh, non, pas aujourd'hui
je cherche juste à apprender à causer poliment avec mon exe...
pour... "l'améliorer" un peu, si je peux
(enfin, ca reste du reverse enginering :p)
pour protéger, un truc qui est pas mal (a voir, hein ^^ j'y connais pas lourd)
c'est une dll qui te renvoie une adresse a executer...
sans avoir eu au moins une fois une vraie clé, on peut pas deviner la vraie instruction...
cs_Salim32
Messages postés8Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention25 janvier 2008 25 janv. 2008 à 16:37
Ohhh juste un truc, plus j'apprend du VC++ je dis CHAPEAU VB6.0 et plus j'apprend plus je déteste MICROS...et son MSDN DE MEEEEEEEEEEEEE
cs_Salim32
Messages postés8Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention25 janvier 2008 25 janv. 2008 à 16:34
Grrrrrr, moi je me casse la tête pour protéger et lui il craque...
Courage Renfield.
Quant a moi je viens de télécharger cette source...MDR, mais bon, il fo un début a tout c'est tout le mal que je vous souhaite de faire quelque chose de TOP
de faire tourner en rond des gars comme Renfield, qui lorsqu'il pense avoir craquer l'appli, quelques heures plutard , boom le logiciel saute. ou que l'orsqu'il charge IDA, le prog le bloque avant meme d'avoir lu L'OEP .ou que l'orsqu'il veut faire du brute force, il lui dit non mon pot... pas avec moi avec un petit délais de 2 sec HAHHAa...
Enfin mes amis protecteurs PLONGEZ DANS LE PE c'est mon conseil googlez le
et pour SUPER BIEN COMMENCER AYEZ CFF pour savoir lire le coeur et les intestins de vos appli.Courage...Et rendez-vous dans 1 an.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 janv. 2008 à 16:24
bon résumé ^^
perso, j'adore IDA :p (d'ailleurs, je suis dessus, là, en train d'analyser le fonctionnement d'un soft...
cs_Salim32
Messages postés8Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention25 janvier 2008 25 janv. 2008 à 16:18
Bonjour, je cherche à faire aussi un prog pour transformer des applications en Sharewares et démos depuis presque 1 an, donc j'ai accumulé des tas de sources et documentations, liens..., évidament j'ai du comprendre le PE coff, appris le language C et actuellement le C++ et ASM pour faire de vrai Dll's pas des Active X
enfin...je suis pas sorti de l'Auberge et rien de très concret n'est encore réalisé. Cependant ce projet me tien a coeur énormement, car marre d'utiliser la protection des autres.
Enfin quand je vois que l'on essaye de faire de la protection sur le registre meme en encodant, cryptant etc, c'est du R.O.F.L.
La protection qui ce respecte doit ce passer en mémoire lors du chargement du prog
1/il fo inclure des vérification Softice , Olly et IDA (logiciel de crack) donc en mémoire donc utilisation de DLL.
2/il fo absolument Obfusquer l'OEP du programme et le changer par celui de la protécion
3/il faut cacher toutes les API dans le PE donc crypter les OFT's et Fonctions names
Messieurs si vous désirer vraiment faire une appli de protection c'est génial mais attendez vous a des nuits blanches et a apprendre les languages précités
et les utiliser aisément ... Bonne chance et si je peux aider, avec plaisir
cs_zifnig
Messages postés16Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention28 mai 2007 5 juin 2007 à 13:58
Il est facile de créer un cryptage réversible via la fonction XOR :
51 XOR 12 43> 43 XOR 12 = 51
Cela te permet de crypter tes données, de les insérer dans la base de registre et de pouvoir les récupérer lors de la prochaine utilisation du programme pour les mettre à jour, etc. (compteur, dates de validité, version trial/complète...).
Pour complexifier le cryptage, on peut utilser plus d'un octet (clef de cryptage) ou bien un algorithme qui change la valeur à chaque octet, tu as donc la possibilité de créer ton propre code de cryptage.
Autre chose, une astuce, que j'utilise, est de créer à la fois un fichier contenant les données cryptées et une réplication dans la base de registre. De cette façon si la clef de la base de registre est détruite, elle peut être régénérée automatiquement au lancement de ton prog à partir du fichier, et inversement. C'est beaucou plus dur à virer comme protection que si tu pose tes données cryptées à un seul endroit.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 9 avril 2007 à 12:13
D'après ce que j'ai compris, il n'en fournissent plus..
Qu'il se tourne vers le vb.net
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 9 avril 2007 à 12:08
Salut à tous! Je travaille maintenant à une nouvelle version du programme moi et mon nouveau copain Simon32 nous travaillons en duo il est du Québec donc cette nouvelle version sera nettement amélioré! Nous avons placés une date d'expiration de 30 jours en plus le tout sera sauvegarder dans une base de registre au lieu du mode fichier pour inscrire les données et bientot nous encrypterons ces données dans cette base de registre. Grâce au module Rijndael. Et oui CreatorLine ça va te prendre Visual Basic 6.0 édition professionnelle tu devra acheter la licence du logiciel de programmation via Microsoft.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 8 avril 2007 à 19:21
Non, avec Visual Basic 6.0 édition professionnelle.
(regarde l'avatar de Simon32)
CreatorLine
Messages postés10Date d'inscriptiondimanche 8 avril 2007StatutMembreDernière intervention 8 avril 2007 8 avril 2007 à 14:58
Alors moi j'ai un gros problème il ma l'air pas mal du tout mes je ne c'est pas avec quoi l'ouvrir.MicrosoftWord... ?
cs_Simon32
Messages postés2Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention 5 avril 2007 5 avril 2007 à 22:47
Salut pirate softwarez, j'ai peut-être une idée pour ce qui est d'une date d'expiration pour ton programme par contre, elle n'est pas du tout adaptée pour le nombre d'exécutions. En fait, c'est l'utilisateur qui doit demander une licence d'évaluation. Je m'explique: Tu installe le programme mais sans une licence, ensuite, s'il ne trouve pas la licence (premiere exécution généralement), il informe l'utilisateur d'envoyer un e-mail à l'auteur (toi) pour demander une licence. Dans l'email de réponse , il y aurait un mini programme qui insère la date soit en créant un fichier sois en l'inscrivant quelque part dans le registre (sous forme cryptée dans les deux cas) Cette date est pré-réglée par tes soins pour que ca fasse un plus 30 jours pour donner le temps a l'utilisateur d'ouvrir ses messages (met des valeurs aléatoire à la fin de la date (tu comprendra plus tard). Ensuite quand le programme détecte les informations de la licence, à chaque exécution, il s'arrange pour décrypter, lire, remplacer les anciennes données aléatoires pour des nouvelles dans la ligne qui contiens la date (par exemple 05/04/2007D8A5F5S2) pour la réinsérer dans le registre ou fichier sous forme cryptée (Pour les données aléatoires, un bon vieux générateur de mots de passes suffira amplement). Comme ça, le cracking deviens plus dur. Bien sûr, cette méthode n'est pas infaillible car tout dépends de la force du crypteur et du mot de passe entré en guise de clé pour le crypteur. La décompilation du mini-programme peut être aussi un facteur (au pire, tu donne le fichier de licence ou le fichier .reg directement). Pour pallier partiellement au problème, je te conseille d'utiliser plusieurs crypteurs différents de force différentes avec bien sûr des mots de passes différents pour le cryptage/décryptage des informations relatives à la licence. Je te conseille comme crypteurs ceux-ci: AES256 (Rijndael je crois), Xor, Blowfish, etc (tant que ça utilise un cryptage réversible (crypter/décrypter)). Même le crypteur (modEncrypt) qui est dans ton projet est aussi un algo de cryptage réversible, alors pourquoi ne pas l'utiliser?). Ces crypteurs sont sois sur vbfrance sois sur planetsourcecode.com (l'endroit originel de ton keygen qui est en passant assez efficace et je m'en sers aussi). Là bien sûr, l'utilisateur va avoir le réflexe de réutiliser le fichier posté dans l'email pour tenter de renouveller illégalement sa période d'évaluation. Mais cette tentative débutante sera un échec vu que la date d'expiration est déjà dans le fichier, donc théoriquement inchangeable (données cryptées plusieurs fois); de là le problème potentiel pour le nombre d'exécutions...
Pour plus de détails et pour ne pas transormer ce conseil en roman, envois-moi un e-mail au SimonRainville@gmail.com et désolé pour mon orthographe, je suis aussi Québecois alors sur ce...
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 4 avril 2007 à 19:41
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 4 avril 2007 à 19:31
Bonjour à tous est-ce qu'il y aurais qu'elqu'un parmis vous qui pourrais me montrer comment Encrypter\Decrypter une base de registre un exemple de code car j'ai chercher partout sur le web je n'ai rien trouver sois en français ou en anglais.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 mars 2007 à 22:22
Inutile, cf 1er message de Renfield.
++
dead33
Messages postés29Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention 4 décembre 2007 30 mars 2007 à 22:19
bonjour ious le monde
pirate softwarez est-ce-que je peux mettre ton exe sur un site de cracking comme defi?pour tester ta protection.
a+ et bonne prog...
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 30 mars 2007 à 18:16
Attention!!! à vous tous l'un d'entre vous viens tout juste de me signaler un BUG lors de la compilation de mon code en EXE et c'est pas mal weird comme BUG! à mon avis ça doit être à cause de l'ActiveX AnimGifUserControl.ocx donc enlever le et AnimGif1 aussi du code ça
deverais fonctionner excuser moi je n'avais jamais compiler mon code auparavant et je remercie beaucoup celui qui m'à signaler le Bug!
cs_NISANDSYSTEMS
Messages postés178Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 9 janvier 2010 30 mars 2007 à 11:49
La meilleure protection pour ton shareware, c'est comme bcp le font, créer un prog trial avec le minimun d'instructions, et la version commerciale avec tout le tintamarre dedans. Pour le reste des methodes, chacun est libre de proteger comme bon lui semble.
Mais par ailleurs, ceux sont ses petites bidouilles qui arrivent à faire progresser le monde du developpeur.
A chacun ces idées, tant que tout reste dans la légalité et le respect d'autrui.
Bonne prog à tous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 30 mars 2007 à 08:38
cherches pas spécifiquement "crypter une base de registre"...
en fait, il s'agit de stocker dans la base de registre, une donnée qui a été cryptée, ce qui n'est pas du tout pareil.
tu trouveras ci et là un tas de sources proposant des algos de cryptage.
interesses toi par exemple aux API CrypTo (dll de Windows)
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 30 mars 2007 à 06:18
Bonjour à tous est-ce qu'il y aurais qu'elqu'un parmis vous qui pourrais me montrer comment Encrypter\Decrypter une base de registre un exemple de code car j'ai chercher partout sur le web je n'ai rien trouver sois en français ou en anglais. Pis en passant si vous n'êtes pas content enlever le du code si ça vous dérange tant le MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 mars 2007 à 23:11
Cependant la meilleur méthode de faire un Trial c'est de ne pas implémenter toutes les méthodes ...
par Ex:
Pour un logiciel de traitement d'images ne pas coder la partie qui permet de sauvegarder le résultat final ou encore ne pas coder la partie qui permet à l'utilisateur de charger ses propres images ... etc
Le tout étant de trouver le bon compromis pour que l'utilisateur puisse apprécier le logiciel sans qu'il puisse en utiliser le résultat final.
L'avantage de ce genre de pratique c'est que ça n'a aucun intérêt pour les Hackers de se casser la tête dessus et surtout c'est très facile à mettre en oeuvre. ;)
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008 29 mars 2007 à 17:35
Un trial est pour éventuellement vendre une license...
Si durant le trial l'application me dit : "Erreur, réinstalle-moi", pas grand chance que j'investisse dans le produit.
Ce type de "protection" n'est pas nouvelle, tu aurais intérêt à te documenter afin de profiter de l'expérience des autres et implémenter correctement la solution que tu ré-invente laborieusement.
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 29 mars 2007 à 16:54
Pour ma part je préfère enfouire une information dans la base de registre, la meilleure façon de cacher une épingle c'est de la mettre dans une boite d'épingle, bon c'est toujours possible de comparer la base de registre avant et après l'installation du programme, donc ce n'est pas une une méthode 100% mais associé à une bonne statégie ça peut le faire...
Le Papa de Thibaut
Messages postés53Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 7 mars 20151 29 mars 2007 à 14:20
1. et si on réinstalle le prog, le compteur recommence à 0?
2. et si apres avoir supprimé le fichier trial.txt je vois que le programme ne démarre plus, ne crois-tu pas que je vais me douter de qq chose?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 29 mars 2007 à 11:56
Salut Pirate Softwarez ,
j'aurai juste une question dans la continuité du post de violent_ken le 28/03/2007 21:19:45 :
Si le fameux "Hacker" fait une copie de tes fichiers et en change s'il le faut les attributs, que ce passe-t-il ?
A+
Exploreur
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 mars 2007 à 08:24
bien raison mortalino, faut pas bousculer l'user ^^
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 mars 2007 à 02:43
Salut,
moi je ne suis pas hacker du tout, à l'inverse, je me classe dans la catégorie utilisateur amateur.
Bref, quand je lis de ta part :
"si l'utilisateur aurais effacer le fichier sois par négligence ou bien que c'est un hacker, il tentera de l'effacer mais là surprise c'est que si le fichier n'existe plus alors mon application lancera à l'utilisateur un messsage MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme." par la suite aucun moyen de faire fonctionner l'appication sans ce fichier il devra désinstaler et réinstaller le progamme"
Bah c'est pas bien. C'est à toi de prendre en compte les mauvaises manip de l'utilisateur, car je me met à la place d'un blaireau de l'informatique, quand il ouvre C:\ et qu'il voit "trial" et qu'il ne sait pas ce que c'est, je pense que c'est compréhensible s'il l'efface, et à l'inverse, ça me ferait chier que le prog ne tourne plus à cause de ça.
Enfin, c'est mon opinion.
Bon courage pour la suite. ;)
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 28 mars 2007 à 23:51
Salut à toi violent_ken ok là je te donne le bénéfice du doute, excuse moi pour mon ignorance au sujet du monitoring des ouvertures/écritures des fichiers du disque dur, je n'était pas au courant, car je suis un perfectionnite de nature j'aimerais améliorer mon appliction pour la rendre la plus sécuritaire que possible, pour afin pouvoir déjouer les hackers et crackers. Si tu pourrais m'aider ça me ferais un très grand plaisir de s'échanger nos connaissances afin de rendre l'application beaucoup plus sécuritaire et j'aimerais que tu m'envoie ou bien que tu affiche
un bout de code comment encrypter une base de registre car je ne suis pas trop familier avec les bases de registres Merci bien à toi violent_ken pour ton aide précieuses!
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 28 mars 2007 à 23:18
dommage j'ai raté le debat...
en tout cas c'est trop fort de la part d'un mec qui a pour pseudo "pirate softwarez" de poster un "shareware" , surtout aussi secure... ;)
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 28 mars 2007 à 22:58
En prenant un logiciel de monitoring des ouvertures/écritures des fichiers du disque dur par les différents process, il ne sera pas dur de visualiser les fichiers ouverts pas le logiciel !
Pour crypter une info dans la base de registre, tu n'as qu'à enregistrer une valeur de type REG_SZ (string) cryptée avec les APIs CryptDecrypt et CryptEncrypt (ou un algo perso).
@+
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 28 mars 2007 à 22:51
Salut à toi violent_ken je comprends très bien ce que tu veux me
dire, je trouve aussi sécuritaie d'inscrire les informations dans un fichier ou bien dans une base de registre mais excuse moi mais
je ne sais toujours pas encore comment encrypter les données dans une base de registre et pourtant je Boss avec Visual Basic depuis 1998! Tu peux ainsi changer l'heure à chaque fois que le fichier est enregistrer et aussi la date du fichier, donc le hacker va ce creuser pas mal la tête pour le touver ce fameux fichier encrypter, Ex. trial.txt ou bien hdd5.dll 2000-03-28 16:05 pis en plus tu peux le placer dans n'importe quel répertoire pour rendre le tout plus difficile à trouver Ex. "C:\Windows\System32\hdd5.dll"
en tout cas j'espère violent_ken que tu comprends mon point de vu!
Et en passant pourrais tu me montrer comment enrypter une base de registre Merci bien à toi violent_ken pour ton commentaire Bye Bye et à la prochaine!
SylvainSSiri
Messages postés4Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention28 mars 2007 28 mars 2007 à 22:03
j'capote,faudrait juste me montrer comment faire pour lajouter a mes programmes...je ne suis qu'un ''jeune'' encore et je n'ai pas fait d'étude sur le language informatique mais je veux débuter.Merci de bien vouloir maider...
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 28 mars 2007 à 21:19
Salut,
"il ne faut pas qu'ils sache ou ce trouve le fichier pour une raison de sécuriter" ==> tu peux localiser le fichier contenant la clé n'importe où dans ton PC en 3 secondes même pas (recherche par date de dernier accès + taille ou monitoring d'accès aux fichiers).
Donc la "sécurité" est morte de ce point de vue là.... (de toutes façons, l'intérêt de masquer le fichier pour l'user est négligeable car si le cryptage est bon, l'user ne peut rien en faire).
La base de registre est, elle, autant sécurisée qu'un fichier. Tu n'a qu'à crypter les informations qui y sont écrites (possibilité de le faire avec les APIs).
Ou au pire, tu créé le célèbre "License.dat" dans le dossier de l'executable sans compromettre la sécurité pour autant.
@+
pirate softwarez
Messages postés16Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 2007 28 mars 2007 à 21:10
Bonjour à tous et Merci pour vos votes et pour vos commentaire, car celà m'aidera surement à améliorer le code bon alors, je réponds à violent_ken j'ai décidé plutot d'opter pour le mode fichier car ça me semble être plus sécuritaire car tu peux le placer ou tu veux sur le disque dure et aussi de pouvoir changer le nom du fichier et dans n'importe lequel répertoire en question Ex. "c:\windows\system32\hedd5.dll" à mon avis c'est plus sécuritaire que d'employer la base de registre qu'il faut encrypter et donc gignore comment si le fichier c:\trial.txt est vide ou corrompu c'est qu'il est crypter et encrypter, c'est pour celà que tu ne peu pas le lire. Pour l'option app.path je ne désire pas qu'un hacker puisse savoir ou se trouve le fameux fichier car il pourrais ainsi peut être pouvoir le cracker, il ne faut pas qu'ils sache ou ce trouve le fichier pour une raison de sécuriter. Je réponds à Renfield, s'il n'existe pas, tu sors. Comment ca se passe lors de la première execution ?
MonFichier$ = "c:\trial.txt"
If Dir(MonFichier$, vbNormal Or vbReadOnly Or vbHidden Or vbArchive) = "" Then
MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme.", vbCritical, "DLL Error!"
bon c'est tout simple à comprendre c'est que si l'utilisateur aurais effacer le fichier sois par négligence ou bien que c'est un hacker, il tentera de l'effacer mais là surprise c'est que si le fichier n'existe plus alors mon application lancera à l'utilisateur un messsage MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme." par la suite aucun moyen de faire fonctionner l'appication sans ce fichier il devra désinstaler et réinstaller le progamme, tu peux lui donner comme message d'erreur Ex. MsgBox "We are sorry can't load hedd5.dll internal fatal Error!" vous voyer ce que vous pouver
faire, utiliser votre imagination.Eh bien voila mon cher Renfield pour faire sauter la protection dans l'exe bien sur que les hackers chevronnés sauront comment faire sauter cette protection sois en décompilant l'application ou bien sois en employant SoftIce ou bien soit avec Win32Disasm je suis au courant tu sais, mais pour rendre la tàche un peu plus difficile aux hackers tu peu intégrer la form Counter1 dans ton programme principale ou bien en encryptant tout ton programme une fois compiler en EXE et aussi tu peut en changer la date et l'heure du fichier trial.txt ou hdd5.dll pour que le hacker ne voit que du feu!!! En passant excuser moi pour les fautes d'orthographes je suis un Québécois de souche de Montréal Vive le Québec Libre et Vive la France p.s. si il y a quelqu'un qui pourrais remplacer le mode Compteur par une date d'expiration de 30 jours ça serais bien apprécier avec détection de l'altération de la date et un gros MERCI à tous à bientot!!!
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 28 mars 2007 à 19:43
Salut,
1) "Dim Compteur As String
Dim Trial As String
Dim MonFichier As String
Dim SiEnregistrer As String
...
Compteur = 0
Trial = 10"
ERF les types de donnée !!
2) Fichier c:\trial.txt vide ou corrompu (genre une ligne de texte) ==> plantage
3) Mieux vaut utiliser le registre pour ce genre de chose
@+
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2007 à 19:39
*App.Path
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 28 mars 2007 à 19:23
Il faudrait remplacer :
MonFichier$ = "c:\trial.txt"
par
MonFichier$ = app.patch & "\trial.txt"
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 28 mars 2007 à 17:51
Forcement :p
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2007 à 17:33
... j'avais vu juste ?
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 28 mars 2007 à 17:30
Trop fort ce Ren ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2007 à 15:23
j'ajouterais que le fichier trial.txt doit bien être créé a un moment ou a un autre...
là, s'il n'existe pas, tu sors. Comment ca se passe lors de la première execution ?
MonFichier$ = "c:\trial.txt"
If Dir(MonFichier$, vbNormal Or vbReadOnly Or vbHidden Or vbArchive) = "" Then
MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme.", vbCritical, "DLL Error!"
End
Else
ah ! ok.....
"Veuillez copier le fichier trial.txt dans le C:\ sinon il y aura une erreur et l'application ne pourra pas démarrer correctement."
au fait, tu sais que tout le monde ne possède pas de C:\ ^^
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2007 à 15:17
"c:\trial.txt"
a bas les chemins en dur....
comme dirait EBArtSoft :
"Suffit de modifier la form de départ dans l'exe pour faire sauter la protection. Mais je ne dirai pas comment faire, c'est deja présent sur le site."
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 28 mars 2007 à 14:56
Super , je cherchais une source de ce genre , c'est super bien expliquer. Je te dit Bravo !
18 août 2010 à 16:33
Bonne continuation.
25 janv. 2008 à 16:59
si tu veux protèger ton application il faudra que ta DLL n'envoie que DALLE pas d'adresse (OBFUSCATION) , dailleur ca c'est le plus dure a faire en protection
et franchement j'ai pas de eu de bon tutos pour l'ASM.
par contre je saurais t'aider par une source en C++ et ASM pour le faire.
25 janv. 2008 à 16:44
je cherche juste à apprender à causer poliment avec mon exe...
pour... "l'améliorer" un peu, si je peux
(enfin, ca reste du reverse enginering :p)
pour protéger, un truc qui est pas mal (a voir, hein ^^ j'y connais pas lourd)
c'est une dll qui te renvoie une adresse a executer...
sans avoir eu au moins une fois une vraie clé, on peut pas deviner la vraie instruction...
25 janv. 2008 à 16:37
25 janv. 2008 à 16:34
Courage Renfield.
Quant a moi je viens de télécharger cette source...MDR, mais bon, il fo un début a tout c'est tout le mal que je vous souhaite de faire quelque chose de TOP
de faire tourner en rond des gars comme Renfield, qui lorsqu'il pense avoir craquer l'appli, quelques heures plutard , boom le logiciel saute. ou que l'orsqu'il charge IDA, le prog le bloque avant meme d'avoir lu L'OEP .ou que l'orsqu'il veut faire du brute force, il lui dit non mon pot... pas avec moi avec un petit délais de 2 sec HAHHAa...
Enfin mes amis protecteurs PLONGEZ DANS LE PE c'est mon conseil googlez le
et pour SUPER BIEN COMMENCER AYEZ CFF pour savoir lire le coeur et les intestins de vos appli.Courage...Et rendez-vous dans 1 an.
25 janv. 2008 à 16:24
perso, j'adore IDA :p (d'ailleurs, je suis dessus, là, en train d'analyser le fonctionnement d'un soft...
25 janv. 2008 à 16:18
enfin...je suis pas sorti de l'Auberge et rien de très concret n'est encore réalisé. Cependant ce projet me tien a coeur énormement, car marre d'utiliser la protection des autres.
Enfin quand je vois que l'on essaye de faire de la protection sur le registre meme en encodant, cryptant etc, c'est du R.O.F.L.
La protection qui ce respecte doit ce passer en mémoire lors du chargement du prog
1/il fo inclure des vérification Softice , Olly et IDA (logiciel de crack) donc en mémoire donc utilisation de DLL.
2/il fo absolument Obfusquer l'OEP du programme et le changer par celui de la protécion
3/il faut cacher toutes les API dans le PE donc crypter les OFT's et Fonctions names
Messieurs si vous désirer vraiment faire une appli de protection c'est génial mais attendez vous a des nuits blanches et a apprendre les languages précités
et les utiliser aisément ... Bonne chance et si je peux aider, avec plaisir
5 juin 2007 à 13:58
51 XOR 12 43> 43 XOR 12 = 51
Cela te permet de crypter tes données, de les insérer dans la base de registre et de pouvoir les récupérer lors de la prochaine utilisation du programme pour les mettre à jour, etc. (compteur, dates de validité, version trial/complète...).
Pour complexifier le cryptage, on peut utilser plus d'un octet (clef de cryptage) ou bien un algorithme qui change la valeur à chaque octet, tu as donc la possibilité de créer ton propre code de cryptage.
Autre chose, une astuce, que j'utilise, est de créer à la fois un fichier contenant les données cryptées et une réplication dans la base de registre. De cette façon si la clef de la base de registre est détruite, elle peut être régénérée automatiquement au lancement de ton prog à partir du fichier, et inversement. C'est beaucou plus dur à virer comme protection que si tu pose tes données cryptées à un seul endroit.
9 avril 2007 à 12:13
Qu'il se tourne vers le vb.net
9 avril 2007 à 12:08
8 avril 2007 à 19:21
(regarde l'avatar de Simon32)
8 avril 2007 à 14:58
5 avril 2007 à 22:47
Pour plus de détails et pour ne pas transormer ce conseil en roman, envois-moi un e-mail au SimonRainville@gmail.com et désolé pour mon orthographe, je suis aussi Québecois alors sur ce...
4 avril 2007 à 19:41
Regarde bien le post de Renfield du 30/03/2007...Il t'explique que c'est ta donnée que tu va mettre dans ta BDR que tu dois crypter...
Regarde ici : http://www.vbfrance.com/recherche.aspx?r=crypter+donn%e9e&tr=source&p=2
A+
Exploreur
4 avril 2007 à 19:31
30 mars 2007 à 22:22
++
30 mars 2007 à 22:19
pirate softwarez est-ce-que je peux mettre ton exe sur un site de cracking comme defi?pour tester ta protection.
a+ et bonne prog...
30 mars 2007 à 18:16
deverais fonctionner excuser moi je n'avais jamais compiler mon code auparavant et je remercie beaucoup celui qui m'à signaler le Bug!
30 mars 2007 à 11:49
Mais par ailleurs, ceux sont ses petites bidouilles qui arrivent à faire progresser le monde du developpeur.
A chacun ces idées, tant que tout reste dans la légalité et le respect d'autrui.
Bonne prog à tous.
30 mars 2007 à 08:38
en fait, il s'agit de stocker dans la base de registre, une donnée qui a été cryptée, ce qui n'est pas du tout pareil.
tu trouveras ci et là un tas de sources proposant des algos de cryptage.
interesses toi par exemple aux API CrypTo (dll de Windows)
30 mars 2007 à 06:18
29 mars 2007 à 23:11
http://www.vbfrance.com/codes/FAIRE-VERSION-DEMO-VOTRE-PROJET_41441.aspx
29 mars 2007 à 19:04
Cependant la meilleur méthode de faire un Trial c'est de ne pas implémenter toutes les méthodes ...
par Ex:
Pour un logiciel de traitement d'images ne pas coder la partie qui permet de sauvegarder le résultat final ou encore ne pas coder la partie qui permet à l'utilisateur de charger ses propres images ... etc
Le tout étant de trouver le bon compromis pour que l'utilisateur puisse apprécier le logiciel sans qu'il puisse en utiliser le résultat final.
L'avantage de ce genre de pratique c'est que ça n'a aucun intérêt pour les Hackers de se casser la tête dessus et surtout c'est très facile à mettre en oeuvre. ;)
29 mars 2007 à 17:35
Si durant le trial l'application me dit : "Erreur, réinstalle-moi", pas grand chance que j'investisse dans le produit.
Ce type de "protection" n'est pas nouvelle, tu aurais intérêt à te documenter afin de profiter de l'expérience des autres et implémenter correctement la solution que tu ré-invente laborieusement.
29 mars 2007 à 16:54
29 mars 2007 à 14:20
2. et si apres avoir supprimé le fichier trial.txt je vois que le programme ne démarre plus, ne crois-tu pas que je vais me douter de qq chose?
29 mars 2007 à 11:56
j'aurai juste une question dans la continuité du post de violent_ken le 28/03/2007 21:19:45 :
Si le fameux "Hacker" fait une copie de tes fichiers et en change s'il le faut les attributs, que ce passe-t-il ?
A+
Exploreur
29 mars 2007 à 08:24
29 mars 2007 à 02:43
moi je ne suis pas hacker du tout, à l'inverse, je me classe dans la catégorie utilisateur amateur.
Bref, quand je lis de ta part :
"si l'utilisateur aurais effacer le fichier sois par négligence ou bien que c'est un hacker, il tentera de l'effacer mais là surprise c'est que si le fichier n'existe plus alors mon application lancera à l'utilisateur un messsage MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme." par la suite aucun moyen de faire fonctionner l'appication sans ce fichier il devra désinstaler et réinstaller le progamme"
Bah c'est pas bien. C'est à toi de prendre en compte les mauvaises manip de l'utilisateur, car je me met à la place d'un blaireau de l'informatique, quand il ouvre C:\ et qu'il voit "trial" et qu'il ne sait pas ce que c'est, je pense que c'est compréhensible s'il l'efface, et à l'inverse, ça me ferait chier que le prog ne tourne plus à cause de ça.
Enfin, c'est mon opinion.
Bon courage pour la suite. ;)
28 mars 2007 à 23:51
un bout de code comment encrypter une base de registre car je ne suis pas trop familier avec les bases de registres Merci bien à toi violent_ken pour ton aide précieuses!
28 mars 2007 à 23:18
en tout cas c'est trop fort de la part d'un mec qui a pour pseudo "pirate softwarez" de poster un "shareware" , surtout aussi secure... ;)
28 mars 2007 à 22:58
Pour crypter une info dans la base de registre, tu n'as qu'à enregistrer une valeur de type REG_SZ (string) cryptée avec les APIs CryptDecrypt et CryptEncrypt (ou un algo perso).
@+
28 mars 2007 à 22:51
dire, je trouve aussi sécuritaie d'inscrire les informations dans un fichier ou bien dans une base de registre mais excuse moi mais
je ne sais toujours pas encore comment encrypter les données dans une base de registre et pourtant je Boss avec Visual Basic depuis 1998! Tu peux ainsi changer l'heure à chaque fois que le fichier est enregistrer et aussi la date du fichier, donc le hacker va ce creuser pas mal la tête pour le touver ce fameux fichier encrypter, Ex. trial.txt ou bien hdd5.dll 2000-03-28 16:05 pis en plus tu peux le placer dans n'importe quel répertoire pour rendre le tout plus difficile à trouver Ex. "C:\Windows\System32\hdd5.dll"
en tout cas j'espère violent_ken que tu comprends mon point de vu!
Et en passant pourrais tu me montrer comment enrypter une base de registre Merci bien à toi violent_ken pour ton commentaire Bye Bye et à la prochaine!
28 mars 2007 à 22:03
28 mars 2007 à 21:19
"il ne faut pas qu'ils sache ou ce trouve le fichier pour une raison de sécuriter" ==> tu peux localiser le fichier contenant la clé n'importe où dans ton PC en 3 secondes même pas (recherche par date de dernier accès + taille ou monitoring d'accès aux fichiers).
Donc la "sécurité" est morte de ce point de vue là.... (de toutes façons, l'intérêt de masquer le fichier pour l'user est négligeable car si le cryptage est bon, l'user ne peut rien en faire).
La base de registre est, elle, autant sécurisée qu'un fichier. Tu n'a qu'à crypter les informations qui y sont écrites (possibilité de le faire avec les APIs).
Ou au pire, tu créé le célèbre "License.dat" dans le dossier de l'executable sans compromettre la sécurité pour autant.
@+
28 mars 2007 à 21:10
MonFichier$ = "c:\trial.txt"
If Dir(MonFichier$, vbNormal Or vbReadOnly Or vbHidden Or vbArchive) = "" Then
MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme.", vbCritical, "DLL Error!"
bon c'est tout simple à comprendre c'est que si l'utilisateur aurais effacer le fichier sois par négligence ou bien que c'est un hacker, il tentera de l'effacer mais là surprise c'est que si le fichier n'existe plus alors mon application lancera à l'utilisateur un messsage MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme." par la suite aucun moyen de faire fonctionner l'appication sans ce fichier il devra désinstaler et réinstaller le progamme, tu peux lui donner comme message d'erreur Ex. MsgBox "We are sorry can't load hedd5.dll internal fatal Error!" vous voyer ce que vous pouver
faire, utiliser votre imagination.Eh bien voila mon cher Renfield pour faire sauter la protection dans l'exe bien sur que les hackers chevronnés sauront comment faire sauter cette protection sois en décompilant l'application ou bien sois en employant SoftIce ou bien soit avec Win32Disasm je suis au courant tu sais, mais pour rendre la tàche un peu plus difficile aux hackers tu peu intégrer la form Counter1 dans ton programme principale ou bien en encryptant tout ton programme une fois compiler en EXE et aussi tu peut en changer la date et l'heure du fichier trial.txt ou hdd5.dll pour que le hacker ne voit que du feu!!! En passant excuser moi pour les fautes d'orthographes je suis un Québécois de souche de Montréal Vive le Québec Libre et Vive la France p.s. si il y a quelqu'un qui pourrais remplacer le mode Compteur par une date d'expiration de 30 jours ça serais bien apprécier avec détection de l'altération de la date et un gros MERCI à tous à bientot!!!
28 mars 2007 à 19:43
1) "Dim Compteur As String
Dim Trial As String
Dim MonFichier As String
Dim SiEnregistrer As String
...
Compteur = 0
Trial = 10"
ERF les types de donnée !!
2) Fichier c:\trial.txt vide ou corrompu (genre une ligne de texte) ==> plantage
3) Mieux vaut utiliser le registre pour ce genre de chose
@+
28 mars 2007 à 19:39
28 mars 2007 à 19:23
MonFichier$ = "c:\trial.txt"
par
MonFichier$ = app.patch & "\trial.txt"
28 mars 2007 à 17:51
28 mars 2007 à 17:33
28 mars 2007 à 17:30
28 mars 2007 à 15:23
là, s'il n'existe pas, tu sors. Comment ca se passe lors de la première execution ?
MonFichier$ = "c:\trial.txt"
If Dir(MonFichier$, vbNormal Or vbReadOnly Or vbHidden Or vbArchive) = "" Then
MsgBox "Désolé le programme a subi une erreur, veillez désinstaler et réinstaller le progamme.", vbCritical, "DLL Error!"
End
Else
ah ! ok.....
"Veuillez copier le fichier trial.txt dans le C:\ sinon il y aura une erreur et l'application ne pourra pas démarrer correctement."
au fait, tu sais que tout le monde ne possède pas de C:\ ^^
28 mars 2007 à 15:17
a bas les chemins en dur....
comme dirait EBArtSoft :
"Suffit de modifier la form de départ dans l'exe pour faire sauter la protection. Mais je ne dirai pas comment faire, c'est deja présent sur le site."
28 mars 2007 à 14:56