万用特征码文件补丁器

程序目的:

程序启动后,默认加载config.prg
窗体老虎上,
通过鼠标右键,可以选择更改配置文件config.prg,为各种文件进行补丁。
通过鼠标左键,即可选择目标文件,根据配置文件的特征码修改原文件,达到修改原文件的补丁功能!

有了此编译程序!!只要发布或下载,获得相应补丁配置文件 config.prg即可对相应文件进行修改补丁!!

万用特征码程序补丁器的配置文件config.prg,可以设置任何目标文件,
第一行为目标文件文件名,
第二行为目标文件版本,
以下其它行,每二行十六进制码为对应的原始码补丁码

必须保证特征码的唯一性!!才能保证程序修改正确!!特征码十六进制码空格必须有且只能一个!!

例如config.prg文件内容如下:
某程序
R1 V11.2.160.168
8B D8 48 85 C0 75 08 8D 43 FF
31 C0 90 90 90 90 90 90 90 90
80 7F 60 00 74 10 45 33 C0 48 8B 57 58 48 8B 4D 98 E8 4F 1C 4F
80 7F 60 00 EB 10 45 33 C0 48 8B 57 58 48 8B 4D 98 E8 4F 1C 4F
04 00 00 85 C0 74 07 BB 01 00 00 00
04 00 00 85 C0 74 00 BB 01 00 00 00
0F B6 C0 85 C0 74 56
0F B6 C0 85 C0 74 00
F3 FF FF 83 F8 FF 75
F3 FF FF 83 F8 FF EB
48 01 00 00 C1 92 35 7C
00 00 10 00 C1 92 35 7C

VB.net代码如下:


Imports System.IO
Imports System.TextPublic Class Form1Dim TargetFileName As String '目标文件名Dim TargetFilePathName As String '目标完整文件名Dim OpenFileDialog1 As New OpenFileDialog '声明打开对话框Dim SourceHex() As String '原始特征码Dim PatchHex() As String '补丁特征码Dim ConfBool As Boolean '是否有配置文件Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.LoadDim ConfigFile = Application.StartupPath & "\config.prg" '目标特征码配置文件OpenConfigFile(ConfigFile)End SubPrivate Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClickIf e.Button = MouseButtons.Left Then'鼠标左键对目标文件进行补丁If Not ConfBool Then Exit SubWith OpenFileDialog1 '定义打开对话框属性.Filter = "可执行文件(*.exe)|*.exe|库文件(*.dll)|*.dll|所有文件(*.*)|*.*".FilterIndex = 1.Title = "打开目标文件".FileName = TargetFileName.InitialDirectory = My.Computer.FileSystem.CurrentDirectory '首选当前目录End WithIf OpenFileDialog1.ShowDialog = DialogResult.OK ThenTryTargetFilePathName = OpenFileDialog1.FileName '完整目标文件名Dim Pos As Integer = InStrRev(TargetFilePathName, ".") - 1Dim BakFilePathName As String = Mid(TargetFilePathName, 1, Pos) & "-Bak" & Mid(TargetFilePathName, Pos + 1) '完整备份文件名Dim FSData() As Byte = File.ReadAllBytes(TargetFilePathName) '目标文件读入字节数组Rename(TargetFilePathName, BakFilePathName) '目标文件改名备份Dim PatchNum As Integer = SourceHex.Length - 1 '补丁个数Dim SourceByte() As Byte '原始特征码字节数组Dim PatchByte() As Byte '补丁特征码字节数组For i As Integer = 1 To PatchNumDim HexStr() As String = Split(SourceHex(i), " ") '将十六进制特征码按空格拆分为字符串数组Dim HexNum As Integer = HexStr.Length - 1 '字符串数组个数ReDim Preserve SourceByte(HexNum)ReDim Preserve PatchByte(HexNum)For j As Integer = 0 To HexNumSourceByte(j) = CByte("&H" & HexStr(j)) '原始特征码转换为字节数组NextHexStr = Split(PatchHex(i), " ") '将补丁的十六进制特征码按空格拆分为字符串数组For k As Integer = 0 To HexNumPatchByte(k) = CByte("&H" & HexStr(k)) '补丁特征码转换为字节数组NextDim Index As Integer = IndexOf(FSData, SourceByte) '检索原始特征码在程序中的索引位置If Index <> -1 Then '特征码匹配Dim P As Integer = 0Dim Indexs As Integer = Index + PatchByte.Length - 1For m As Integer = Index To IndexsFSData(m) = PatchByte(P) '替换特征码P += 1NextEnd IfNextFile.WriteAllBytes(TargetFilePathName, FSData)MessageBox.Show("完成程序补丁!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)Catch ex As ExceptionMessageBox.Show("配置文件中错误:" & vbCrLf & "1、原始特征码和补丁特征码不匹配,不符合设定!" & vbCrLf & "2、特征码十六进制空格或位数不符合设定!" & vbCrLf & vbCrLf & ex.StackTrace, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error)End TryEnd IfElseIf e.Button = MouseButtons.Middle ThenAboutBox.Show()     ElseIf e.Button = MouseButtons.Right Then'鼠标右键打开或更改配置文件With OpenFileDialog1 '定义打开对话框属性.Filter = "目标配置文件(*.prg)|*.prg".FilterIndex = 1.Title = "更改目标配置文件".InitialDirectory = My.Computer.FileSystem.CurrentDirectory '首选当前目录End WithIf OpenFileDialog1.ShowDialog = DialogResult.OK ThenDim TargetFilePathName = OpenFileDialog1.FileNameOpenConfigFile(TargetFilePathName)End IfEnd IfEnd Sub''' <summary>打开或更改配置文件</summary>''' <param name="ConfigFilePathName">配置文件含完整目录全称</param>Private Sub OpenConfigFile(ByVal ConfigFilePathName As String)If File.Exists(ConfigFilePathName) ThenTryDim TargetFile As New StreamReader(ConfigFilePathName, Encoding.UTF8)Dim i As Integer = 0SourceHex = NothingPatchHex = NothingDo While TargetFile.Peek() > 0ReDim Preserve SourceHex(i)ReDim Preserve PatchHex(i)SourceHex(i) = TargetFile.ReadLine '读行PatchHex(i) = TargetFile.ReadLinei += 1LoopTargetFile.Dispose() '注销文件流TargetFileName = SourceHex(0) '目标文件名Dim TargetFileVer As String = PatchHex(0) '目标版本Me.Text = "万用特征码补丁器 [" + TargetFileName + " " + TargetFileVer + "]"ConfBool = TrueCatch ex As ExceptionConfBool = FalseMessageBox.Show("配置文件错误:" & vbCrLf & "配置文件非法或不符合设定!" & vbCrLf & vbCrLf & ex.StackTrace, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error)End TryElseMe.Text = "万用特征码补丁器 [无配置文件 Config.prg]"ConfBool = False End If    End Sub

程序编译后,进程、经过测试,已经完美可靠实用,补丁运行速度快!

编译程序已经上传,压缩包含完整 VB.NET 源代码和编译程序,在下面链接下载

https://download.csdn.net/download/zyyujq/79370250

万用特征码文件补丁器相关推荐

  1. 使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全 ...

  2. win11文件资源管理器

    win11文件资源管理器卡顿bug 拖动卡顿,处理器占用飙升 微软承认Win11 文件资源管理器性能Bug,修复补丁正在测试 改回win10版本的文件资源管理器方法在一次更新后已经失效 使用第三方文件 ...

  3. 系统垃圾文件清理器 制作:China Doll (莫增成)

    @echo off ::修正于2018-10-06 color 4a Title 系统垃圾文件清理器 制作:China Doll (莫增成) echo. echo ================== ...

  4. bridge cc2021|adobe bridge cc 2021中文直装版(文件资源管理器) v11.0.0.83

    adobe bridge cc 2021是adobe公司最新发布的一款功能强大的文件资源管理器,由于该软件可以很好的帮助用户管理电脑文件,因此受到了极大的欢迎,使用它可以帮助用户让电脑里面的文件排列井 ...

  5. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。

    我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用"资源管理器"来管理文档,但是有时候,点击"使用资源管理器打开",会提示如下 ...

  6. Linux 下高级日志文件查看器Log File Navigator

    Log File Navigator,简称lnav,是一款面向小规模的适用于 Linux 的高级日志文件查看器.它是一个终端应用程序,可以理解您的日志文件,让您轻松找到问题,几乎不需要什么设置. ln ...

  7. elementui如何在input 框中搜索_在 Windows 10 中的文件资源管理器中删除搜索历史记录...

    Windows 资源管理器带有搜索功能,用户可以通过该功能找到特定的文件或文件夹.默认情况下,您在搜索框中进行的所有搜索都会保存到其历史记录中.下次您在搜索框中输入内容时,它将在下拉对话框中显示最近输 ...

  8. 【玩转.Net MF – 03】远程文件查看器

    虽说目前.Net Micro Framework已经支持文件系统(FAT16/FAT32),但在远程还无法直接访问,从某种意义上讲,无法和PC交互的存储介质显得有些鸡肋.我做SideShow相关开发的 ...

  9. 基于特征码文件恢复工具magicrescue

    基于特征码文件恢复工具magicrescue 常见类型的文件都包含一些特殊的字节,用来标识文件的类型.这些字节被称为特征码.在磁盘中,当记录文件存储位置的簇损坏后,就可以基于这些特征码来恢复文件.针对 ...

最新文章

  1. Dynamics CRM Publisher
  2. MySQL下使用Inplace和Online方式创建索引的教程
  3. 微信小程序 开发过程中遇到的坑(一)
  4. 百面机器学习——第一章特征工程
  5. python thread join timeout_了解thread.join(超时)
  6. SharePoint 开发系列之三:开发工具和流程
  7. TCP、UDP及IP协议总结
  8. Android 10 vs iOS 13,逐鹿手机操作系统之王!
  9. 软件开发实践的24条军规
  10. 一个JavaScript读取XML的问题
  11. 写在2012的最后一天
  12. python thrift 示例
  13. 1、数据结构的基本逻辑结构、存储结构和运算
  14. 实战--接入最坑的支付宝
  15. Epub电子书的格式(二)
  16. 洪水!(Flooded!)
  17. supervisor+cesi多服务器进程集中管理
  18. 第7章第33节:五图排版:错落有致的波浪式排版 [PowerPoint精美幻灯片实战教程]
  19. 中国最大的传奇私服发布站和盛大的关系
  20. Part-Ⅱ7.交流等效电路模型-7.2基本的交流建模方法

热门文章

  1. Docker报错误Cannot connect to the Docker daemon
  2. 微.解析FoMo3D及其赝品(含智能合约解释)
  3. 梆梆安全亮相网络安全博览会 矢志保护智能生活
  4. 《管理学原理》题库(4套)
  5. catia2017安装包打开没反应_【机械设计】Catia V5-6R2017软件安装教程
  6. R语言使用MatchIt包进行倾向性匹配分析、使用match.data函数构建匹配后的样本集合、使用可视化分析检验倾向性评分匹配后样本中的所有协变量的平衡情况
  7. Sunday 算法详解
  8. 文件服务器 s3,AWS S3日志文件通过服务器上传到elk(示例代码)
  9. Mac权限问题,operation not permitted
  10. 网络模拟工具Netem