VB 如何用16进制替换指定的字节

求助 VB 怎么用16进制替换指定的字节
Dim bit() As Byte, l As Long
    Open "c:\1.dll" For Binary As #1
    ReDim bit(LOF(1)) As Byte
    Get 1, 1, bit
    Close 1
     
    '查找并替换写入到数组
    For l = 0 To UBound(bit) - 10
        If bit(l) = &H1 And bit(l + 1) = &H23 And bit(l + 2) = &HFF And bit(l + 3) = &HFF And bit(l + 4) = &H34 Then
           
            bit(l + 1) = CLng("&H" & "FF")
            MsgBox "1"
        End If
        
        Exit For
    Next
     
    '写入到文件
    Open "c:\1.dll" For Binary As #1
    Put 1, 1, bit
    Close 1
   
End Sub
这个只能替换开始的位置
怎么可以在任意位置符合的条件就替换
------解决思路----------------------
对啊,我发给你的那代码也没有exit for啊

另外 UBound(bit) - 10应该是UBound(bit) - 3,别替换漏了
------解决思路----------------------
引用:
UBound(bit) - 10  这个是不是必须位数一样啊    比如的  11 22 33 44  55UBound(bit) - 4

你要的是比较连续5个字节,所以应该是:
For l = 0 To UBound(bit) - 4

因为超过 UBound(bit) - 4 后所剩的字节个数已经不足5个啦,所以没有必要比较了
------解决思路----------------------

    For l = 0 To UBound(bit) - 4
        If bit(l) = &H1 And bit(l + 1) = &H23 And bit(l + 2) = &HFF And bit(l + 3) = &HFF And bit(l + 4) = &H34 Then
            bit(l + 1) = CLng("&H" & "FF")
            I = I + 4
        End If
    Next