Код ошибки 5 при выполнении createfile - writefile в сектор $MFT
Я могу перезаписать секторы внешнего жесткого диска, за исключением защищенных файлов, в моем случае при попытке перезаписать секторы, где сохраняется MFT.
Как передать любые атрибуты безопасности, которые позволят мне выполнить эту задачу.
<pre> 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("{0}: Setting Sector to position {1} ", _ 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: {0}", Marshal.GetLastWin32Error())) Return False End If Return True End Function
Что я уже пробовал:
Выполнение этой задачи в повышенном режиме. Установите права доступа к нарушающему разделу на полный контроль для всех.
[no name]
Я читал, что Vista и Win7 ограничили перезапись MBR или системных файлов, когда том монтируется и используется файловой системой. Я удалил букву диска, таким образом размонтировав раздел, но я все еще получаю ошибку 5, даже когда читаю с PhysicalDrive1.