|
|
|
|
| En découvrant que le programme sur lequel vous avez
travaillé pendant des mois ou des années a été
craqué, vous pouvez soit être blessé et démotivé,
soit avoir un comportement plus qu'irresponsable. Pour moi, en tant que
programmeur de shareware, la perte de quelques francs (je ne veux pas faire
des calculs de probabilité ici, je pourrais avoir un comportement
plus qu'irresponsable) n'est pas la principale raison de cette FAQ. En fait,
j'essaye toujours de tenir mes programmes aussi bon marché que possible
et de les rendre accessibles à chacun, y compris pour les programmeurs
de logiciels publics ou les étudiants. D'une façon ou d'une autre, je peux comprendre la fascination que peut engendrer un programme formidable. J'ai fais des études de psychothérapie et je cherche toujours une raison psychologique, ce qui explique que ma réaction peut choquer les personnes réfractaires aux crackers et aux pirates informatiques en général. Le forcement (ou la violation) d'un logiciel bridé ressemble à la résolution d'une énigme (parfois complexe) et vous pourriez vous aussi en devenir "accro". (Je l'ai constaté en regardant ma grand-mère qui ne pouvait s'arrêter de faire ses mots-croisés) Le défaut du cracker, c'est qu'il ne se satisfait pas d'être un "génie", il veut que cela se sache. Nous arrivons à la partie illégale "du jeu". Pour cela il diffuse largement ses créations sous cette forme. 1. L'utilitaire de forcement. Fin de la plaisanterie : En le distribuant aux autres personnes via les sites web, les newsgroups, les mailing-lists, le ftp, les CD-ROM "abonnement", etc, ils portent directement atteinte aux auteurs de logiciels, à ceux qui mettent de l'énergie et du temps pour confectionner un produit le plus parfait possible. Même si nous supposons que les crackers n'achèteraient pas votre produit en temps normal, il n'en est pas moins sûr que la diffusion du crack est criminelle. Car c'est justement les gens qui vont télécharger ce crack qui auraient pu acheter votre logiciel. C'est comme si quelqu'un diffusait des copies des clefs de votre voiture. Peu importe si sa démarche est motivée par l'appât du gain ou non. Avant, je ne dépensais que rarement d'énergie pour la protection
de mes programmes mais depuis la découverte de plusieurs cracks
je me suis demandé pourquoi leur faciliter le travail ? Les crackers ne sont pas des super-génies .. Ce sont des "simples" programmeurs qui ont appris quelques techniques pour neutraliser les schémas de protection communs - et si vous savez où et comment les crackers cherchent, vous pouvez leur faire perdre du temps ! Partant du constat qu'il n'y a aucune protection 'pare-balles' pour protéger vos programmes, vous pouvez jouer avec leurs nerfs avant qu'ils ne décident de trouver une autre cible plus facile. En effet, il est important pour eux d'avoir un tableau de chasse pour prouver leur "génie" et garder leur "feeling" et de ne pas rester continuellement devant leur écran ;-) La plupart des programmeurs de langages évolués ne connaissent pas l'assembleur. Leurs idées de dé-protection sont donc assez limitées. Personnellement, je ne connais pas beaucoup l'assembleur, et j'ai décidé d'ouvrir mes yeux et commencé à rassembler une collection de protections anti-crack. J'ai fait de mon mieux pour "apprendre l'autre côté" .. beaucoup de conseils cités ici ont été trouvés en étudiant les techniques de base des crackers, les divers "guide du cracker" trouvés sur le net ou encore en lisant des articles de protection écrits par des crackers professionnels (certains programment même des protections). Bien, j'espère que j'ai appris mes leçons, et je vais partager mes expériences avec vous dans cette page. |
| Il est possible que les règles exposées ci-dessous
soient déjà citées sur d'autres sites, mais il vaut
mieux dans ce domaine avoir plus d'informations que moins ;-). La plupart s'applique aux plate-formes Windoze, mais peuvent être éventuellement portées sur les autres environnements. |
|
NOTA : Cette FAQ est un recueil d'expériences. Si vous pensez
que j'aurai pu aborder d'autres points ou si vous avez une solution pour
qu'un développeur ajoute facilement une protection, merci de me
contacter. Je vous répondrai via cette FAQ (avec votre permission),
soit directement. Ne me posez pas de questions sur la sécurité.
|
Comment rendre un peu plus difficile le détournement de vos programmes(Les rubriques NE sont pas triées par ordre d'importance)
|
Ne jamais utiliser de nom de procédure explicite comme function RegistrationOK: Boolean; Qu'importe la complexité et l'intelligence du code, un cracker
expérimenté ne prendra que 10 à 20 secondes pour
le contourner. Croyez-le ou non. Évitez les nagscreens (ou fenêtre d'avertissement) - C'est
là que les crackers rechercheront en premier à contourner
une protection. Ils n'analyseront jamais les instructions de votre programme
parmi les 300Ko d'assembleur. Plus rapide, ils rechercheront en premier
vos nagscreens ou vos fenêtres "Votre temps d'évaluation
est expiré!" et commenceront leur action à partir de
ce message. Dans certains cas, il est même possible d'enlever directement
cette protection en supprimant l'accès à une simple boucle,
et ce sans créer une anomalie dans le .exe ;-(. Si vous mettez
des nagscreens, vous devez la construire dynamiquement. Il est préférable
de ne pas multiplier les fenêtres de rappel. Ceci pourrait incommoder
les utilisateurs qui testent votre programme. La meilleure façon
de montrer le mode de fonctionnement de votre programme (libre-essai -
enregistré) est encore de l'afficher dans le 'A Propos'. {$IFDEF trial} ... aucune action ... En l'adaptant avec le sujet d'avant, vous pouvez modifier et créer
rapidement des versions légèrement différentes de
vos exécutables. Cela peut occuper les crackers car certains 'patchs'
fonctionneront, d'autres pas et ce pour une même version. Les pirates
de logiciels seront alors obligés de faire un crack pour chaque
compilation, de proposer sur un serveur la version de votre logiciel complète
ou tout simplement d'abandonner l'intérêt qu'ils portaient
à votre programme. Mettez à jour souvent vos programmes. Mise à jour fréquente
signifie que le code changeant fréquemment, le cracker ne pourra
pas patcher en dur l'exécutable directement et que le temps qu'il
décode votre nouveau programme celui-ci sera périmé. |
En conclusion, prenez le temps de la réflexion avant de vous lancer tête baissée dans la protection de vos programmes. Imaginez une démarche globale. Est-ce vraiment une protection efficace, utile ? Ne vaudrait-il pas mieux améliorer le logiciel plutôt que les protections ? La protection d'un logiciel est utile UNIQUEMENT si celui-ci a des utilisateurs ! Ne surestimez pas l'importance de votre travail et ramenez la à une juste valeur. Faites un compromis entre la protection et les risques de dé-protection. |
Fin de la traduction. To be continued ;-) |
Page mise à jour le
retour à l'accueil