VBSCRIPT Conversion d'une date en hexa et inversement [Résolu]

Signaler
Messages postés
47
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
22 mai 2012
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Salut à tous,

dans la base de registre, j'ai une valeur hexadécimale (25 00 16 00 00 00 00 00)
On m'a dit que c'était une date (22/01/2007) et je cherche donc à la convertir...
Pouvez vous m'aider ???

Par avance Merci.

Seb

10 réponses

Messages postés
47
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
22 mai 2012
1
Salut,
Désolé, mais c'est bien la date de l'antivirus...
Mais bon si vous preferez croire au piratage.....................

Si ca vous intéresse, dnas la chaine : 25 00 16 00 00 00 00 00
25 = nb d'années à ajouter
00 = nb de mois à ajouter
16 = nb de jours à ajouter

la date de référence est 01/01/1970...
et la date que je voulais convertir est la date de revision de la definiton des virus...
Dans le meme genre, j'ai la date de dernier scan...
J'ai bien tester c'est bien ca...

Merci quand même... Maintenant, je peux verifier si sur mon reseau j'ai des postes a jour en ce qui concerne la def de l'antivirus...

A+

Seb
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
tout dépend hélas de la façcon dont le codeur a choisi de coder ses dates.

la plupart avaient (plus personne ne le fait aujourd'hui) l'habitude de gagner quelques octets en transformat d'abord la date sous le format AAAAMMJJ puis en transformant ce nombre en décimal

par exemple : 21/01/2006 ===>> 20060121 ===>> 13217D9

d'autres allaient plus loin dans leur recherche d'économie d'octets

Il ne semble pas, toutefois, que tu aies là, toi,  un hexadécimal


 


 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Sur 8 octets, ça pourrait etre une variable de type Date.

D'où recois-tu ces octets, et sous quelle forme les reçois-tu?????

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
47
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
22 mai 2012
1
Bonjour,

C'est une valeur REG_BINARY dnas la base de registre, pour un antivirus, permettant soit disnat de donnée la date de MAJ de la définition des virus...
Cette valeur est mise à jour par l'update du programme...
Seb
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
je déteste vraiment... mais bon... une fois n'est pas coutume :

de la lecture :

http://www.ozzu.com/ftopic55608.html
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
Retiens surtout ceci :
 une valeur  REG_BINARY est stockée sous la forme de paires héxadécimales, chacune d'entre elle représentant un nombre compris entre 0 et 255

Pour un antibirus, dis-tu maintenant ? Permets-moi d'en douter.... Il s'agit plutôt là d'un des éléments de protection d'un logiciel.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
En tout cas ça ne semble pas correspondre à un format de date connu.

Pour info, la date du 21/01/2006 au format vb (Date OLE) serait représentée par le nombre &H40E2EA4000000000 soit en REG_BINARY : 00 00 00 00 40 EA E2 40

Je sens que la solution à ton problème, ça va etre de renouveller ton abonnement pour une année supplémentaire

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
01/01/1970 + 25 ans et 16 jours, chez moi ça ne fait que 17/01/1995 et non pas 21/01/2006

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
oupsss ardon on est en hexa

25 --> 37 ans
16 --> 22 jours

donc 01/01/1970 + 37 ans et 22jours = 23/01/2007, toujours pas 21/01/2006

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
Je trouve le même résultat que Casy avec ce quue dit avoir trouvé Sbt
.Private Sub Command5_Click()
  toto = DateAdd("yyyy", Val("&h25"), "01/01/1970")
  toto = DateAdd("m", Val("&h00"), toto)
  toto = DateAdd("d", Val("&h16"), toto)
  MsgBox toto   '======>>>>> donne bien23/01/2007
End Sub