CreateFile - WriteFile с повышенными привилегиями

268
user123581321

Я получаю исключение ошибки 5 при отказе в доступе при попытке перезаписать секторы, принадлежащие системным файлам, но может успешно работать на других секторах. Затем я демонтировал (mountvol X: / p) определенный раздел, связанный с ними секторами, но безрезультатно. Мне нужно решение, потому что я провожу эксперимент с целью лучшего понимания и, в конечном итоге, возможности восстановления поврежденного $ MFT. Благодарю.

Путь "\\.\PhysicalDrive1"

 Public Function WriteBytes(ByVal path As String, _ ByVal OFFSET_POS As Long, ByVal data As Byte()) As Boolean  Dim handle As IntPtr = IntPtr.Zero handle = CreateFile(path, FileAccess.ReadWrite, FileShare.ReadWrite, _ IntPtr.Zero, FileMode.Open, FileAttributes.Normal, IntPtr.Zero)  Dim bytesWritten As UInteger Dim nativeOverlapped = New NativeOverlapped With { .OffsetLow = 0, .OffsetHigh = 0 }   Dim msg As Boolean = SetFilePointerEx(handle, OFFSET_POS, IntPtr.Zero,  MoveMethod.FILE_CURRENT)  Debug.WriteLine(String.Format(": Setting Sector to position ", _ msg, OFFSET_POS \ 512))   If Not WriteFile(handle, data, CUInt(data.Length), _ bytesWritten, nativeOverlapped) Then   Debug.WriteLine(String.Format("Unable to write to the volume. Error code: ", Marshal.GetLastWin32Error()))   Return False End If  Return True End Function 
0

0 ответов на вопрос