PureBasic

Forums PureBasic
Nous sommes le Mar 07/Juil/2020 18:49

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 22 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: A.D.S : Associer des méta-données à un fichier exécutable
MessagePosté: Jeu 12/Avr/2018 18:05 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
A.D.S. (Alternate Data Stream) est une technologie apparu en 1993 et utilisable qu'avec des disques formatés NTFS uniquement ce qui est le cas de la majorité des ordinateurs en 2018.

Cette technologie consiste à ajouter un ou plusieurs flux de données à un fichier existant.

Ces flux de données peuvent être de toutes natures (texte, graphique, code exécutable...).

Ces flux sur le disque sont sous la forme application.exe:nomduflux et sont jusqu'à présent invisibles (Presque invisibles :wink: )

C'est ce que nous allons voir avec ce code qui permet de compter le nombre de fois qu'un exécutable est lancé.

Deux petites procédures :

ReadADS(ADS.s) pour lire un flux de données ADS associé à un éxécutable.
WriteADS(ADS.s, Value.s) pour écrire dans un flux de données associé à un exécutable.

Code:
Procedure.s ReadADS(ADS.s)
  Protected Buffer.s
  Protected Filename.s = ProgramFilename()
 
  If ReadFile(0, Filename + ":" + ADS, #PB_File_SharedRead)
    Buffer = ReadString(0, #PB_Unicode)
    CloseFile(0)
  EndIf
  ProcedureReturn Buffer
EndProcedure

Procedure WriteADS(ADS.s, Value.s)
  Protected Filename.s = ProgramFilename()
  If CreateFile(0, Filename + ":" + ADS, #PB_File_SharedWrite)
    WriteData(0, @Value, StringByteLength(Value))
    CloseFile(0)
  EndIf
EndProcedure

;Read and show number of lauches
NumberofLauches$ = ReadADS("NUMBEROFLAUCHES")

MessageRequester("Number of launches", Str(Val(NumberofLauches$)))

;Write number of lauches  + 1
NumberofLauches = Val(NumberofLauches$) + 1
WriteADS("NUMBEROFLAUCHES", Str(NumberofLauches))
Créer un éxécutable avec ce code et lancer le.

La première fois vous aurez la valeur 0 puis au second lancement 1, troisième lancement 2, etc ....

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Jeu 12/Avr/2018 18:19 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
Vous pouvez déplacer l'exécutable d'un dossier à un autre dossier ou sur un autre support comme une clé USB et tester sur un autre ordinateur, le compteur continuera à s'incrémenter.

Dans mon commentaire précédent, j'ai dit que les flux de données étaient presque invisibles car on peut les lister avec l'utilitaire AlternateStreamView v1.54 de l'éditeur NirSoft.

Image

Site https://www.nirsoft.net/utils/alternate ... reams.html (Download en fin de page)

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Jeu 12/Avr/2018 18:28 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9001
Court et simple.
Sympa pour faire un exe de demo de soft exécutable x fois par exemple.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Jeu 12/Avr/2018 18:42 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
Ar-S a écrit:
Sympa pour faire un exe de demo de soft exécutable x fois par exemple.
Ouiiiii

Ce deuxième exemple enregistre deux fluxs associés à l’exécutable.
- Le compteur vu précédemment,
- La date et heure du dernier lancement.
Code:
Procedure.s ReadADS(ADS.s)
  Protected Buffer.s
  Protected Filename.s = ProgramFilename()
 
  If ReadFile(0, Filename + ":" + ADS, #PB_File_SharedRead)
    Buffer = ReadString(0, #PB_Unicode)
    CloseFile(0)
  EndIf
  ProcedureReturn Buffer
EndProcedure

Procedure WriteADS(ADS.s, Value.s)
  Protected Filename.s = ProgramFilename()
  If CreateFile(0, Filename + ":" + ADS, #PB_File_SharedWrite)
    WriteData(0, @Value, StringByteLength(Value))
    CloseFile(0)
  EndIf
EndProcedure


;Read and show number of lauches
NumberofLauches$ = ReadADS("NUMBEROFLAUCHES")
Time$ = ReadADS("LASTTIME")

MessageRequester("Number of launches", Str(Val(NumberofLauches$)) + " Last run  " + Time$)

;Write number of lauches  + 1
NumberofLauches = Val(NumberofLauches$) + 1
WriteADS("NUMBEROFLAUCHES", Str(NumberofLauches))

;Write last time
Time$ = FormatDate("%dd/%mm/%yyyy - %hh:%ii:%ss", Date())
WriteADS("LASTTIME", Time$)

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Jeu 12/Avr/2018 19:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 14/Oct/2004 19:48
Messages: 1139
Très intéressant... :idea:

_________________
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 5.45LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Jeu 12/Avr/2018 22:20 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
Avec cet exemple nous allons stocker le contenu d'une structure dans un flux de données associé à l’exécutable.

Cette structure reprend les variables de l'exemple précédent.
Code:
Structure Parameter
  NumberOfLauches.i
  Time.s
EndStructure
Define Setup.Parameter
Et sera sauvegardée dans un objet JSON.

Code:
Procedure.s ReadADS(ADS.s)
  Protected Buffer.s
  Protected Filename.s = ProgramFilename()
 
  If ReadFile(0, Filename + ":" + ADS, #PB_File_SharedRead)
    Buffer = ReadString(0, #PB_Unicode)
    CloseFile(0)
  EndIf
  ProcedureReturn Buffer
EndProcedure

Procedure WriteADS(ADS.s, Value.s)
  Protected Filename.s = ProgramFilename()
  If CreateFile(0, Filename + ":" + ADS, #PB_File_SharedWrite)
    WriteData(0, @Value, StringByteLength(Value))
    CloseFile(0)
  EndIf
EndProcedure

;Test area
Structure Parameter
  NumberOfLaunches.i
  Time.s
EndStructure
Define Setup.Parameter

;Read and show number of lauches
If ParseJSON(0, ReadADS("SETUP"))
  ExtractJSONStructure(JSONValue(0), @Setup, Parameter)
  MessageRequester("Number of launches", Str(Setup\NumberOfLaunches) + " at " + Setup\Time)
Else
  MessageRequester("Number of launches", "This is your first run")
EndIf


;Write number of lauches +1 and last time
Setup\NumberOfLaunches + 1
Setup\Time = FormatDate("%dd/%mm/%yyyy - %hh:%ii:%ss", Date())

If CreateJSON(0)
  InsertJSONStructure(JSONValue(0), @Setup, Parameter)
  WriteADS("SETUP", ComposeJSON(0))
EndIf
Créer un exécutable et lancer le plusieurs fois.

Vous pouvez aussi stocker une map ou une liste chainée.

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 0:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 16/Oct/2015 18:22
Messages: 337
Localisation: France
Merci falsam,

Démystifie ce qu'est A.D.S. (Alternate Data Stream) que je ne connaissez pas.
Comme d'habitude, tes explications sont limpides et intéressantes.
Cela m'ouvre des possibilités.

cage

_________________
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 5.71 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 8:27 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9001
Petite précision :
Méfiez vous tout de même. L'ADS n'est pas compatible FAT32.. Donc si vous transférez votre fichier sur un support formaté en Fat32, vous devriez perdre les données en ADS.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 9:42 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2207
falsam a écrit:
[.... des disques formatés NTFS uniquement ce qui est le cas de la majorité des ordinateurs en 2018.



perso, j'ai bloqué sur cette phrase , mais ne trouvant pas de sources indiquant le contraire, je ne fais que de m’étonner de ça ....

considerant le nombre de systemes utilisant LINUX et le systeme Ext3/Ext4/XFS .....
je parle tout aussi bien des systeme sous Ordinateur que sous Tablettes, Telephones Portables....

sans parler des Ordinateurs encore nombreux a tourner sur Fat32 / win XP ... (les distributeurs de billets de Banque )
http://www.phonandroid.com/95-distribut ... atage.html


bref , je ne suis pas sur que cette affirmation soit vrais ....
meme si on se restreint aux ordinateurs possédés par des particuliers (entreprises compris) .. :)


pour l'ADS , je ne connaissais pas .

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 10:40 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9001
en fait je faisais plus allusion aux cle usb qui sont parfois reconnus uniquement en fat32 dans certains autoradio par ex. mais j'avais aussi zappé que falsam l'avait dit.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 12:02 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1660
Bonjour,

Zorro > Falsam avec ça phrase a surement oublier de préciser que cela n'été valable que sous Windows avec un disque formater en "NTFS". "ADS" à visiblement été fait pour une compatibilité avec les ordinateur sous MacOS.

Voir https://manumation.developpez.com/articles/windows/ads/
Citation:
Les ADS ont été créés dans le but d'offrir une compatibilité avec HFS, le système de gestion de fichiers sous Mac. Sans entrer dans les détails, le but était de pouvoir créer un serveur de fichier Windows avec comme clients des Mac. De nos jours, ils sont aussi utilisés dans certaines techniques de traçabilité de fichiers, et pour par exemple, des résumés (voir fin du chapitre).

Donc oui, pas forcement touts les OS, mais juste Windows, mais cela permet déjà pas mal de chose du style stockage de la clef d'enregistrement, des informations de configuration et même comme quand l'exemple un compteur d'utilisation.

Tout comme, si tu Zip le fichier et que tu l'extrais tu perds aussi les donnée "ADS", cette méthode a ses avantages et ses défauts.

Cordialement,
GallyHC

_________________
Image Official site of PureBasic
Image Official site of SpiderBasic

Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.71 LTS (x86 et x64)


Dernière édition par GallyHC le Ven 13/Avr/2018 12:12, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 12:10 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
GallyHC a écrit:
Falsam avec ça phrase a surement oublier de préciser que cela n'été valable que sous Windows avec un disque formater en "NTFS"
Pas du tout. Relis bien mon premier message que zorro a d'ailleurs quotée dans son commentaire :wink:

@Ar-S : J'avais fait mes tests sur une clé USB formaté NTFS.

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 13:47 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6930
Localisation: IDF (Yvelines)
Zorro tu m'énerves :wink:
falsam a écrit:
A.D.S. (Alternate Data Stream) est une technologie apparu en 1993 et utilisable qu'avec des disques formatés NTFS uniquement ce qui est le cas de la majorité des ordinateurs en 2018.
- La majorité des ordinateurs ne veut pas dire 100%
- J'ai bien précisé sur partition NTFS (Ca c'est pour Gally ^-^)

Part de marché des OS en Mars 18 2018 (Source Net Market Share)

- Windows : 88.72%
- Mac OS : 8.56%
- Linux : 2.30%
- Chrome OS : 0.31
- le reste on s'en fiche (BSD et autres ....) :wink:

■ Sur ces 88.72% d'ordinateurs équipés de Microsoft Windows (Source StatCounter

- Windows 10 : 43.95%
- Windows 7 : 41.51%
- Windows 8.1 : 7.99 %
- Windows XP : 3.42 %
- Windows 8 : 2.44%
- Windows Vista : 0.61
- Autres : 0.08 %

Zorro a écrit:
considerant le nombre de systemes utilisant LINUX et le systeme Ext3/Ext4/XFS .....
2.30%
Zorro a écrit:
je parle tout aussi bien des systeme sous Ordinateur que sous Tablettes, Telephones Portables....
Purebasic ne fonctionnant pas sur ce types de terminaux, j'en ai pas tenu compte.
Zorro a écrit:
sans parler des Ordinateurs encore nombreux a tourner sur Fat32 / win XP ... (les distributeurs de billets de Banque )
Sous xp 3.42% !
Zorro a écrit:
bref , je ne suis pas sur que cette affirmation soit vrais ....
Ben justement si : En faisant référence à ces chiffres, la majorité des ordinateurs sont partitionnés NTFS.

:idea: Pour info j'ai procédé aussi à des tests sous Mac OS et ça fonctionne parfaitement.

Linux je suis loin d’être un spécialiste mais je pense qu'on peut partitionner un support en NTFS. Maintenant est ce que le code fonctionne ? je ne sais pas. Mais ce n'est de toute façon que 2.30% de part de marché.

_________________

➽ Config PureBasic : Windows 10 - PB 5.72 LTS

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 14:33 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1832
Précision:
:arrow:
̶P̶a̶r̶t̶ ̶d̶e̶ ̶m̶a̶r̶c̶h̶é̶ ̶d̶e̶s̶ ̶O̶S̶ ̶e̶n̶ ̶M̶a̶r̶s̶ ̶1̶8̶ ̶2̶0̶1̶8̶
Part de marché des OS qui se sont connecté à l'Internet

Methodology: Details on our data collection, aggregation and quality control processes.
Source of Data:
We collect data from the browsers [...]

On ne peut pas connaitre le % réel de chaque OS en temps réel :wink:
On sait qu'il y a déjà environ 1.2 milliard de téléphones, tablettes etc sous android, ce qui fait plus d'os android que windows mais comme la plupart ne sont pas utilisés pour aller naviguer sur les sites de stats, on ne les voit pas.

Pour ce qui est des partitions NTFS, linux peut les lire, y écrire (péniblement) mais les systèmes natifs de Linux sont bien plus fiables et rapides.
Paradoxe: Linux utilisé comme serveur de fichier pour des clients Windows (avec Samba) est plus rapide qu'un serveur Windows d'origine :mrgreen:

Mais je m'égare là oups :oops:

:idea: PS Merci pour ton article, je ne connaissais pas ADS j'aurais appris un truc aujourd'hui :wink:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: A.D.S : Associés des méta-données à un fichier exécutabl
MessagePosté: Ven 13/Avr/2018 15:34 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9001
Voilà un exemple pour générer une petite protection par clé en utilisant ADS.

2 programmes.
- le 1er est le petit keygen qui va créer une 1ère clé. Cette clé vous devez la copier dans le second code ligne 74
- Le second est l'exe que vous compilerez est qui sera destiné à votre client.

Instructions :

- Compilez le code 2 en un fichier test.exe
- Lancez le
Il vous demande nom et prénom. Vous devrez alors rentrer Dupont Jean dans cet exemple sauf si vous avez généré une autre clé avec le keygen
Une fois cela fait, le programme vous demandera de redémarrer. Si les noms et prénom sont bons, la fenêtre du prog s'ouvrira.
Petite protection supplémentaire. L'exe sera lié au serial de votre disque C en plus de votre nom et prénom.

Note : je suis bien conscient que cette protection nécessite de créer un exe pour chaque client et que l'ADS reste très volatile comme protection.
Cet exemple est pour le fun. Je me suis bien amusé.
:mrgreen:

Code:
; Générateur de clé

UseSHA3Fingerprint()

Procedure.s GenerateLic(Mot$)
  N$ = UCase(Mot$)
  N$ = Trim(Mot$)
  ProcedureReturn StringFingerprint(N$, #PB_Cipher_SHA3)
EndProcedure


; Exemple de création de la clé à coller dans le code du programme principal
NameKey$ = GenerateLic(Trim("DUPONT JEAN"))
SetClipboardText("NameKey$ = "+Chr(34)+NameKey$+Chr(34))
; Vous pouvez directement faire un clic droit / coller ligne 74 du programme principale.


Code:
; Falsam : ADS / MVXA : HDD SERIAL /Ar-S : Prog

UseSHA3Fingerprint()

Procedure.s ReadADS(ADS.s)
  Protected Buffer.s
  Protected Filename.s = ProgramFilename()
 
  If ReadFile(0, Filename + ":" + ADS, #PB_File_SharedRead)
    Buffer = ReadString(0, #PB_Unicode)
    CloseFile(0)
  EndIf
  ProcedureReturn Buffer
EndProcedure



Procedure WriteADS(ADS.s, Value.s)
  Protected Filename.s = ProgramFilename()
  If CreateFile(0, Filename + ":" + ADS, #PB_File_SharedWrite)
    WriteData(0, @Value, StringByteLength(Value))
    CloseFile(0)
  EndIf
EndProcedure



Procedure.s GenerateLic(Mot$)
  ProcedureReturn StringFingerprint(Mot$, #PB_Cipher_SHA3)
EndProcedure

Procedure.s ReturnHDDSerial(Laufwerk.s)
  ;code de MVXA
  Define.i tmpSerial
  Define.s tmpLfwrk, tmpFileSystem
 
  tmpLfwrk      = Left(Laufwerk, 1) + ":\"
  tmpFileSystem = Space(256)
  GetVolumeInformation_(@tmpLfwrk, @tmpFileSystem, 255, @tmpSerial, 0, 0, @tmpFileSystem, 255)
  Debug Hex(tmpSerial)
 
  ProcedureReturn Hex(tmpSerial)
EndProcedure



Procedure OW()
  If OpenWindow(0, 0, 0, 220, 100, "Licence OK !...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   
    ButtonGadget  (1, 10, 60, 200, 30, "Fermer")
   
    Repeat
      Event = WaitWindowEvent()
     
      Select Event
         
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 1
              CloseWindow(0)
              End 
          EndSelect
         
      EndSelect
    Until Event = #PB_Event_CloseWindow
  EndIf
 
EndProcedure



; -----------------------------------------------------
; Clé générée avec le keygen du code précédent
NameKey$ = "18ff575513a42ae5ea7dad4cd8165c032dd837ff09f8197bd6ab9078b8a3baec" ;
;------------------------------------------------------

LicRead.s = ReadADS("NAMEKEY")

If LicRead =""
  WriteADS("NAMEKEY", NameKey$)
  LicRead = NameKey$
EndIf

If Len(LicRead) = 64 ; s'il ni a que le nom prenom
    N$ = InputRequester ("Licence","Entrez votre nom et prénom (ex : marc dumoulin)","")
   
    N$  = Trim(UCase(N$))
    N$ = GenerateLic(N$)
   
    If N$ = LicRead.s
      DD$ = GenerateLic(ReturnHDDSerial("c"))
      Licence.s = N$+":"+DD$
      WriteADS("NAMEKEY", Licence.s)
      MessageRequester("Succés","Vous devez relancer le logiciel pour terminer l'activation"+Chr(10)+"Cle "+Licence.s ,#PB_MessageRequester_Info)
      End
    Else
      MessageRequester("Erreur","Vous devez entrer votre Nom et Prénom"+Chr(10)+"Ce programme va se terminer",#PB_MessageRequester_Error)
      End
    EndIf
   
  ElseIf Len(LicRead) > 64
   
    ; VerifDD
    DDcrypt.s = Mid(LicRead,FindString(LicRead,":")+1,Len(LicRead)-FindString(LicRead,":")+1 )
    ;   MessageRequester("test",DDcrypt.s + " = " +  ReturnHDDSerial("c"),#PB_MessageRequester_Ok)
    If DDcrypt.s =  GenerateLic(ReturnHDDSerial("c"))
     
      OW()
    Else
      MessageRequester("Attention","Ce logiciel est lié à un seul ordinateur",#PB_MessageRequester_Info)
      End
    EndIf
   
  EndIf
 

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 22 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye