Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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!

share|improve this question
    
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. –  bigbadonk420 Jun 23 '12 at 17:16
add comment

3 Answers 3

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 :)

share|improve this answer
    
He said it was yaffs2... –  Matthew Read Jun 23 '12 at 15:22
    
What version of CWM is the key question. –  t0mm13b Jun 23 '12 at 15:24
    
The filesystem is not ext4 but yaffs2, and I already tried a "clean" mount with just -o loop, no luck. (I'm pretty sure it was the newest version of CWM, as it was only a week or so ago the backup was made) The ROM in the backup was some kind of stock Xperia Arc variant, before we installed CyanogenMod. –  bigbadonk420 Jun 23 '12 at 17:13
    
you can also do this: tjworld.net/wiki/Linux/Kernel/SimulateNandMtdDevice –  ce4 Jun 23 '12 at 19:21
    
Even easier &free: play.google.com/store/apps/details?id=fr.wdscript.yaffsexplorer –  ce4 Jun 23 '12 at 23:57
add comment

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"

share|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. –  bigbadonk420 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 ;) –  bigbadonk420 Jun 23 '12 at 17:28
add comment

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).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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