กู้คืนเนื้อหาที่ถูกลบจากพาร์ทิชัน userdata หรือไม่


23

ต่อมา Amanda ก็มีช่วงเวลาบลอนด์และลบเธรดทั้งหมดของเธอในแอพ SMS โดยไม่ได้ตั้งใจ ใช่ "ลบกระทู้ทั้งหมด" อาจไม่ง่ายนักที่จะเรียกใช้

โทรศัพท์ของ ZTE Blade ที่มีข้อมูลผู้ใช้ทั้งหมดเก็บไว้ในระบบไฟล์ YAFFS2 อย่างไม่สะดวก

ฉันมีการสำรองข้อมูลเก่า แต่ SMS ที่ฉันต้องการกู้คืนนับตั้งแต่นั้นมา อาจมีบางอย่างในซิมการ์ดดังนั้นฉันจึงสั่งให้อ่านซิม ฉันสงสัยว่ายี่สิบหรือมากกว่านั้นถือเป็นสแปมผู้ให้บริการเครือข่ายส่วนใหญ่แล้ว

ดังนั้นฉันสาปแช่งแผนการสำรองข้อมูลที่ไม่มีประสิทธิภาพของฉันและสาบานว่าจะสำรอง SMS ไปที่ GMail ในอนาคต

ในขณะเดียวกันฉันตั้งใจจะกู้ mmssms.db หรือสิ่งที่เหลืออยู่

ก่อนอื่นฉันเชื่อมต่อ adb และตรวจสอบการเชื่อมต่อจากนั้นพยายามคัดลอกบล็อกไปยังรูปภาพบนการ์ด SD:

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

ไม่มีโชคเช่นนี้ ฉันคิดว่าการบังคับลงจากหลังเป็นสิ่งที่ไม่ดี

ดังนั้นฉันอัปโหลดสำเนา busybox ที่เชื่อมโยงแบบคงที่ไปยังการ์ด SD และใช้ตัวเลือก conv = noerror

สิ่งที่ฉันลงเอยด้วยคือไฟล์ที่มีขนาดเพิ่มขึ้นเรื่อย ๆ จนกระทั่งการ์ด SD เต็ม

ผมทำอะไรผิดหรือเปล่า? ClockworkMod ถ่ายภาพในแง่ที่เป็นจริงหรือไม่หรือเพียงแค่สำรองไฟล์และจัดเก็บไว้ในรูปภาพหรือไม่ มีโปรแกรมกู้คืน YAFFS2 หรือไม่ (เอกสารสองฉบับที่ฉันอ่านทำให้ดูเป็นไปได้ แต่ฉันไม่เห็นแม้แต่รหัส PoC)

เบาะแสใด ๆ ที่ได้รับสุดซึ้ง /

แก้ไข: โทรศัพท์ถูกรูท หยั่งรากมาก :)

แก้ไขเพิ่มเติม:

ข้อความส่วนใหญ่ที่พบใน mmssms.db-wal:

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

โชคไม่ดีที่การสำรองข้อมูลและเรียกคืน SMS จะอนุญาตให้ผสาน


ใบมีดของคุณรูทหรือไม่
t0mm13b

@ แมนดี้: เกี่ยวกับคำถามอื่น ๆ ของคุณ: Yaffs2 เป็นระบบไฟล์แฟลชที่มีการป้องกันการปรับระดับสำหรับการจัดเก็บแฟลชพื้นฐาน (มันมีรูปแบบข้อมูลโครงสร้างบันทึกที่เขียนไม่ได้อยู่ในสถานที่ แต่แทนที่จะไปที่หางของ "บันทึก" เสมอ และพื้นที่ที่ไม่ได้ใช้เก่าถูกเรียกคืนจากหัวอธิบายได้ง่ายมาก) หากคุณไม่ได้เขียนมากเกินไปคุณอาจพบไฟล์ที่เก่ากว่า โดยการละเว้นส่วนของหางจากก่อนการลบคุณจะโชคดี ยังไม่ได้แกะไฟล์สำหรับ YAFFS2 จนถึงสรรพสินค้า
ce4

คำตอบ:


19

ฐานข้อมูล sms จะถูกเก็บไว้/data/data/com.android.providers.telephony/databases/mmssms.dbซึ่งเป็นสิ่งที่คุณต้องการจะทำ

สิ่งที่ดีที่สุดที่ควรทำคือไม่ต้องต่อสาย USB:

  1. รีบูตเข้าสู่การกู้คืน ClockWorkmod
  2. ไปที่ Mounts and Storage
  3. เลือก mount /data
  4. เสียบ USB
  5. จากเชลล์คำสั่ง windows หรือเทอร์มินัล adb shell
  6. เมื่อคุณอยู่ในการกู้คืน ClockworkMod คุณจะได้รับรูทตามค่าเริ่มต้นตอนนี้ cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
  7. ออกจากการadb shellด้วยการพิมพ์ในนี้:exit
  8. ตอนนี้ฐานข้อมูลของคุณจะถูกคัดลอกไปยังการ์ด SD
  9. กลับมาจากการกู้คืน ClockworkMod และเพิ่งรีบูตการกู้คืนจะunmount /dataให้คุณ

ในขั้นตอนนี้ฐานข้อมูลของคุณจะถูกคัดลอกไปทั่ว และสามารถสกัดได้อย่างปลอดภัยผ่านทางใช้สิ่งที่ต้องการSqliteMan HTH

แก้ไข: OP มีความสนใจที่จะรู้ว่าสามารถถ่ายโอนข้อมูลได้อย่างไร - อ่านต่อ :)

เมื่อคุณวิงวอนสิ่งนี้ (ด้วยการเสียบ USB และภายใน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"

รู้ว่าพาร์ทิชันใดเป็นกุญแจ .. ดังนั้นตัวอย่างเช่นจาก Blade ของฉันฉันเห็นว่าuserdataอยู่ในพาร์ติชั่mtd6นซึ่งข้อมูลพาร์ติชั่นที่แท้จริงสามารถพบได้ภายใน/dev/mtd/mtdXดังนั้นมันจึงเป็นเรื่องของการทำสิ่งนี้โดยใช้cat:

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

และจากที่นั่นการ/sdcard/myuserdata.dumpขึ้นอยู่กับระบบไฟล์ที่ใช้ในพาร์ติชันนั้นมันสามารถติดตั้งผ่านลูปแบ็คได้ ระยะทางจะแตกต่างกันไปและแน่นอนว่าเป็นสถานการณ์ที่เกิดกับไก่และไข่เพื่อที่จะทำเช่นนั้นเครื่องจะต้องทำการรูทเครื่อง


นั่นเป็นประโยชน์มากที่สุด SMS ที่ถูกลบทั้งหมด (หรืออย่างน้อยที่สุด) อยู่ใน mmssms.db-wal: ขอบคุณมากสำหรับตัวชี้ที่มีประโยชน์!
แมนดี้

คำถามของฉันยังคงมีอยู่ - เป็นไปได้ไหมที่จะทิ้งภาพหากสถานการณ์ต้องการหรือไม่
แมนดี้

ใช่ฉันจะแก้ไขคำตอบ ... :)
t0mm13b

@ t0mm13b ต่อไปนี้เป็นคำตอบที่ยอดเยี่ยม :) +1
Zuul

1
คุณครับคุณ '# @!% ยอดเยี่ยม เตะตัวเองโดยไม่ยืนกรานหาชื่อและ grep แต่มันทำให้คุณตกใจกลัว นอกจากนี้ผมต้องการได้มอง eejit เหมาะสมท่อ SMS ทั้งหมดของฉันเป็นสตริงและน้อยที่จะอ่านพวกเขาจึงขอขอบคุณอีกครั้ง;)
แมนดี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.