Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Idée de protection d'une application

8 réponses
Avatar
Léila
Bonjour à tous.
Peut-être pourriez-vous me donner des idées si celle que je vais vous
exposer n'est pas bonne.
Mon objectif, c'est de faire en sorte que mon application ne puisse être
ouverte sur une machine que si l'utilisateur entre un mot de passe propre à
sa machine, et que moi seul peux lui fournir.
Pour cela, mon idée est de recueillir dans une zone de texte invisible du
formulaire de lancement de l'application, des données propres à la machine,
de facon à afficher un identifiant unique de la machine. L'utilisateur me
communique ensuite ce identifiant, et je lui fournis un mot de passe calculé
à l'aide de cet identifiant. Il entre ce mot de passe dans un textbox
réservé à cet effet, qui subit un test de comparaison. S'il est correct,
l'application se lance. S'il est faut, l'application se ferme.
Qu'en pensez-vous?

8 réponses

Avatar
3stone
Salut,

Léila wrote:
Peut-être pourriez-vous me donner des idées si celle que je vais vous
exposer n'est pas bonne.
Mon objectif, c'est de faire en sorte que mon application ne puisse
être ouverte sur une machine que si l'utilisateur entre un mot de
passe propre à sa machine, et que moi seul peux lui fournir.
Pour cela, mon idée est de recueillir dans une zone de texte
invisible du formulaire de lancement de l'application, des données
propres à la machine, de facon à afficher un identifiant unique de la
machine. L'utilisateur me communique ensuite ce identifiant, et je
lui fournis un mot de passe calculé à l'aide de cet identifiant. Il
entre ce mot de passe dans un textbox réservé à cet effet, qui subit
un test de comparaison. S'il est correct, l'application se lance.
S'il est faut, l'application se ferme.




Voilà pour la théorie ;-)


Qu'en pensez-vous?



Si l'utilisateur ne connait rien d'Access, peu de chose peuvent
suffire pour le dissuader de manipuler une base Access.

Si par contre, il maîtrise un peu l'outil, ta méthode va le
retenir pour environ... "un certain temps" ;-))
http://cjoint.com/?mbrKhqFDUL

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Léila
Salut 3stone.
Je compte m'inspirer de ceci:
http://www.vbfrance.com/codes/NUMERO-SERIE-FONCTION-PC_41057.aspx
Quel est le pourcentage de fiabilité d'après toi? Surtout si après je crée
un fichier .mde pour interdir tout accès à mon code.


3stone wrote:
Salut,

Léila wrote:
Peut-être pourriez-vous me donner des idées si celle que je vais vous
exposer n'est pas bonne.
Mon objectif, c'est de faire en sorte que mon application ne puisse
être ouverte sur une machine que si l'utilisateur entre un mot de
passe propre à sa machine, et que moi seul peux lui fournir.
Pour cela, mon idée est de recueillir dans une zone de texte
invisible du formulaire de lancement de l'application, des données
propres à la machine, de facon à afficher un identifiant unique de la
machine. L'utilisateur me communique ensuite ce identifiant, et je
lui fournis un mot de passe calculé à l'aide de cet identifiant. Il
entre ce mot de passe dans un textbox réservé à cet effet, qui subit
un test de comparaison. S'il est correct, l'application se lance.
S'il est faut, l'application se ferme.




Voilà pour la théorie ;-)


Qu'en pensez-vous?



Si l'utilisateur ne connait rien d'Access, peu de chose peuvent
suffire pour le dissuader de manipuler une base Access.

Si par contre, il maîtrise un peu l'outil, ta méthode va le
retenir pour environ... "un certain temps" ;-))
http://cjoint.com/?mbrKhqFDUL


Avatar
3stone
Salut,


Léila wrote:
Je compte m'inspirer de ceci:
http://www.vbfrance.com/codes/NUMERO-SERIE-FONCTION-PC_41057.aspx
Quel est le pourcentage de fiabilité d'après toi? Surtout si après je
crée un fichier .mde pour interdir tout accès à mon code.



Bien compliqué pour peu de chose, le principe étant de lier le soft au DD
http://www.3stone.be/access/faq.php?lng=fr&pg62" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.3stone.be/access/faq.php?lng=fr&pg62

Bien sûr, sans MDE, c'est même pas la peine ;-)

Il faut donc voir le contexte dans lequel tu recherches cela.

Je sais que c'est une mode que les puissants se permettent, mais
perso, je n'utilise cela que pour les softs que je donne, ou ceux
qui sont accessibles et que je ne souhaite pas voir dans la nature.

Dans tous les cas ou j'achète un soft, je n'accepte jamais qu'il soit
lié à une machine; ce sont mes machines, point !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Léila
3stone wrote:

Bien compliqué pour peu de chose, le principe étant de lier le soft
au DD http://www.3stone.be/access/faq.php?lng=fr&pg62



La fonction "ReadHDSerial" renvoie plutôt il me semble le numéro de série de
la partition, qui change à chaque formatage. J'ai testé pour ma clé USB.
Avant le formatage, le numéro renvoyé était bien différent de celui obtenu
après le formatage.
Tandis que la fonction de "Codes-Sources" renvoie le vrai numéro de série du
DD, qui lui ne change pas même après formatage.


Il faut donc voir le contexte dans lequel tu recherches cela.
Je sais que c'est une mode que les puissants se permettent, mais
perso, je n'utilise cela que pour les softs que je donne, ou ceux
qui sont accessibles et que je ne souhaite pas voir dans la nature.
Dans tous les cas ou j'achète un soft, je n'accepte jamais qu'il soit
lié à une machine; ce sont mes machines, point !



Pour un soft commercial, la necessité d'une telle protection résulte du fait
que sans elle, le soft passerait de main en main pour se retrouver sur dix
machines alors qu'un seul a payé! Alors Quelle garantie le client qui achète
peut-il donner, et qui inspire suffisamment confiance pour qu'on lui remette
un soft non protégé contre la distribution illégale?
Avatar
3stone
Salut,

Léila wrote:
[...]
Pour un soft commercial, la necessité d'une telle protection résulte
du fait que sans elle, le soft passerait de main en main pour se
retrouver sur dix machines alors qu'un seul a payé! Alors Quelle
garantie le client qui achète peut-il donner, et qui inspire



Et l'inverse ?
Ta malheureuse boite ferme au bout de "..." et le client fait quoi
s'il crame son disque ??


suffisamment confiance pour qu'on lui remette un soft non protégé
contre la distribution illégale?



Créer un soft de qualité et personnalisé à un prix acceptable.
Et je n'ai pas dis "non protégé", juste "pas lié".

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Léila
3stone wrote:

Et l'inverse ?
Ta malheureuse boite ferme au bout de "..." et le client fait quoi
s'il crame son disque ??



Là, tu marques un point.

Créer un soft de qualité et personnalisé à un prix acceptable.
Et je n'ai pas dis "non protégé", juste "pas lié".



Oui, je suis d'accord avec l'idée de personnaliser le soft. Suffisamment
personnalisé pour gêner un utilisateur non autorisé.
Avatar
Léila
Je voudrais apporter un correctif quant à ce que j'ai dit à propos de ta
fonction renvoyant le numéro de série du disque dur.
Avec ta fonction, on obtient un nombre négatif, soit -727593647.
Avec l'autre fonction (Codes-Sources), on obtient D4A1CD51.
En fait, il s'agit de la même chose. En effet il suffit de
convertir -727593647 en hexadécimal et on obtient D4A1CD51.
Mais il est tout de même bon de savoir que ce numéro change à chaque
formatage.
Avatar
Léila
En cherchant, j'ai trouvé ce code (pour ceux que ça intéresserait) qui
permet d'avoir le numéro de série physique du disque dur, qui lui ne change
pas même après formatage:
http://www.codyx.org/snippet_numero-serie-physique-disque-dur-wmi_291.aspx


Léila wrote:
Je voudrais apporter un correctif quant à ce que j'ai dit à propos de
ta fonction renvoyant le numéro de série du disque dur.
Avec ta fonction, on obtient un nombre négatif, soit -727593647.
Avec l'autre fonction (Codes-Sources), on obtient D4A1CD51.
En fait, il s'agit de la même chose. En effet il suffit de
convertir -727593647 en hexadécimal et on obtient D4A1CD51.
Mais il est tout de même bon de savoir que ce numéro change à chaque
formatage.