使用VBS修改二进制文件HEX数据
使用VBS修改二进制文件HEX数据
发布时间:2016-12-28 来源:查字典编辑
摘要:可用之处还是有的,如:隐藏快捷方式中目标文件位置;破解XP中TCP/IP连接数限制;去掉RAR右键解压菜单等等。复制代码代码如下:Publi...

可用之处还是有的,如:隐藏快捷方式中目标文件位置;破解XP中TCP/IP连接数限制;去掉RAR右键解压菜单等等。

使用VBS修改二进制文件HEX数据1

复制代码 代码如下:

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学习
热门vbs学习
脚本专栏子分类