25-05-14, 12:31 AM
(23-05-14, 07:13 PM)محمديات كتب : القيم التي سوف يتم تغييرها ليست ثابته في كل الملفات ولكن تتغير من ملف لأخر
ولذلك فاننا سوف نقوم بالبحث اولا عن القيم الموجوده الثابته وهي 46 ونترك بايت ونذهب للبايتين الثابتين اللذي يليه وهما ff 0fكود :
'المصفوفة 1 المراد البحث عنها داخل الملف
Dim Find1 As Byte() = {&HB8, &H0, &H0, &H0}
'المصفوفة 2 المراد البحث عنها داخل الملف
Dim Find2 As Byte() = {&HE, &H1F, &HBA, &HE}
![]()
وشكرا لك
تفضل أخي

كود :
Dim MyBuffer As Byte()
Dim FilePath As String = "D:\0B.bin"
Private Sub OpenButton_Click(sender As System.Object, e As System.EventArgs) Handles OpenButton.Click
Dim MyFileStream As IO.FileStream = Nothing
Try
'تعريف مسار الملف
MyFileStream = New IO.FileStream(FilePath, IO.FileMode.Open, IO.FileAccess.Read)
'مصفوفة من البايت بحجم الملف
Array.Resize(MyBuffer, MyFileStream.Length - 1)
'قرائة الملف حتي النهاية
MyFileStream.Read(MyBuffer, 0, MyBuffer.Length)
Dim SearchIndex As Integer = 0
Do
SearchIndex = Array.IndexOf(Of Byte)(MyBuffer, &H46, SearchIndex)
If SearchIndex <> -1 Then
If (SearchIndex + 28) < MyBuffer.Length Then
Dim Index As Integer = SearchIndex
Dim Ckeck(1) As Byte
Index += 2
Array.ConstrainedCopy(MyBuffer, Index, Ckeck, 0, 2)
If IsArraysEqual(Ckeck, {&HFF, &HF}) Then
Dim Value1(2) As Byte
Index += Ckeck.Length + 2
Array.ConstrainedCopy(MyBuffer, Index, Value1, 0, 3)
TextBox1.Text = ByteArrayToString(Value1, True)
Dim Value2(2) As Byte
Index += Value1.Length + 1
Array.ConstrainedCopy(MyBuffer, Index, Value2, 0, 3)
TextBox2.Text = ByteArrayToString(Value2, True)
Dim Value3(2) As Byte
Index += Value2.Length + 1
Array.ConstrainedCopy(MyBuffer, Index, Value3, 0, 3)
TextBox3.Text = ByteArrayToString(Value3, True)
Dim Value4(2) As Byte
Index += Value3.Length + 1
Array.ConstrainedCopy(MyBuffer, Index, Value4, 0, 3)
TextBox4.Text = ByteArrayToString(Value4, True)
Dim Value5(2) As Byte
Index += Value5.Length + 1
Array.ConstrainedCopy(MyBuffer, Index, Value5, 0, 3)
TextBox5.Text = ByteArrayToString(Value5, True)
Dim Value6(2) As Byte
Index += Value5.Length + 1
Array.ConstrainedCopy(MyBuffer, Index, Value6, 0, 3)
TextBox6.Text = ByteArrayToString(Value6, True)
Exit Do
End If
End If
End If
Loop Until SearchIndex = -1
Finally
If MyFileStream IsNot Nothing Then MyFileStream.Close()
End Try
End Sub