标题 | 使用VBS修改二进制文件HEX数据 |
内容 | 利用VBS修改二进制文件HEX数据。第一个参数为原文件,第二个参数为修改后的文件,第三个参数为原HEX值,第四个参数为修改后的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 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。