I've finished a beta version of androidcrypt.py, which is able to get the recovery system to decrypt and mount the encrypted partitions. It should detect the connected android device, do some checks, look for the crypto footer, ask for a password and finally decrypt and mount /userdata and /sdcard, so you can backup to or update from /sdcard. It includes a slightly modified binary of dmsetup, I put the source in a git repository.

I tested it on my Nexus S on Linux and on Windows, on both you need to have Python installed (Windows Installer) and have adb on your PATH environment variable (probably python, too, for convenience). It will probably fail with the current version of CWM recovery, as it seems only the CyanogenMod CWM-based recovery has all necessary flags set correctly.

If you have made backups and want to try it nevertheless, here's quick step-by-step guide.
  1. Extract attached androidcrypt.py.zip file, open a terminal window and navigate into folder where you extracted it.
  2. Make sure you can execute 'adb' and 'python' without error (you can exit python by entering 'exit()'). If it doesn't work, check you Android SDK install, especially the PATH, CyanogenMod Wiki has a detailed howto.
  3. Run 'python androidcrypt.py', see what happens and report your output.
  4. Do not try to restore backups or format partitions inside CWM, I have no idea what will happen.
Attached Files
File Type: zip androidcrypt.py.zip - [Click for QR Code] (164.8 KB, 298 views)