dword: = DWORD
hex(2): = Chaîne extensible
hex(7): = Multi-String
A DWORDest un entier non signé 32 bits (plage décimale: 0- 4294967295) et, dans le registre, a DWORDcommence toujours par 0xet comporte 8 chiffres qui suivent 0x. Cela peut être au format décimal ou hexadécimal; par exemple, 1000peut être écrit comme 0x00001000ou 0x000003e8.
DWORDSne peut utiliser que les chiffres 0- 9. Les chaînes, de toute sorte, utilisent toujours ASCII, et en ACSII, 1000ne peuvent être écrites qu'en 31,30,30,30. Pour le type de données String, ASCII fonctionne en arrière-plan sans même que vous le sachiez car l'ordinateur ne comprend que les 1 et les 0.
Pour les types de données à chaîne extensible et à chaînes multiples, ceux-ci enregistrent vos entrées sous la forme d'une série de codes ASCII au format hexadécimal, séparés par des virgules et des zéros hexadécimaux; donc une chaîne extensible 1000seraithex(2):31,00,30,00,30,00,30,00
Convertissons %PROGRAMFILES%en une chaîne extensible:
- Utilisez un outil de conversion ASCII en hexadécimal , entrez
%PROGRAMFILES%dans la zone de texte, délimiteur de sortie défini par l'utilisateur:, %sélectionnez Convertir, et cela vous donnera:
%25%50%52%4F%47%52%41%4D%46%49%4C%45%53%25
- Copiez / collez le résultat dans un éditeur de texte: déplacez le premier
%à la fin, recherchez / remplacez tout %par ,00,et supprimez la virgule à la fin de la chaîne. Tu devrais obtenir:
25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00
- Finalement:
hex(2):25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00
Cette leçon contient toutes les connaissances nécessaires pour effectuer une rétro-ingénierie de toute entrée de registre à code hexadécimal non chiffrée.
.batfichier avec uneregcommande au lieu d'un.regfichier), mais pourquoi parle-t-il de REG_MULTI_SZ lorsque la question concerne REG_EXPAND_SZ?