Kullanıcı verileri bölümünden silinen içeriği kurtar?


23

Böylece, Amanda'nın sarışın bir an yaşadığı ve SMS uygulamasındaki tüm konuları yanlışlıkla sildiği anlaşıldı. Evet, "Tüm konuları sil", çağırması çok kolay olmamalıydı.

Telefon bir ZTE Blade'tir, tüm kullanıcı verileri YAFFS2 dosya sistemine uygunsuz bir şekilde kaydedilir.

Eski bir yedeklemem var, ancak kurtarmam gereken SMS o zamandan beri. Muhtemelen SIM kartta bir kısmı vardır, bu yüzden bir SIM okuyucu sipariş ettim. Zaten yirmi kadarının çoğunlukla şebeke operatörü spam olduğundan şüpheleniyorum.

Bu yüzden, etkisiz yedekleme planımı lanetliyorum ve gelecekte SMS'i SMSail'e yedeklemeye söz veriyorum.

Bu arada, mmssms.db dosyasını veya bundan geriye kalanları kurtarmaya karar verdim.

İlk önce, adb'yi bağlayıp bağları kontrol ediyorum, sonra bloğu SD kartındaki bir görüntüye kopyalamaya çalışıyorum:

dd if=/dev/block/mtdblock6 of=/sdcard/data.img 

Böyle şans yok. Ben zorla çıkarmanın kötü bir fikir olacağını ve muhtemelen hiçbir durumda işe yaramayacağını düşünüyorum.

Bu yüzden, statik olarak bağlı bir meşgul kutusunun bir kopyasını SD karta yüklüyorum ve conv = noerror seçeneğini kullanıyorum.

Sonunda, SD kart dolana kadar boyutlarını büyüten bir dosya oldu.

Neyi yanlış yapıyorum? ClockworkMod, gerçek anlamda bir görüntü mü çekiyor veya yalnızca dosyaları yedekleyip bir görüntüye paketliyor mu? Bir YAFFS2 kurtarma programı var mı? (Okuduğum iki makale uygun görünüyor, ancak PoC kodunu bile görmedim)

Minnetle alınan herhangi bir ipucu /

Düzenleme: Telefon köklü. Çok köklü :)

Daha fazla düzenleme:

Mesajların çoğu mmssms.db-wal içinde bulunur:

ls -al /data/data/com.android.providers.telephony/databases
drwxrwx--x    1 radio    radio         2048 Jul 17 20:16 .
drwxr-xr-x    1 radio    radio         2048 Oct 26  2011 ..
-rw-rw----    1 root     root         60416 Jul 17 20:16 mmssms.db
-rw-rw----    1 radio    radio        32768 Jul 17 16:18 mmssms.db-shm
-rw-rw----    1 radio    radio       628832 Jun 30 19:23 mmssms.db-wal
-rw-rw-rw-    1 root     root         60416 Jul 17 20:16 mmssms.db.xxx
-rw-rw----    1 radio    radio       132096 Jun 18 13:25 telephony.db
-rw-rw----    1 radio    radio        32768 Jul 16 22:14 telephony.db-shm
-rw-rw----    1 radio    radio       106928 Jul 16 22:14 telephony.db-wal

Şansınız varsa SMS Yedekleme ve Geri Yükleme bir birleştirmeye izin verir.


Bıçağın köklü mü?
t0mm13b

@Mandy: Başka bir sorunuzla ilgili olarak: Yaffs2, temeldeki flash depolama için aşınma dengeleme korumasına sahip bir flash dosya sistemidir ( yazma işleminin yapılmadığı ancak bunun yerine her zaman "log" kuyruğuna giden bir log yapılandırılmış veri modeline sahiptir. ve eski kullanılmayan alan baştan geri kazanılır. Çok fazla yazmadıysanız, muhtemelen daha eski dosya örneklerini bulabilirsiniz. Kuyruk kısmının silinmeden hemen önce görmezden gelinmesiyle şanslı olabilirsiniz. Şimdiye kadar YAFFS2 için dosya oylama yapmamıştım.
ce4

Yanıtlar:


19

Sms veritabanı, /data/data/com.android.providers.telephony/databases/mmssms.dbyapmak istediğin şeyin içinde saklanır .

Yapılacak en iyi şey, bu, henüz USB kablosunu takmayın:

  1. ClockWorkmod Recovery'de yeniden başlatın.
  2. Mounts ve Storage'a Git
  3. seçmek mount /data
  4. USB'yi takın
  5. Windows komut kabuğundan veya terminalden, adb shell
  6. ClockworkMod Recovery yazılımında olduğunuz için, varsayılan olarak root olduğunuzda, şimdi bunu yapın cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
  7. şunu adb shellyazarak çıkın :exit
  8. Şimdi veritabanınız SD Karta kopyalandı.
  9. ClockworkMod kurtarma geri ve sadece yeniden başlatmadan, kurtarma unmount /datasizin için olacak.

Bu aşamada veritabanınız şimdi kopyalanmaktadır. Ve SqliteMan gibi bir şey kullanarak güvenli bir şekilde elde edilebilir . HTH.

Düzenleme: OP bir çöplüğün nasıl yapılabileceğini bilmek istedi. - Okumaya devam etmek :)

Bunu çağırdığınızda (içinde ve içine takılı USB varken adb shell)

sh-4.1# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00500000 00020000 "recovery"
mtd1: 00500000 00020000 "boot"
mtd2: 00120000 00020000 "splash"
mtd3: 00080000 00020000 "misc"
mtd4: 02580000 00020000 "cache"
mtd5: 0d700000 00020000 "system"
mtd6: 0cb80000 00020000 "userdata"
mtd7: 00020000 00020000 "oem"
mtd8: 00180000 00020000 "persist"

Hangi bölüm bilmek Yani benim Blade örneğin, bunu görebiliyorum .. anahtarıdır userdata bölümünde ise mtd6fiili bölüm bilgisi içinde bulunabilir ki, /dev/mtd/mtdXkullanarak bunu yapmanın onun meselesi böylece cat:

cat /dev/mtd/mtd6 > /sdcard/myuserdata.dump

Ve oradan, /sdcard/myuserdata.dumpbu bölümde kullanılan dosya sistemine bağlı olarak geri döngü yoluyla monte edilebilir. Kilometre değişecek ve elbette, hepsinin yapılabilmesi için el cihazının kökünün açılması gerekiyor.


En çok yardımcı oldu, silinen SMS'lerin tümü (ya da en azından çoğu) mmssms.db-wal içindeydi: Yararlı gösterici için çok teşekkürler!
Mandy,

Benim sorum duruyor, eğer durum talep ederse bir görüntüyü atmak mümkün mü?
Mandy,

Evet, cevabı değiştireceğim ... :)
t0mm13b

@ t0mm13b Şimdi bu harika bir cevap :) +1
Zuul

1
Siz bayım, harikasınız. Bulmak için ısrarcı olduğum için tekme -ame ve grep, ama panik sana bunu yapıyor. Ayrıca, tüm SMS'leri dizgilere bağlayan ve e-postaları okumak için daha az boruya bürünen uygun bir eejit buldum, tekrar teşekkürler;)
Mandy
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.