Hi:
我最近在做一個專案,其中對sd卡的操作,我需要實作檔案的洗掉和徹底洗掉。
檔案洗掉很簡單,呼叫remove函式就可以了,徹底洗掉檔案,我不知道該如何做。
linux的shred或者wipe命令可以實作,但是我不能用system(), 大家有什么建議么?
uj5u.com熱心網友回復:
還要實作永久保存。我有個思路是,在sd卡建立一個永久保存的磁區,格式化的時候不洗掉這個磁區,這算永久保存。
對于要永久洗掉的檔案,我建立一個磁區,把該檔案放到這個磁區,然后將其格式化,這樣就永久洗掉了。
這樣的方法是否可行,或者還有什么好辦法么,我感覺我這樣有點蠢。
uj5u.com熱心網友回復:
徹底洗掉,首先你要根據檔案的元資訊(inode),找到檔案資料所在的塊位置,然后把這些位置通通重寫成0uj5u.com熱心網友回復:
如果SD是FAT格式的話, 檔案洗掉只是把檔案目錄表的目錄項用0xD5(應該是這個)標注,實際不動檔案資料。 所以要徹底洗掉,你還得要把檔案所在資料所在的所有扇區都清空。 你可以照這樣思路做。不過檔案永久保存,就不好辦了,如果SD不開啟寫保護的話,那理論上所以SD空間都可以被強制格式化的,而寫保護沒辦法單獨針對一塊區域。一種辦法就是把SD卡分成2兩個磁區, 一個磁區不可見隱藏,另一個磁區正常使用,但用磁區軟體,還是可以找到并洗掉的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/53814.html
標籤:應用程序開發區
上一篇:交叉編譯工具
下一篇:虛擬機啟動不了的問題,請幫忙看看
