İOS bir dosyayı teknik olarak nasıl siler ve silme işlemi geri alınabilir mi?


11

Burada iOS cihazlarda dosya silme hakkında ilginç bir tartışmamız var. Soru şuydu: NSFileManager kullanarak bir dosyayı silersem, başlık altında ne oluyor?

Anladığım kadarıyla, silme işlemi, ilgili dosya girişini dosya sistemi tablosundan kaldırarak gerçekleştirilir.

Karşı argüman, bir dosya tanıtıcısının bir şekilde kalması ve dosyayı silinmiş olarak işaretleyen yalnızca bir işaretin ayarlanmasıdır. Kullanıcının iOS aygıtına kök erişimi varsa, bu bayrağı sıfırlayabilir ve dosya içeriğini kurtarabilir.

Her iki durumda da, gerçek dosya içeriğinin üzerine yazılmayacağını ve blok başka bir dosya tarafından kullanılıncaya kadar flash bellekte / diskte düz baytların hala var olduğunu kabul ediyoruz.

Fikir şu anda: ikinci sürüm doğruysa, silinmeden önce dosyanın bir bayt içeriğiyle üzerine yazabiliriz (bu bayt, eski içeriğin üzerine yazmadan flash sürücüde yeni bir konuma yazılsa bile). Dosya kurtarılırsa, yalnızca üzerine yazılan bir bayt içeriği kullanılabilir.

Orijinal dosya içeriğini kurtarabilecek flash sürücünün adli analizinden bahsetmediğimizi unutmayın.

Özetlemek gerekirse:

  • İOS'ta bir dosyanın silinmesi dahili olarak nasıl çalışır?
  • Üzerine yazma yaklaşımı, silme işlemini engelliyor mu?

Yanıtlar:


3

Unix inanıyorum dosya sistemi önerdiğiniz gibi değiştirilir (giriş dosya sistemi tablosundan kaldırılır). Windows'da dosya sistemi tablosu değiştirilir ve dosya silinmiş olarak işaretlenir - veri kurtarma araçları dosyayı silebilir. Windows undelete uygulamalarına baktığımda, dosya adının da değiştirildiğini düşünüyorum, bu nedenle silme işlemini geri alırken doğru dosya adını sağlamanız gerekir. Dosya adını değiştirmek, az önce sildiğiniz dosyayla aynı ada sahip bir dosya oluşturduysanız, işletim sisteminin aynı ada sahip iki dosya arasında mutabakata varması gerekmeyeceği anlamına gelir.

MacOSX ve Windows, silinen dosyaların kopyalandığı özel bir klasör uygulandığını düşündüğüm bir çöp kutusuna (geri dönüşüm kutusu) sahiptir. Çöp kutusunu boşalttığınızda, sistem dosya tablosunu değiştirerek bu klasör temizlenir. NSFileManager kullanırsanız, çöp kutusunu (zaten iOS'ta mevcut değildir) atlar, böylece gerçek bir silme olur. aynı şekilde bir terminal penceresinden "rm".

Eski adla aynı ada sahip yeni bir dosya oluşturursanız, Unix'te bu sistem dosya tablosunda sadece yeni bir giriştir, ancak eski giriş tablodan kaldırıldığından, Yeni giriş.

Bu benim inancım ve aşağı oyların saldırılarına hazırım ;-)


OS X'teki çöp kutusu konusunda kesinlikle haklısın. Bu sadece özel bir klasör, başka bir şey değil. Görünmez dosyalarınızı görünür hale getirdiğinizde, bunu ana dizininizin altında bir klasör olarak görebilirsiniz.
Can Sürmeli
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.