将Registry BINARY值转换为有意义的字符串

时间:2011-09-13 11:33:38

标签: vbscript registry binary-data

我正在寻找一种可以将注册表项的二进制值转换为sting的方式或Vbscript。

例如,认为这是我的关键:

[HKEY_CURRENT_USER\System\Majid]
"FilePath"=hex:50,4f,2b,2a,90,93,e0,11,80,01,44,45,53,54,00,00

它被翻译为:PO + *گ“à€DEST

但这究竟是什么意思?我想将这个奇怪的值解码成有意义的单词。 如果你能给我一个简单的vbscript我可以替换它中的密钥并收到结果,我会非常感谢你:))

2 个答案:

答案 0 :(得分:3)

确定。使用这段代码来做你的事情。 了解我如何获取注册表值并将其转换。

Const HKEY_CURRENT_USER = &H80000001  
objreg = GetObject("winmgmts:" & _  
      "{impersonationLevel=impersonate}!\\" & _  
      strComputer & "\root\default:StdRegProv")  


objreg.GetBinaryValue HKEY_CURRENT_USER, "System\Majid", "FilePath", strRetVal  

MsgBox RegBinaryToString(strRetVal)  

function RegBinaryToString(arrValue)  
 strInfo=""  
  for i=0 to ubound(arrValue)  
   if arrValue(i)<>0 then strInfo=strInfo & chr(arrValue(i))  
  next  
 RegBinaryToString=strInfo  
end function  

答案 1 :(得分:1)

Set objRegistry = CreateObject("Wscript.shell")
target = objRegistry.RegRead("HKCU\System\Majid\FilePath")
output = ""
for k = LBound(target,1) To UBound(target,1)
    output = output & chr(eval("&H"& hex(target(k))))
next
msgbox output