5

I've tried mounting them in Ubuntu, no luck, mount does not recognize the yaffs2 file system. I've tried yaffs2utils and ./unyaffs2 but it doesn't actually unpack the img files, I've posted an issue about this on the Google Code page here.

The img files were created by CWM Recovery as a backup, and I'm trying to dig into the file system to find old contacts, and if I could just get the .db files I think I got it from there (I'll just run sqlite3 and peek into the db and print the contacts on paper or something).

Any help appreciated!

  • I'm not sure if this will let you retrieve contacts but it's worth a shot: play.google.com/store/apps/… – Matthew Read Jun 23 '12 at 15:22
  • Titanium Backup v5+ has the capability to extract from CWM backups as well :) – t0mm13b Jun 23 '12 at 15:25
  • I remember trying AppExtractor on the phone in question, it was unable to find any contacts so nothing was imported. If this was awfully important I'd try paying for TB but for now I'm just curious how to access the img files. – pzkpfw Jun 23 '12 at 17:16
  • Here's a very similar question which I've tried to answer: android.stackexchange.com/a/111010/109855 – Jon Coombs Jun 1 '15 at 3:48
6

To unpack a YAFFS2 image, you can use the free unyaffs tool, which is available as pre-build ELF-binary (for Linux) from this page at code.google.com. This page also contains hints on how to obtain the source code, so you could build the binary yourself e.g. with gcc (gcc -o unyaffs unyaffs.c).

I use this tool myself, it works fine on Ubuntu 8.04 32bit as well as Ubuntu 12.04 64bit (with the ia32-libs package installed).

Place the binary e.g. in /usr/local/bin (which is in your $PATH), so you can access it from everywhere. Put the image file you want to extract in an empty directory (unyaffs always seems to extract files directly into the folder the image file is in), and then call unyaffs with the image file name as only parameter, e.g. unyaffs data.img. After that, you will find the contents of that file system/image unpacked, and can investigate them -- e.g.

  • SMS/MMS in data/com.android.providers.telephony/databases/mmssms.db
  • Multimedia Metadata in data/com.android.providers.media/databases/*.db
  • Calendar data in data/com.android.providers.calendar/databases/calendar.db

As I just investigated a MotoBlur image, contacts in my case have been stored to data/com.motorola.blur.providers.contacts/databases/contacts2.db -- they are probably in a different location in your case (a guess: data/com.android.providers.contacts/databases/*.db).

The sqlite3 command works on them, naturally. If you prefer a graphical frontend, I can recommend you the sqliteman package (comes with a binary of the same name, which accepts the database file as parameter).

|improve this answer|||||
1

You can install Titanium Backup and buy the Pro key.

It allows to extract app backups from saved CWM nandroid backups.

Usage: Launch Titanium Backup, Menu > More > "Extract from nandroid backup"

|improve this answer|||||
  • How old does the CWM nandroid backup have to be to be considered old? I'm pretty sure it was a fairly recent version of CWM that made this backup. – pzkpfw Jun 23 '12 at 17:15
  • sorry, bad wording. fixed. – ce4 Jun 23 '12 at 17:21
  • Ok, I'll inform my friend that this is an option if he keeps nagging me about the lost contacts ;) – pzkpfw Jun 23 '12 at 17:28
0

What ROM was it in the backup?

If the filesystem was ext4 you could mount the img to loopback like this:

This is on Linux btw,

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

Then go into that directory ~/mountedImageDir and you should be able to see the directory structure in there :)

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.