Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
[Présentation] 3 Strings encryptions différentes et inhabituelles
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="MindSystem" data-source="post: 7163760" data-attributes="member: 321550"><p style="text-align: center">Bonjour,</p> <p style="text-align: center"></p> <p style="text-align: center">lors du développement d'un logiciel, une des parties les plus importantes et des protéger les données sensibles tels que les strings (ou autres locals)</p> <p style="text-align: center"></p> <p style="text-align: center">Comme j'aime bien chipoter à tout, j'ai codé hier 3 projets qui reposent plus ou moins sur le même principe mais qui sont bien différents.</p> <p style="text-align: center"></p> <p style="text-align: center">1) Strings décryptés en ligne</p> <p style="text-align: center"></p> <p style="text-align: center">Pour la première encryption, j'ai codé un décrypter de strings en php. Mais ce qui est bien avec cette protection, c'est que Seulement les exe que j'ai moi-même obfusqué fonctionneront. C'est pas clair, laissez-moi vous montrer :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/vVBLVu6JTMu78PI2lpFxUg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/sBZ_LzUgTdyynLVl7vpWng.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/RK3pv3OKQ1qXKKwFlftP7w.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center">Comme vous voyez, j'utilise webClient.DownloadString pour télécharger les strings qui sont tous initializés au runtime.</p> <p style="text-align: center"></p> <p style="text-align: center">Quels sont les point négatifs de ce tool?</p> <p style="text-align: center"></p> <p style="text-align: center">- Il faut du Wifi pour utiliser le tool</p> <p style="text-align: center">- Application lente à se lancer car il faut télécharger les strings.</p> <p style="text-align: center">- Api visible</p> <p style="text-align: center"></p> <p style="text-align: center">Que faire alors?</p> <p style="text-align: center"></p> <p style="text-align: center">- Mettre la méthode de décryption dans une dll native pour que les crackers aient plus de difficulté à comprendre la fonctionnement</p> <p style="text-align: center"></p> <p style="text-align: center">Le point positif est que si vous voulez éviter un crack, ... il vous suffit de supprimer le fichier php et la exe ne fonctionnera plus ! Vous pouvez aussi faire un fichier .php pour chaque exe comme ça, le exe fonctionnera juste plus chez la personne voulue <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite355" alt=":)" title=":) :)" loading="lazy" data-shortname=":)" /></p> <p style="text-align: center"></p> <p style="text-align: center">Voici ce qui se passe si on modifie l'assembly :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/gyoAEH8qSS6bhCNyzNhilg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"></p> <p style="text-align: center">L'api php va détecter le changement d'application et va retourner "Nice try but it won't work" pour tout les strings !</p> <p style="text-align: center"></p> <p style="text-align: center">2) Strings Cachés sur l'ordinateur/dans une resource</p> <p style="text-align: center"></p> <p style="text-align: center">Ici, les strings sont cachés dans un fichier soit resource, soit quelque part sur l'ordi. Les strings sont encryptés en utilisant un algorithme que j'ai fait moi-même :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/X6nuJgrGTLKQMl3n0alMuA.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/G0GdJdo3RNCKGbTFTtIfPQ.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center">Et voilà les strings :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/CIlIhubeS2GNB7E5KITqMw.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"></p> <p style="text-align: center">La resource est normalement encryptée puis décryptée au runtime mais pour vous montrer un screen, j'ai décryptée la resource</p> <p style="text-align: center"></p> <p style="text-align: center">Quels sont les désavantages?</p> <p style="text-align: center"></p> <p style="text-align: center">Une fois la resource décryptée, on peut facilement lire les strings et les remplacer</p> <p style="text-align: center"></p> <p style="text-align: center">Que faire alors?</p> <p style="text-align: center"></p> <p style="text-align: center">Comme précédement, les strings pourraient être placées dans un emplacement secret qui serait lu dans une dll native. Cela renforcerait grandement la protection car sans connaitre l'emplacement du fichier, on ne peut rien faire.</p> <p style="text-align: center"></p> <p style="text-align: center">3) NetShield Encryption style</p> <p style="text-align: center"></p> <p style="text-align: center">Pour les connaisseurs, il existe un packer appellé netshield qui a une bonne manière d'encrypter ses strings. Comme le code était un peu moche et utilisait Mono.Cecil, j'ai décidé de le refaire à ma manière :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/0ykiS3qxQBG00mvu-L2hKQ.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/xPhh6X-5R6_muXGJ957Hbg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center">Ici rien de spécial, encore une fois j'ai encryptés les strings avec mon propre algorithme et au runtime, les strings son Set :</p> <p style="text-align: center"></p> <p style="text-align: center"><img src="https://image.prntscr.com/image/etLu-zDkSvWFeQ3cy8zXHg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"></p> <p style="text-align: center">Quels sont les désavantages?</p> <p style="text-align: center"></p> <p style="text-align: center">Avec un minimum de connaissances en RE, on peut facilement retrouver les strings. J'ai juste fait cette encryption pour le fun on va dire <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite355" alt=":)" title=":) :)" loading="lazy" data-shortname=":)" /></p> <p style="text-align: center"></p> <p style="text-align: center">Voilà, donc rien de spécial, j'ai juste essayé de changer les manières habituelles d'encrypter des strings. Je ne sais pas encore si je vais release le exe mais si vous voulez une des encryption pour un de vos projet, envoyez-moi un message privé. Je protègerais vos fichiers avec plaisir <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></p> <p style="text-align: center"></p> <p style="text-align: center">Évidemment, on peut appliquer d'autres protection par dessus afin d'augmenter la puissance de protection.</p> <p style="text-align: center"></p> <p style="text-align: center">Hésitez pas à laisser vos impressions, suggestions, ...</p> <p style="text-align: center"></p></blockquote><p></p>
[QUOTE="MindSystem, post: 7163760, member: 321550"] [CENTER]Bonjour, lors du développement d'un logiciel, une des parties les plus importantes et des protéger les données sensibles tels que les strings (ou autres locals) Comme j'aime bien chipoter à tout, j'ai codé hier 3 projets qui reposent plus ou moins sur le même principe mais qui sont bien différents. 1) Strings décryptés en ligne Pour la première encryption, j'ai codé un décrypter de strings en php. Mais ce qui est bien avec cette protection, c'est que Seulement les exe que j'ai moi-même obfusqué fonctionneront. C'est pas clair, laissez-moi vous montrer : [IMG]https://image.prntscr.com/image/vVBLVu6JTMu78PI2lpFxUg.png[/IMG] [IMG]https://image.prntscr.com/image/sBZ_LzUgTdyynLVl7vpWng.png[/IMG] [IMG]https://image.prntscr.com/image/RK3pv3OKQ1qXKKwFlftP7w.png[/IMG] Comme vous voyez, j'utilise webClient.DownloadString pour télécharger les strings qui sont tous initializés au runtime. Quels sont les point négatifs de ce tool? - Il faut du Wifi pour utiliser le tool - Application lente à se lancer car il faut télécharger les strings. - Api visible Que faire alors? - Mettre la méthode de décryption dans une dll native pour que les crackers aient plus de difficulté à comprendre la fonctionnement Le point positif est que si vous voulez éviter un crack, ... il vous suffit de supprimer le fichier php et la exe ne fonctionnera plus ! Vous pouvez aussi faire un fichier .php pour chaque exe comme ça, le exe fonctionnera juste plus chez la personne voulue :) Voici ce qui se passe si on modifie l'assembly : [IMG]https://image.prntscr.com/image/gyoAEH8qSS6bhCNyzNhilg.png[/IMG] L'api php va détecter le changement d'application et va retourner "Nice try but it won't work" pour tout les strings ! 2) Strings Cachés sur l'ordinateur/dans une resource Ici, les strings sont cachés dans un fichier soit resource, soit quelque part sur l'ordi. Les strings sont encryptés en utilisant un algorithme que j'ai fait moi-même : [IMG]https://image.prntscr.com/image/X6nuJgrGTLKQMl3n0alMuA.png[/IMG] [IMG]https://image.prntscr.com/image/G0GdJdo3RNCKGbTFTtIfPQ.png[/IMG] Et voilà les strings : [IMG]https://image.prntscr.com/image/CIlIhubeS2GNB7E5KITqMw.png[/IMG] La resource est normalement encryptée puis décryptée au runtime mais pour vous montrer un screen, j'ai décryptée la resource Quels sont les désavantages? Une fois la resource décryptée, on peut facilement lire les strings et les remplacer Que faire alors? Comme précédement, les strings pourraient être placées dans un emplacement secret qui serait lu dans une dll native. Cela renforcerait grandement la protection car sans connaitre l'emplacement du fichier, on ne peut rien faire. 3) NetShield Encryption style Pour les connaisseurs, il existe un packer appellé netshield qui a une bonne manière d'encrypter ses strings. Comme le code était un peu moche et utilisait Mono.Cecil, j'ai décidé de le refaire à ma manière : [IMG]https://image.prntscr.com/image/0ykiS3qxQBG00mvu-L2hKQ.png[/IMG] [IMG]https://image.prntscr.com/image/xPhh6X-5R6_muXGJ957Hbg.png[/IMG] Ici rien de spécial, encore une fois j'ai encryptés les strings avec mon propre algorithme et au runtime, les strings son Set : [IMG]https://image.prntscr.com/image/etLu-zDkSvWFeQ3cy8zXHg.png[/IMG] Quels sont les désavantages? Avec un minimum de connaissances en RE, on peut facilement retrouver les strings. J'ai juste fait cette encryption pour le fun on va dire :) Voilà, donc rien de spécial, j'ai juste essayé de changer les manières habituelles d'encrypter des strings. Je ne sais pas encore si je vais release le exe mais si vous voulez une des encryption pour un de vos projet, envoyez-moi un message privé. Je protègerais vos fichiers avec plaisir ;) Évidemment, on peut appliquer d'autres protection par dessus afin d'augmenter la puissance de protection. Hésitez pas à laisser vos impressions, suggestions, ... [/CENTER] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
[Présentation] 3 Strings encryptions différentes et inhabituelles
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut