Bagaimana cara iOS menghapus file secara teknis dan dapatkah itu berpotensi tidak terhapus?


11

Kami memiliki diskusi yang menarik di sini tentang penghapusan file di perangkat iOS. Pertanyaannya adalah: jika saya menghapus file menggunakan NSFileManager, apa yang terjadi di bawah tenda?

Pemahaman saya adalah bahwa penghapusan dilakukan dengan menghapus entri file yang sesuai dari tabel sistem file.

Argumen balasannya adalah bahwa pegangan file tetap dalam beberapa cara dan hanya bendera yang ditetapkan yang menandai file sebagai dihapus. Jika pengguna memiliki akses root ke perangkat iOS, ia berpotensi mengatur ulang tanda itu dan memulihkan konten file.

Dalam kedua kasus kami setuju bahwa konten file yang sebenarnya tidak akan ditimpa dan byte polos masih ada di memori flash / disk hingga blok ditempati oleh file lain.

Idenya adalah sekarang: jika versi kedua benar, kita dapat menimpa file dengan konten satu byte sebelum dihapus (bahkan jika byte itu ditulis ke lokasi baru pada flash drive tanpa benar-benar menimpa konten lama). Jika kemudian file dipulihkan, hanya konten satu byte yang ditimpa tersedia.

Perhatikan bahwa kita tidak berbicara tentang analisis forensik flash drive yang mungkin dapat memulihkan konten file asli.

Jadi untuk rekap:

  • Bagaimana cara penghapusan file di iOS bekerja secara internal?
  • Apakah pendekatan yang ditimpa mencegah undeletion?

Jawaban:


3

Saya percaya pada Unix sistem file dimodifikasi seperti yang Anda sarankan (entri dihapus dari tabel sistem file). Pada Windows, tabel sistem file diubah, dan file ditandai sebagai dihapus - alat pemulihan data dapat membatalkan penghapusan file. Setelah melihat aplikasi Windows yang tidak dihapus saya pikir nama file juga dimodifikasi, jadi ketika membatalkan penghapusan, Anda harus menyediakan nama file yang benar. Mengubah nama file akan berarti jika Anda membuat file dengan nama yang sama dengan yang baru saja Anda hapus, OS tidak perlu merekonsiliasi menjadi dua file dengan nama yang sama.

MacOSX dan Windows memiliki tempat sampah (recycle bin) yang saya pikir menerapkan folder khusus di mana file yang dihapus disalin. Saat Anda mengosongkan tempat sampah, folder ini dibersihkan - dengan memodifikasi tabel file sistem. Jika Anda menggunakan NSFileManager, ia menghindari trash can (yang sebenarnya tidak ada di iOS) jadi itu adalah penghapusan nyata. demikian juga jika Anda "rm" dari jendela terminal.

Jika Anda membuat file baru dengan nama yang sama dengan yang lama, di Unix itu hanya entri baru di tabel file sistem, tetapi karena entri lama telah dihapus dari tabel, tidak akan ada keuntungan untuk membuat masukan baru.

Itu keyakinan saya, dan saya siap untuk serangan down vote ;-)


Anda pasti benar tentang tempat sampah di OS X. Ini hanya folder khusus, tidak ada yang lain. Dan Anda benar-benar dapat melihatnya sebagai folder di bawah direktori home Anda ketika Anda membuat file tidak terlihat Anda terlihat.
Can Sürmeli
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.