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

可用之处还是有的,如:隐藏快捷方式中目标文件位置;破解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

时间: 2024-10-02 22:54:50

使用VBS修改二进制文件HEX数据_vbs的相关文章

使用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 wscr

用VBS读写二进制文件的另一种方法分享_vbs

之前写的那篇给出的方法虽然不错,但是当文件过大时(其实很小,也就几M),对应的数组也会很大,然后会出现运行时错误,提示内存耗尽,为此我郁闷了好久. 最近在博客的流量记录中发现百度关键字"一些很恶作剧的vbs程序"(看来现在的年轻人很喜欢玩这口),于是打开久违的百度搜索了一下,发现出现在第三.出现在第二的是百度HI,上面也是一个恶作剧程序,而且还是加密的.我尝试着解密,却发现这个加密似乎比前几天解密的那个病毒更变态,未果. 虽然我没有把那个程序解密出来(如果哪位真正的高手会,麻烦指点一下

用VBS修改(设置)系统时间和日期的代码_vbs

那天跟别人聊到 Y2K38 问题,于是想到一个恶作剧:用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题.那么怎样用 VBS 修改系统的时间呢? 最简单也是最没有技术含量的方法就是调用 cmd 的 date 和 time 命令: 复制代码 代码如下: 'Author: Demon 'Website: http://demon.tw 'Date : 2011/4/27 Dim WshShell Set WshShell = Cr

用VBS修改远程桌面3389端口并添加到Windows防火墙的代码_vbs

将下面代码存为.vbs,双击运行.然后重启一下系统,就修改了系统的远程桌面的默认的3389端口 '##################### 'VBS修改远程桌面的默认端口,并添加至Windows防火墙 '作者51windows.Net '56868为要设置的端口 '##################### Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKEY_LOCAL_M

ef 通过DbCommandInterceptor 修改数据库连接 添加数据异常

问题描述 ef 通过DbCommandInterceptor 修改数据库连接 添加数据异常 我想实现数据库的读写分离 ef6里面加了DbCommandInterceptor的功能可是修改以后 在添加新数据的时候 抛出异常 "基础提供程序在 Commit 上失败 值不能为 null. 参数名: connection"但是数据已经成功添加那位前辈读到过这个问题呢 请指导 public class EntityCommandInterceptor: DbCommandInterceptor

【BBED】使用bbed修改字符类型数据

前面几篇文章介绍了bbed的使用语法规则,这篇介绍如何更改字符类型的数据. yangobj表是由scott.emp经过CTAS 创建的表. SQL> select * from yangobj;      EMPNO ENAME                          JOB               MGR HIREDATE                  SAL       COMM     DEPTNO ---------- -------------------------

代码-指定修改某条数据的写法

问题描述 指定修改某条数据的写法 直接上代码先 模板: 代码不知道为什么显示不出来 我直接叙述吧 就是我有一个select 下面两个option 一个value是0 一个是1 我现在要在TP 的控制器里面写修改 只修改value是1的 怎么弄修改的sql语句里面的where吖? 我想的是 where id 但是对应的id我不知道怎么传值过去 控制器 public function admin(){ if(IS_POST){ print_r($_POST); } } 我现在要只修改status为0

通过vbs修改目录名称与快捷方式名称的实现代码

这篇文章主要是分享了如果用vbs修改目录名与快捷方式名称的代码,需要的朋友可以参考下   复制代码 代码如下: set fso=wscript.createobject("scripting.filesystemobject") OldFolderName1="263 Enterprise Messenger" newFolderName1="Peacemap Messenger" OldFileName1 = "263 Enterpr

代码-easyui dialog点修改按钮将当前修改行的数据赋值给修改窗口的文本框?

问题描述 easyui dialog点修改按钮将当前修改行的数据赋值给修改窗口的文本框? 我需要点击修改按钮时,将我当前选中行的数据对应的赋值给dialog弹出的修改窗口,看一下代码吧 { text: '修改', iconCls: 'icon-edit', handler: function () { var row = $('#tab').datagrid('getSelected'); if (row == null) { $.messager.alert("系统提示", &quo