Re: [問題] 刪除硬碟所有資料

看板C_and_CPP作者 (tylpk)時間10年前 (2013/08/06 19:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《tylpk (tylpk)》之銘言: : 最近在整理公司硬碟準備做銷毀, : 在使用工具銷毀資料的過程中, : 想到幾個有關程式的問題, : 想跟各位前輩請教。 : 1.銷毀資料的工具軟體,裡面有內含一些演算法, : 例如 one pass by zero or DoD 5220.22-M 等 : 為什麼需要這些演算法呢? : 如果我可以從磁碟的第1個byte寫亂數資料到最後1個byte(All sectors) : 這樣不就可以達到銷毀資料的目的,為什麼還要分寫幾次? : 是因為不太可能這樣做,還是實際上不可能拜訪到每1個byte? : 2.如果我要用C語言寫類似 DiskWipe 的工具,我要如何去做呢? 這幾天查了一些資料,給大家參考看看。 用 Win32 API 的 CreateFile,第1個參數用 \\.\C:,便可以讀取C槽的整個磁區, 用 SetFilePointer,可以移動到最前面(第1個Sector), 如果想知道硬碟的 Sector 數等資訊, 可以用 DeviceIoControl,第2個參數用 IOCTL_DISK_GET_DRIVE_GEOMETRY。 以上是在硬碟只有1個分割區的情況下測試, 接下來就是演算法的問題了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.237.4
文章代碼(AID): #1I0E68gE (C_and_CPP)
文章代碼(AID): #1I0E68gE (C_and_CPP)