Vbscript 将注册表二进制值转换为有意义的字符串

Vbscript 将注册表二进制值转换为有意义的字符串,vbscript,registry,binary-data,Vbscript,Registry,Binary Data,我正在寻找一种方法或Vbscript,可以将注册表项的二进制值转换为sting 例如,我认为这是我的关键: [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,我可以替换其中的键并接收结果,我将非常感谢您:)好的。使用这段

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

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

[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,我可以替换其中的键并接收结果,我将非常感谢您:)

好的。使用这段代码来完成您的工作。 查看如何获取注册表值并将其转换

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  

Const HKEY\u CURRENT\u USER=&H80000001
objreg=GetObject(“winmgmts:&”
“{impersonationLevel=impersonate}!\\”&\u
strComputer&“\root\default:StdRegProv”)
objreg.GetBinaryValue HKEY_当前_用户,“系统\Majid”,“文件路径”,stretval
MsgBox RegBinaryToString(stretval)
函数RegBinaryToString(arrValue)
strInfo=“”
对于i=0到uBond(arrValue)
如果arrValue(i)为0,则strInfo=strInfo&chr(arrValue(i))
下一个
RegBinaryToString=strInfo
端函数

Hi roch,谢谢你的回复,但是我应该把我的二进制代码放在哪里转换呢?Const HKEY\u CURRENT\u USER=&H80000001 objreg=GetObject(“winmgmts:&”{impersonationLevel=impersonate}!\\“&”strComputer&“\root\default:StdRegProv”)objreg.GetBinaryValue HKEY\u CURRENT\u\u用户,“System\Majid”,“FilePath”,strRetVal MsgBox RegBinaryToString(strRetVal)函数RegBinaryToString(arrValue)strInfo=“”用于i=0到ubound(arrValue),如果arrValue(i)0,则strInfo=strInfo&chr(arrValue(i))next RegBinaryToString=strInfo end FUNCTION很抱歉上面的代码。试图格式化它,但无法使其正常工作:~因此我更改了原始答案。嗨,罗奇,再次感谢,但第2行字符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