将注册表导出为.REG文件后,如果包含类型为REG_EXPAND_SZ(可扩充字符串值)的字符串值,注册表数据会变成十六进制数据,格式为hex(2):开头,后面为具体十六进制数据。注册表HEX转文本的步骤

删除hex(2):
删除所有的\和换行符 让全部内容在同一行
删除所有的,00
删除所有的, 得到字符串255553455250524f46494c45255c5069637475726573

在网上找一个十六进制转文本的工具,输入上面得到的字符串,转码即可得到结果%USERPROFILE%\Pictures. 其实也可以自己将逗号隔开的每组十六进制数据转换成十进制数据,然后对应ASCII码表将十进制数字转成对应的字符。
将注册表HEX数据转成文本的这些过程中涉及的删除操作可以使用文本编辑软件的查找替换功能实现。
注册表文件中的HEX十六进制数据格式如下所示

"My Pictures"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,\
  00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,\
  00,00

注册表正常的适合人类阅读的文本内容格式如下所示

"My Pictures"="%USERPROFILE%\\Pictures"

参考1:https://www.51-n.com/t-4526-1-1.html
参考2:https://www.sojson.com/hexadecimal.html

评论已关闭