會員 | 如何在Win2000之下讀取MBR的內容? 各位高手: 因為想要把資訊放在不會被format掉的地方,所以才想問大家:有沒有辦法在win2000運作之下讀取MBR之中的資料? 或者:有沒有辦法在win2000之下讀取指定的磁軌?這樣我可以把資訊放在non-partition的剩餘空間。 請大家提供意見,謝謝! Mega |
回覆 |
校長兼撞鐘 | 有那麼神奇的作法 ? 你確定你有做過或是聽說過嗎 ? MBR 的小小空間恐怕並不足以讓您去儲存您需要儲存的檔案 所以可能是無解吧 |
回覆 |
會員 | MBA 的空間好像連1 MB都沒有吧~~ |
回覆 |
會員 | 感謝各位的回應。 我只想存一組字串類似ID作為辨識,只要幾個bite就可以了。 在window2000之下,好像要自己寫driver才能直接存取硬碟,所以想請問大家有沒有其他的方法可以直接讀取指定磁區的資料。 |
回覆 |
潛字第1號 | Re: 如何在Win2000之下讀取MBR的內容? 引用:
如果MBR沒有記錄的partition你要如何將檔案存進去??? 如果你怕被人format你可利用windows2000的permission來限制user 不必大廢周章的去玩MBR,風險實在是太大了吧?? 而且只要拿得到你的hd的人還是可以format你的hd的.... ps:你如果真的想要搞的話,你可以參考一下旗標出版的"PCDIY2000硬碟玩家實戰" 第九章,裡面有你想要的工具和解說.保重~~~ | |
回覆 |
會員 | 我想你應該想做類似保護的程式吧. 可用 CreateFile 的方式來存取 MBR. 但你必須是 Administrator hDevice = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); 然後再用 SetFilePointer(hDevice, 0, 0, 0); 便可移到 MBR (Offset 單位是 Bytes) 一個 Sector = 512 Bytes. |
回覆 |
潛字第1號 | 引用:
能不能麻煩你解釋清楚一點 謝謝你 | |
回覆 |
會員 | CreateFile & SetFilePointer 為 WIN32 API. 當你檔名為 \\.\PhysicalDrive0 指的就是第一個硬碟. 因此你可用 CreateFile 來開啟 \\.\PhysicalDriver0 再用 SetFilePointer 來指定所要讀或寫的 Sector (MBR:Cylinder 0 Head 0 Sector 1) 接下來便用 ReadFile/WriteFile 來讀寫硬碟的資料 在 SetFilePointer 中的 Offset 等於你所要存取的 Sector No * 512 在以前 DOS 下, Norton Disk Editor 為最好的硬碟編輯程式(有人喜歡 PCTOOLS) 在 32 bits Windows 下, 我知道的只有 WinHex 比較好用 (但還是比不上 DiskEditor) |
回覆 |
潛字第1號 | 3Q~ |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。