iOSはファイルを技術的にどのように削除し、潜在的に削除を取り消すことができますか?


11

ここでは、iOSデバイスでのファイル削除に関する興味深い議論があります。問題は、NSFileManagerを使用してファイルを削除した場合、内部で何が起きているのかということでした。

私の理解では、削除はファイルシステムテーブルから対応するファイルエントリを削除することで実行されます。

カウンター引数は、ファイルハンドルが何らかの方法で残り、ファイルを削除済みとしてマークするフラグのみが設定されることです。ユーザーがiOSデバイスへのルートアクセス権を持っていた場合、そのフラグをリセットしてファイルコンテンツを回復できる可能性があります。

どちらの場合でも、ブロックが別のファイルで占有されるまで、実際のファイルの内容は上書きされず、プレーンバイトがフラッシュメモリ/ディスクに存在することに同意します。

現在のアイデアは次のとおりです。2番目のバージョンがtrueであれば、削除する前に1バイトのコンテンツでファイルを上書きできます(そのバイトが実際に古いコンテンツを上書きせずにフラッシュドライブの新しい場所に書き込まれた場合でも)。その後、ファイルが復元されると、上書きされた1バイトのコンテンツのみが使用可能になります。

元のファイルの内容を回復できる可能性があるフラッシュドライブのフォレンジック分析については説明していません。

要約すると:

  • iOSでのファイルの削除は内部的にどのように機能しますか?
  • 上書きアプローチは削除を防ぎますか?

回答:


3

Unixでは、あなたが提案するとおりにファイルシステムが変更されると思います(エントリはファイルシステムテーブルから削除されます)。Windowsでは、ファイルシステムテーブルが変更され、ファイルに削除済みのフラグが立てられます-データ回復ツールはファイルを元に戻すことができます。Windowsの元に戻すアプリケーションを見て、ファイル名も変更されていると思うので、削除を取り消すときは、正しいファイル名を指定する必要があります。ファイル名を変更すると、削除したファイルと同じ名前のファイルを作成した場合、OSは同じ名前の2つのファイルがあることを調整する必要がなくなります。

MacOSXとWindowsにはゴミ箱(ごみ箱)があり、削除されたファイルがコピーされる特別なフォルダーが実装されていると思います。ごみ箱を空にすると、システムファイルテーブルを変更することにより、このフォルダが削除されます。NSFileManagerを使用すると、ゴミ箱(これはiOSには存在しません)を回避するため、実際に削除されます。同様に、ターミナルウィンドウから「rm」する場合。

古いファイルと同じ名前で新しいファイルを作成すると、Unixではシステムファイルテーブルの新しいエントリに過ぎませんが、古いエントリがテーブルから削除されているため、作成する利点はありません。新しいエントリ。

それが私の信念であり、私は下票の猛攻撃の準備ができています;-)


OS Xのゴミ箱については間違いなく正しい。それはただの特別なフォルダーであり、他には何もない。また、非表示のファイルを表示すると、実際にはホームディレクトリの下のフォルダーとして見ることができます。
ことができますSürmeli13年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.