Как получить доступ к файлам .img с помощью yaffs2?

Я пытался смонтировать их в Ubuntu, не повезло, mountне распознает файловую систему yaffs2. Я пробовал, yaffs2utilsно ./unyaffs2на самом деле он не распаковывает файлы img, я разместил сообщение об этом на странице кода Google здесь .

Файлы img были созданы CWM Recovery в качестве резервной копии, и я пытаюсь покопаться в файловой системе, чтобы найти старые контакты, и если бы я мог просто получить файлы .db, я думаю, что я получил это оттуда (я просто сбегай sqlite3и загляни в бд и распечатай контакты на бумаге что ли).

Любая помощь приветствуется!

Я не уверен, что это позволит вам получить контакты, но попробовать стоит: play.google.com/store/apps/…
Titanium Backup v5+ также имеет возможность извлекать из резервных копий CWM :)
Я помню, как пробовал AppExtractor на рассматриваемом телефоне, он не смог найти никаких контактов, поэтому ничего не было импортировано. Если бы это было очень важно, я бы попробовал заплатить за ТБ, но сейчас мне просто любопытно, как получить доступ к файлам img.
Вот очень похожий вопрос, на который я пытался ответить: android.stackexchange.com/a/111010/109855 .

Ответы (3)

Чтобы распаковать образ YAFFS2, вы можете использовать бесплатный unyaffsинструмент, который доступен в виде предварительно собранного двоичного файла ELF (для Linux) на этой странице code.google.com . Эта страница также содержит подсказки о том, как получить исходный код, чтобы вы могли самостоятельно собрать двоичный файл, например, с помощью gcc ( gcc -o unyaffs unyaffs.c).

Я сам использую этот инструмент, он отлично работает как на 32-битной Ubuntu 8.04, так и на 64-битной Ubuntu 12.04 (с ia32-libsустановленным пакетом).

Поместите двоичный файл, например, в /usr/local/bin(который находится в вашем файле $PATH), чтобы вы могли получить к нему доступ отовсюду. Поместите файл изображения, который вы хотите извлечь, в пустой каталог ( unyaffsвсегда кажется, что файлы извлекаются непосредственно в папку, в которой находится файл изображения), а затем вызовите unyaffsс именем файла изображения в качестве единственного параметра, например unyaffs data.img. После этого вы обнаружите, что содержимое этой файловой системы/образа распаковано, и можете исследовать их, например

  • SMS/MMS вdata/com.android.providers.telephony/databases/mmssms.db
  • Мультимедийные метаданные вdata/com.android.providers.media/databases/*.db
  • Данные календаря вdata/com.android.providers.calendar/databases/calendar.db

Поскольку я только что исследовал изображение MotoBlur, контакты в моем случае были сохранены data/com.motorola.blur.providers.contacts/databases/contacts2.db- в вашем случае они, вероятно, находятся в другом месте (догадка: data/com.android.providers.contacts/databases/*.db).

Команда sqlite3работает на них, естественно. Если вы предпочитаете графический интерфейс, я могу порекомендовать вам sqlitemanпакет (поставляется с одноименным двоичным файлом, который принимает файл базы данных в качестве параметра).

Вы можете установить Titanium Backup и купить ключ Pro .

Это позволяет извлекать резервные копии приложений из сохраненных резервных копий CWM nandroid.

Использование: Запустите Titanium Backup, Меню> Дополнительно> «Извлечь из резервной копии nandroid».

Сколько лет должна быть резервная копия CWM nandroid, чтобы считаться старой? Я почти уверен, что это была довольно свежая версия CWM, которая сделала эту резервную копию.
извините, плохая формулировка. исправлено.
Хорошо, я сообщу своему другу, что это вариант, если он будет продолжать пилить меня о потерянных контактах ;)

Какой ПЗУ был в резервной копии?

Если бы файловая система была ext4, вы могли бы подключить img к loopback следующим образом:

Это на линуксе кстати

sudo mount -o loop,ro,noexec,noload system.img ~/mountedImageDir

Затем перейдите в этот каталог ~/mountedImageDir , и вы сможете увидеть там структуру каталогов :)

Он сказал, что это yaffs2...
Какая версия CWM - это ключевой вопрос.
Файловая система не ext4, а yaffs2, и я уже пробовал «чистое» монтирование с помощью цикла -o, но безуспешно. (Я почти уверен, что это была самая новая версия CWM, так как всего неделю назад была сделана резервная копия) ПЗУ в резервной копии было каким-то стандартным вариантом Xperia Arc, до того, как мы установили CyanogenMod.
вы также можете сделать это: tjworld.net/wiki/Linux/Kernel/SimulateNandMtdDevice