[Batch] - Créer un serial et le reconnaitre
Résolu
dédéthepathé
-
dédéthepathé -
dédéthepathé -
Bonjour,
Je viens du forum sur la bureautique, ou j'ai demandé comment connaitre tous les calculs dont le résultat est un nombre x. On m'a dit qu'il faut des supercalculateurs de la Nasa.^^
J'avais posé cette question pour créer un Keygen(pour que je puisse avoir des clés a diistribuer à mes utilistaeur), et sécuriser mon Batch.
Je comptais procéder de cette façon:
=============================================
@echo off
set key1=
set /p key1=Entrez le premier code d'enregistrement:
rem La l'utilisateur entre le premier serial
pause
set key2=
set /p key2=Entrez le 2eme code d'enregistrement:
rem il rentre le 2eme serial
set key3=
set /p key3=Entrez le3eme code d'enregistrement:
rem il rentre le 3eme serial
pause
set key4=
set /p key4=Entrez le 2eme code d'enregistrement:
rem il rentre le 4eme serial
pause
set /a testserial=%key1%+%key2%-%key3%*%key4%
if "%testserial%"==146743 (
cls
echo super!
pause
) else (
cls
echo Mauvais sérial!
pause
)
=======================================
Je connais %random% pour générez des chiffres aléatoires, mais je ne pourrais pas controller l'authenticité du sérial. Je voudrais quelques idées s'il vous plait.
Je viens du forum sur la bureautique, ou j'ai demandé comment connaitre tous les calculs dont le résultat est un nombre x. On m'a dit qu'il faut des supercalculateurs de la Nasa.^^
J'avais posé cette question pour créer un Keygen(pour que je puisse avoir des clés a diistribuer à mes utilistaeur), et sécuriser mon Batch.
Je comptais procéder de cette façon:
=============================================
@echo off
set key1=
set /p key1=Entrez le premier code d'enregistrement:
rem La l'utilisateur entre le premier serial
pause
set key2=
set /p key2=Entrez le 2eme code d'enregistrement:
rem il rentre le 2eme serial
set key3=
set /p key3=Entrez le3eme code d'enregistrement:
rem il rentre le 3eme serial
pause
set key4=
set /p key4=Entrez le 2eme code d'enregistrement:
rem il rentre le 4eme serial
pause
set /a testserial=%key1%+%key2%-%key3%*%key4%
if "%testserial%"==146743 (
cls
echo super!
pause
) else (
cls
echo Mauvais sérial!
pause
)
=======================================
Je connais %random% pour générez des chiffres aléatoires, mais je ne pourrais pas controller l'authenticité du sérial. Je voudrais quelques idées s'il vous plait.
A voir également:
- [Batch] - Créer un serial et le reconnaitre
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
9 réponses
En gros, dans ton exemple, tu voudrais trouver tous les calculs qui mènent à 146743 ?
Tu te un compliques la vie... Sans être incassable (en même temps, qui peut s'en vanter ?), tu peux mettre en place des serials de 8 chiffres, où tu mets des conditions de validité, par exemple :
- Le premier chiffre doit être pair
- Le second chiffre doit être impair
- Le troisième chiffre doit être supérieur à 4
- Le quatrième chiffre doit être impair
- Le cinquième chiffre doit être égal au premier chiffre
- Le sixième chiffre doit être inférieur à 5
- Le septième chiffre doit être dans les 5 premières décimales de pi
- Le huitième chiffre doit être le premier chiffre du total des 7 premiers chiffres
Avec cela, tu peux facilement te faire un générateur de serials valides.
Tu te un compliques la vie... Sans être incassable (en même temps, qui peut s'en vanter ?), tu peux mettre en place des serials de 8 chiffres, où tu mets des conditions de validité, par exemple :
- Le premier chiffre doit être pair
- Le second chiffre doit être impair
- Le troisième chiffre doit être supérieur à 4
- Le quatrième chiffre doit être impair
- Le cinquième chiffre doit être égal au premier chiffre
- Le sixième chiffre doit être inférieur à 5
- Le septième chiffre doit être dans les 5 premières décimales de pi
- Le huitième chiffre doit être le premier chiffre du total des 7 premiers chiffres
Avec cela, tu peux facilement te faire un générateur de serials valides.
Merci pour vos réponses!
Biensur, le Batch sera compilé!
Je voulais partir sur ça au début:
==============================
@echo off
set /a key1=8121993
set /a key2=92100
set /a key3=45270
set /a key4=23954
set /a key5=29873
set /a key6=7699
set /a key7=27291
set /a key8=11305
set /a key9=11905
set /a key10=23839
set /a key11=20544
set /a key12=23072
set /a combi1=%key1%-%key2%-%key3%+%key4%
set /a combi2=%key1%-%key2%-%key3%+%key5%
set /a combi3=%key1%-%key2%-%key3%+%key6%
set /a combi4=%key1%-%key2%-%key3%+%key7%
set /a combi5=%key1%-%key2%-%key3%+%key8%
set /a combi6=%key1%-%key2%-%key3%+%key9%
set /a combi7=%key1%-%key2%-%key3%+%key10%
set /a combi8=%key1%-%key2%-%key3%+%key11%
set /a combi9=%key1%-%key2%-%key3%+%key12%
set /a combi10=%key1%+%key2%-%key3%-%key4%
set /a combi11=%key1%+%key2%-%key3%-%key5%
set /a combi12=%key1%+%key2%-%key3%-%key6%
set /a combi13=%key1%+%key2%-%key3%-%key7%
set /a combi14=%key1%+%key2%-%key3%-%key8%
set /a combi15=%key1%+%key2%-%key3%-%key9%
set /a combi16=%key1%+%key2%-%key3%-%key10%
set /a combi17=%key1%+%key2%-%key3%-%key11%
set /a combi18=%key1%+%key2%-%key3%-%key12%
set /a combi19=%key1%-%key2%+%key3%-%key4%
set /a combi20=%key1%-%key2%+%key3%-%key5%
set /a combi21=%key1%-%key2%+%key3%-%key6%
set /a combi22=%key1%-%key2%+%key3%-%key7%
set /a combi23=%key1%-%key2%+%key3%-%key8%
set /a combi24=%key1%-%key2%+%key3%-%key9%
set /a combi25=%key1%-%key2%+%key3%-%key10%
set /a combi26=%key1%-%key2%+%key3%-%key11%
set /a combi27=%key1%-%key2%+%key3%-%key12%
set /a combi28=%key1%-%key2%-%key3%-%key4%
set /a combi29=%key1%-%key2%-%key3%-%key5%
set /a combi30=%key1%-%key2%-%key3%-%key6%
set /a combi31=%key1%-%key2%-%key3%-%key7%
set /a combi32=%key1%-%key2%-%key3%-%key8%
set /a combi33=%key1%-%key2%-%key3%-%key9%
set /a combi34=%key1%-%key2%-%key3%-%key10%
set /a combi35=%key1%-%key2%-%key3%-%key11%
set /a combi36=%key1%-%key2%-%key3%-%key12%
set /a combi37=%key1%+%key2%+%key3%+%key4%
set /a combi38=%key1%+%key2%+%key3%+%key5%
set /a combi39=%key1%+%key2%+%key3%+%key6%
set /a combi40=%key1%+%key2%+%key3%+%key7%
set /a combi41=%key1%+%key2%+%key3%+%key8%
set /a combi42=%key1%+%key2%+%key3%+%key9%
set /a combi43=%key1%+%key2%+%key3%+%key10%
set /a combi44=%key1%+%key2%+%key3%+%key11%
set /a combi45=%key1%+%key2%+%key3%+%key12%
pause
set testcombi=
set /p testcombi=Entrez le serial:
if "%testcombi%"=="%combi1%" (
...
...
) else if if "%testcombi%"=="%combi2%" (
...
...
) else (
echo mauvais serial!
)
============================
mais sa m'aurai fait partir en sucette avec toutes ces variables a tester et sa augmenterait le moids de mon batch.
Je serais bien intéressé par la méthode de test des chiffres, mais je ne sais pas si c'est réalisable en batch.
Par découpage de variables? Sa je ne m'y connais pas dans le découpage, pas appris, comme la commande For et tokens aussi...
Biensur, le Batch sera compilé!
Je voulais partir sur ça au début:
==============================
@echo off
set /a key1=8121993
set /a key2=92100
set /a key3=45270
set /a key4=23954
set /a key5=29873
set /a key6=7699
set /a key7=27291
set /a key8=11305
set /a key9=11905
set /a key10=23839
set /a key11=20544
set /a key12=23072
set /a combi1=%key1%-%key2%-%key3%+%key4%
set /a combi2=%key1%-%key2%-%key3%+%key5%
set /a combi3=%key1%-%key2%-%key3%+%key6%
set /a combi4=%key1%-%key2%-%key3%+%key7%
set /a combi5=%key1%-%key2%-%key3%+%key8%
set /a combi6=%key1%-%key2%-%key3%+%key9%
set /a combi7=%key1%-%key2%-%key3%+%key10%
set /a combi8=%key1%-%key2%-%key3%+%key11%
set /a combi9=%key1%-%key2%-%key3%+%key12%
set /a combi10=%key1%+%key2%-%key3%-%key4%
set /a combi11=%key1%+%key2%-%key3%-%key5%
set /a combi12=%key1%+%key2%-%key3%-%key6%
set /a combi13=%key1%+%key2%-%key3%-%key7%
set /a combi14=%key1%+%key2%-%key3%-%key8%
set /a combi15=%key1%+%key2%-%key3%-%key9%
set /a combi16=%key1%+%key2%-%key3%-%key10%
set /a combi17=%key1%+%key2%-%key3%-%key11%
set /a combi18=%key1%+%key2%-%key3%-%key12%
set /a combi19=%key1%-%key2%+%key3%-%key4%
set /a combi20=%key1%-%key2%+%key3%-%key5%
set /a combi21=%key1%-%key2%+%key3%-%key6%
set /a combi22=%key1%-%key2%+%key3%-%key7%
set /a combi23=%key1%-%key2%+%key3%-%key8%
set /a combi24=%key1%-%key2%+%key3%-%key9%
set /a combi25=%key1%-%key2%+%key3%-%key10%
set /a combi26=%key1%-%key2%+%key3%-%key11%
set /a combi27=%key1%-%key2%+%key3%-%key12%
set /a combi28=%key1%-%key2%-%key3%-%key4%
set /a combi29=%key1%-%key2%-%key3%-%key5%
set /a combi30=%key1%-%key2%-%key3%-%key6%
set /a combi31=%key1%-%key2%-%key3%-%key7%
set /a combi32=%key1%-%key2%-%key3%-%key8%
set /a combi33=%key1%-%key2%-%key3%-%key9%
set /a combi34=%key1%-%key2%-%key3%-%key10%
set /a combi35=%key1%-%key2%-%key3%-%key11%
set /a combi36=%key1%-%key2%-%key3%-%key12%
set /a combi37=%key1%+%key2%+%key3%+%key4%
set /a combi38=%key1%+%key2%+%key3%+%key5%
set /a combi39=%key1%+%key2%+%key3%+%key6%
set /a combi40=%key1%+%key2%+%key3%+%key7%
set /a combi41=%key1%+%key2%+%key3%+%key8%
set /a combi42=%key1%+%key2%+%key3%+%key9%
set /a combi43=%key1%+%key2%+%key3%+%key10%
set /a combi44=%key1%+%key2%+%key3%+%key11%
set /a combi45=%key1%+%key2%+%key3%+%key12%
pause
set testcombi=
set /p testcombi=Entrez le serial:
if "%testcombi%"=="%combi1%" (
...
...
) else if if "%testcombi%"=="%combi2%" (
...
...
) else (
echo mauvais serial!
)
============================
mais sa m'aurai fait partir en sucette avec toutes ces variables a tester et sa augmenterait le moids de mon batch.
Je serais bien intéressé par la méthode de test des chiffres, mais je ne sais pas si c'est réalisable en batch.
Par découpage de variables? Sa je ne m'y connais pas dans le découpage, pas appris, comme la commande For et tokens aussi...
Un batch complilé est un fichier batch (.bat) converit en éxécutable (.exe) pour des questions de sécurité de son code car les batch sont éditables au bloc notes et les éxécutables ne le sont pas. Le code source du programme est donc sécurisé mais j'ai cru entendre qu'on pouvait le désassembler avec windasm mais la c'est pas mon domaine^^
Bonjour
Le problème principal vient du fait que tu ne peux pas cacher le contenu de ton fichier de commandes.
Aussi, une fois que j'ai réussi à copier ton logiciel che moi, il me suffit de le lancer et de répondre
146743
0
1
0
qui sera évalué 146743+0-1*0
qui donne 146743
désolé ça tient pas la route.
Le problème principal vient du fait que tu ne peux pas cacher le contenu de ton fichier de commandes.
Aussi, une fois que j'ai réussi à copier ton logiciel che moi, il me suffit de le lancer et de répondre
146743
0
1
0
qui sera évalué 146743+0-1*0
qui donne 146743
désolé ça tient pas la route.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolé pour la double réponse, internet ramait donc j'ai cliqué sur arrete, et pis j'ai réenvoyé
Et aussi, si c'est par découpage de variable, comment tester que l'utilisateur rentre une clé de par exemple 14 chiffres, vu qu'il y a pas de fonction "maxchar" en batch...
Et aussi, si c'est par découpage de variable, comment tester que l'utilisateur rentre une clé de par exemple 14 chiffres, vu qu'il y a pas de fonction "maxchar" en batch...
C'est à toi de voir si tu veux une solution facilement cassable (tu peux arriver à le casser) ou difficilement cassable.
Si tu comptes gagner ta vie avec (sinon à quoi bon livrer des serials), il vaut peut-être mieux se tourner vers des dongles matériels car je crois que c'est ce qu'il y a de plus sûr
Si tu comptes gagner ta vie avec (sinon à quoi bon livrer des serials), il vaut peut-être mieux se tourner vers des dongles matériels car je crois que c'est ce qu'il y a de plus sûr