PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 22 → Protection D'application Windev
Protection D'application Windev
Débuté par Paul, 30 avr. 2007 14:55 - 7 réponses
Posté le 30 avril 2007 - 14:55
Je souhaiterais protéger mon application Windev, quel mécanisme de protection lociel pourriez vous me conseillez.

J'avais pensé à faire un test de CRC sur mon exécutable en plus d'avoir un mecanisme qui permet d'enregister un numéro de série.
Mais je ne sais pas si il serait trivial pour un pirate de désassembler mon application windev puis de la patcher en désactivant ma protection.

Pus globallement est ce que "patcher" une application Windev est trivial ?
Est ce que le code désassembler d'une application Windev est facilement modifiable ?
Posté le 30 avril 2007 - 16:13
Bonjour Paul,

Tu peux choisir entre une protection :

- physique avec un dongle comme celui de Windev. D'ailleurs Windev intègre des fonctions pour interroger les clés "HASP"

- logiciel en utilisant un fichier licence crypté par exemple.

Dans le version logiciel que j'utilise, j'ai donc un fichier licence crypté qui contient le numéro de série, le nom et les coordonnées de l'entreprise, ainsi que la liste des modules libérés dans l'application.

Le numéro de série, le nom et les coordonnées de l'entreprise sont repris sur tous les écrans et impressions. Cela n'enpêche pas que quelqu'un copie le programme avec le fichier licence, mais cela fait vraiement tâche que les coordonnées d'une autre entreprise soit sur tous les écrans et impressions.

@+, JF
Posté le 01 mai 2007 - 17:17
Bonjour JF Marschall,

Ta solution avec un fichier de licence crypté est intéressante.
Mais pourrais-tu m'éclairer un peu :
-Peux-tu m'indiquer comment est-ce que tu constitues ce fichier de licence
-Comment est-ce que tu t'en sers ensuite
- ...
Je n'y connais rien dans le domaine de la protection d'une application.


Merci JF Marschall
Posté le 02 mai 2007 - 08:31
Bonjour...

Il y autant de méthodes que de besoins...

Un exemple :
- Le client doit saisir son nom et adresse, puis un échange
d'information avec votre coté (serveur ou manuel) lui fournit une clé
correspondante... (calcul de crc, etc)
- Ces informations sont ensuites encryptées et inscrites dans un fichier
(binaire, hf, etc)
- Quand le programme se lance (et/ou plus tard, sur timer, à intervalle
irrégulier, etc), il lit la zone encryptée, la décrypte, et vérifie que
tout va bien, il renseigne aussi des variables globales qui sont
utilisées pour afficher ces nfos dans les titres de fenêtres, les
imprimer sur les rapports, etc...
- Si les infos ne sont pas présentes, le programme se met en mode démo
(fonctionnalités limitées), Test (30 jours possibles sans les infos), ou
bloqué (pas d'info, pas de travail), encoreune fois selon ce que vous
voulez faire...

Cordialement

--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html


skype:fabriceharari?add




rayed wrote:
Bonjour JF Marschall,

Ta solution avec un fichier de licence crypté est intéressante.
Mais pourrais-tu m'éclairer un peu :
-Peux-tu m'indiquer comment est-ce que tu constitues ce fichier de licence
-Comment est-ce que tu t'en sers ensuite
- ...
Je n'y connais rien dans le domaine de la protection d'une application.


Merci JF Marschall

Posté le 02 mai 2007 - 08:33
Si tu vends peu de licences :

pour ton client société Dupuis à Lyon, tu saisis dans un fichier "société" le nom Dupuis à Lyon.
Bien entendu, ce fichier est inaccessible sauf par ton mot de passe de programmeur.

Sur les vues d'impression ton logicile imprime ce nom et la ville en pied de page.

Tu installe le logiciel chez ton client.

Simple et efficace.

(rem : si tu vends des centaines de licences, il faut un autres ssytème de protection)
Posté le 02 mai 2007 - 09:51
Bonjour Rayed

Le fichier licence est à la base un fichier texte auquel j'ai donné l'extension .FIC. Ce fichier est géré avec les fonctions fOuvre(), fFerme(), fEcritLigne() et fLitLigne.

Voici l'exemple d'un fichier

Licence Version 01.00
q³!·ÓÅV 
Á±[ùª&#8221;<t
qRèr4>?ÐMy€AðE4ÂtÖ®p[(Ëdd&#382;>x.Iªþ3çÈK|öíú]¶$½Ö[é&#339;Ã<Î7cÚ&#353;Çɲ|

La 1. ligne défini la version du fichier (en clair),
la 2. ligne contient les modules autorisés,
la 3. ligne les sous-modules autorisés,
la 4. ligne le nom de l'entreprise.

Pour crypter et décrypter une chaine, tu peux utiliser les fonctions Windev Crypte() et Décrypte(). Personnellement j'utilise un algorythme personnel. Mais ça c'est une question de choix.

Une fois décrypté, les informations sont stockées dans des variables globales que je peux utiliser partout dans mon programme.

J'espère que ces explications t'aideront, sinon donne-moi une adresse émail, et je te ferais parvenir une version modifiée de mon projet de génération/lecture de fichier licence, basé sur les fonctions windev (pas avec mon algorythme).

@+, JF
Posté le 03 mai 2007 - 08:28
Ci-joint mon adresse

rayed_57@yahoo.fr

Merci encore
Posté le 17 mars 2017 - 15:12
Salut tu pourrai m aider pour creer une licence merici.
Voici mon email : chitanous.fb@gmail.com