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