19-05-14, 12:23 AM
تفضل أخي، استبدال صف بدل صف آخر وكود Check Sum قبل وبعد التعديل 

كود :
Imports System.Security.Cryptography
Dim MyFileStream As IO.FileStream = Nothing
Try
'تعريف مسار الملف
MyFileStream = New IO.FileStream("D:\test.exe", IO.FileMode.Open, IO.FileAccess.ReadWrite)
'كود التحقق قبل التعديل على الملف
Using CheckSum As MD5 = MD5.Create()
Dim Result As String = BitConverter.ToString(CheckSum.ComputeHash(MyFileStream)).Replace("-", "")
MessageBox.Show("MD5 before edit: " & vbCr & Result, "MD5", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Using
'تعريف مصفوفتين من البايت عدد عناصرهما 16
Dim Buffer1(15) As Byte
Dim Buffer2(15) As Byte
'الانتقال إلى الصف الثالث وعنوانه 00
MyFileStream.Seek(&H0, IO.SeekOrigin.Begin)
'قرائة الصف الأول وهو مكون من 16 بايت
MyFileStream.Read(Buffer1, 0, Buffer1.Length)
'الانتقال إلى الصف الثالث وعنوانه 30
MyFileStream.Seek(&H30, IO.SeekOrigin.Begin)
'قرائة الصف الثالث وهو مكون من 16 بايت
MyFileStream.Read(Buffer2, 0, Buffer2.Length)
'الانتقال إلى الصف الأول وعنوانه 00
MyFileStream.Seek(&H0, IO.SeekOrigin.Begin)
'استبدال الصف الأول بالثالث
MyFileStream.Write(Buffer2, 0, Buffer2.Length)
'الانتقال إلى الصف الثالث وعنوانه 30
MyFileStream.Seek(&H30, IO.SeekOrigin.Begin)
'استبدال الصف الثالث بالأول
MyFileStream.Write(Buffer1, 0, Buffer2.Length)
'الانتقال لبداية الملف
MyFileStream.Seek(&H0, IO.SeekOrigin.Begin)
'كود التحقق بعد التعديل على الملف
Using CheckSum As MD5 = MD5.Create()
Dim Result As String = BitConverter.ToString(CheckSum.ComputeHash(MyFileStream)).Replace("-", "")
MessageBox.Show("MD5 after edit: " & vbCr & Result, "MD5", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Using
Finally
If MyFileStream IsNot Nothing Then MyFileStream.Close()
End Try