1. 程式人生 > >[原始碼和文件分享]程式設計實現對硬碟全盤資料進行讀寫資料擦除

[原始碼和文件分享]程式設計實現對硬碟全盤資料進行讀寫資料擦除

背景

在 XP 系統下下,我們可以直接呼叫 WirteFile 函式對磁碟寫入資料,但到了 Windows 7 以及 Windows 7 版本以上的系統,就已經開始變得不那麼簡單了。

在 Windows 7 及以上版本中,對檔案系統和儲存堆疊進行的更改,限制對磁碟和卷的直接訪問,但是,在以下情況,儲存驅動器可以寫入磁碟控制代碼:

  • 正要寫入的扇區不位於卷內(空隙塊與分割槽表)。注意:程式使用卷之外的扇區來儲存元資料。分割槽表也位於卷之外的扇區中。由於這些扇區不受任何檔案系統的控制,因此沒有理由阻止對這些扇區的訪問

  • 已經通過鎖定請求或解除安裝請求顯式鎖定卷

  • 正要寫入的扇區位於未安裝或者無檔案系統的卷內(這個是原生磁碟塊,沒有受作業系統的管理,當然可以隨便寫)

本文介紹的是使用第 2 種方法,通過鎖定請求或解除安裝請求顯式鎖定捲來實現對磁碟資料的讀寫。現在把實現過程的實現原理整理成文件,分享給大家。


參考文件和完整的文件和原始碼下載地址:

https://www.write-bug.com/article/1905.html