Je fabrique un produit commercial qui aura un côté client et serveur. Le client dépend totalement du serveur, juste pour le rendre plus difficile à cracker/pirater. Le problème est, même si il y a une chance que quelqu'un inverse l'ingénierie du protocole et crée son propre serveur. J'ai pensé à crypter la connexion soit avec SSL ou avec un autre algorithme, donc il ne sera pas si facile de comprendre le protocole juste de renifler le trafic entre le client et le serveur. Maintenant, la seule chose que je peux penser que pirates utiliserait est de décompiler le programme, enlever le cryptage et essayer de voir le protocole "texte brut" afin de le désosser. J'ai lu des sujets précédents et je sais qu'il est impossible de le rendre impossible, mais quels ajustements pouvons-nous apporter aux programmeurs dans notre code pour en faire un énorme casse-tête pour les crackers?Protection contre les fissures - plus particulièrement les moyens de décompiler un programme
Répondre
Lire how Skype did it. Quoi qu'il en soit, en général, c'est impossible.
Et notez que même avec tout ce que Skype a fait, certaines personnes intelligentes ont fait des pieds et des mains pour le désosser :) Excellent article! –
À mon humble avis, il est difficile de cacher le vrai code. Ce que la plupart des emballeurs font est de le rendre difficile à patcher. Cependant, dans votre cas, Themida pourrait faire l'affaire.
Voici quelques conseils sur l'écriture de belles une bonne protection: http://www.inner-smile.com/nocrack.phtml
Cela pourrait être utile: http://www.woodmann.com/crackz/Tutorials/Protect.htm
Une chose que vous devez savoir est que la plupart des packers/crypteurs provoquent des faux positifs avec les scanners de virus. Et cela peut être assez ennuyeux parce que les gens se plaignent tout le temps que votre logiciel contient un virus (ils n'obtiennent pas le concept de faux positifs).
Et pour l'obfuscation de protocole n'utilisez pas SSL. Il est trivial pour un attaquant d'intercepter le texte en clair lorsque vous appelez Send
avec le texte brut. Utilisez SSL pour sécuriser la connexion et masquer les données avant de les envoyer. L'algorithme d'obfuscation n'a pas besoin d'être cryptographiquement sécurisé.
Il n'est pas nécessaire de rendre impossible la fissuration, vous voulez juste le rendre suffisamment difficile pour que cela coûte plus cher à craquer qu'à acheter. –
@Matthieu: Vous achetez beaucoup de copies, mais ne fendez qu'une seule fois. – ybungalobill
je vous remercie tous pour vos réponses, je vais contacter un mec ASM pour m'aider avec obfuscation et probablement utiliser comme une demande de validité du serveur chronométré toutes les X secondes avec un jeton spécifique et quoi ne pas rendre plus difficile à l'ingénierie inverse. – xlnkz