Binary 在bin文件中搜索字节并查找地址?程序设计
例如,是否可能:Binary 在bin文件中搜索字节并查找地址?程序设计,binary,Binary,例如,是否可能: Dim B1() as byte = {&H20 , &H20, &H20} Dim B2() as byte = {&H30 , &H30, &H30} Dim B3() as byte = {&H40 , &H40, &H40} Dim File() As Byte = My.Computer.FileSystem.ReadAllBytes("C:\.....file.bin")
Dim B1() as byte = {&H20 , &H20, &H20}
Dim B2() as byte = {&H30 , &H30, &H30}
Dim B3() as byte = {&H40 , &H40, &H40}
Dim File() As Byte = My.Computer.FileSystem.ReadAllBytes("C:\.....file.bin")
是否可以搜索:如果File()包含B1()debug.write(找到它的地址),如果没有,则搜索B2如果找到,如果没有,依此类推,直到它全部完成?
是否可以将字节数组存储在文本文件中,并使其逐行循环,直到结束,并列出所有找到的和未找到的?
例如,文本文件将包含:20,20,20
30,30,30
40,40,40
然后一行一行地穿过它们?
到目前为止,我设法找到了一个,但我不知道如何使它在许多地方循环
Function ByteMatch(ByVal Source As Byte(), ByVal Match As Byte()) As Integer
For I As Integer = 0 To Source.Count - 1
Dim Matched As Boolean = False
If Match(0) = Source(I) Then
For J As Integer = 1 To Match.Count - 1
Matched = True
If Match(J) <> Source(I + J) Then
Matched = False
Exit For
End If
If Matched Then Return I
Exit For
Next J
End If
Next I
Return -1
End Function
Public Sub FindBytes()
Try
Dim B() As Byte = My.Computer.FileSystem.ReadAllBytes(Form1.FILE_LOCATION)
Dim C() As Byte = {&H9, &H4, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H10, &HF, &H0, &HF, &H6A, &H1F, &H7F, &HF, &H5D, &H1F, &H0, &H0}
Dim P As Integer = ByteMatch(B, C)
If P = -1 Then
Else
Debug.Write(P.ToString)
End If
Catch ex As Exception
End Try
End Sub
函数ByteMatch(ByVal源为Byte(),ByVal匹配为Byte())为整数
对于I,作为整数=0到Source.Count-1
匹配为布尔值的尺寸=False
如果匹配(0)=源(I),则
将J作为整数=1进行匹配。计数-1
匹配=真
如果匹配(J)源(I+J),则
匹配=错误
退出
如果结束
如果匹配,则返回I
退出
下一个J
如果结束
接下来我
返回-1
端函数
公共子FindBytes()
尝试
Dim B()作为Byte=My.Computer.FileSystem.ReadAllBytes(Form1.FILE\u位置)
Dim C()作为字节={&H9,&H4,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&HF,&H6A,&H1F,&H7F,&H5D,&H1F,&H0,&H0}
Dim P作为整数=字节匹配(B,C)
如果P=-1,那么
其他的
Debug.Write(P.ToString)
如果结束
特例
结束尝试
端接头
提前谢谢