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
新闻热点
疑难解答