这篇文章给大家分享的是有关如何使用VBS修改二进制文件HEX数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
可用之处还是有的,如:隐藏快捷方式中目标文件位置;破解XP中TCP/IP连接数限制;去掉RAR右键解压菜单等等。
复制代码 代码如下:
Public BinaryData
If (lcase(right(wscript.fullname,11))="wscript.exe") Then
WScript.Quit(0)
End If
If wscript.arguments.count<4 Then
Wscript.Echo "Change File Hex. By: lxzzr lxzzr@21cn.com"
Wscript.Echo ""
Wscript.Echo "Usage: cscript.exe " & WScript.ScriptName & " FilePath SavePath sHEX dHEX"
Wscript.Echo " : cscript.exe CHex.vbs "".\test.exe"" "".\new.exe"" ""80 7A 01 61"" ""80 7A 01 61"""
WScript.Quit(0)
End If
sHEX = Replace(LCase(Wscript.Arguments(2)), " ", "")
dHEX = Replace(LCase(Wscript.Arguments(3)), " ", "")
Wscript.Echo "File: " & Wscript.Arguments(0)
Wscript.Echo "sHEX: " & Wscript.Arguments(2)
Wscript.Echo "dHEX: " & Wscript.Arguments(3)
ReadBinary(Wscript.Arguments(0))
MyData = Replace(BinaryData, sHEX, dHEX)
WriteBinary Wscript.Arguments(1), MyData
Wscript.Echo "All done."
Wscript.Quit(0)
Function ReadBinary(FileName)
Dim Stream, ObjXML, MyNode
Set ObjXML = CreateObject("Microsoft.XMLDOM")
Set MyNode = ObjXML.CreateElement("binary")
Set Stream = CreateObject("ADODB.Stream")
MyNode.DataType = "bin.hex"
Stream.Type = 1
Stream.Open
Stream.LoadFromFile FileName
MyNode.NodeTypedValue = Stream.Read
Stream.Close
BinaryData = MyNode.Text
Set MyNode = Nothing
Set Stream = Nothing
Set ObjXML = Nothing
End Function
Function WriteBinary(FileName, BufferData)
Dim Stream, ObjXML, MyNode
Set ObjXML = CreateObject("Microsoft.XMLDOM")
Set MyNode = ObjXML.CreateElement("binary")
Set Stream = CreateObject("ADODB.Stream")
MyNode.DataType = "bin.hex"
MyNode.Text = BufferData
Stream.Type = 1
Stream.Open
Stream.Write MyNode.NodeTypedValue
Stream.SaveToFile FileName, 2
Stream.Close
Set stream = Nothing
Set MyNode = Nothing
Set ObjXML = Nothing
End Function
感谢各位的阅读!关于“如何使用VBS修改二进制文件HEX数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。