My wife has a Moto G 3rd Generation which had the SD card set to internal. The phone has had problems reading the card, and unfortunately she hasn't had everything set to back up so there are some things on the card we would really like to recover.

I have put the card in a card reader and ubuntu is able to read it but unfortunately can make no sense out of it due to the android encryption.

The phone isn't rooted, and as far as I can tell Dirty Cow exploit will not work to get temporary root so I have no way to get the encryption key off the phone (I think?).

I wondered if cloning the card might work so have purchased an identical card and tried to use dd to copy it. Weirdly dd is reporting this:

dd: error writing '/dev/sdd': No space left on device 7818241+0 records in 7818240+0 records out

I have tried to allow truncate at the end (lose the last byte) or skipping the first byte and neither of these has resulted in a card that is readable.

I have also tried another make of card (same size 32GB) and have the exact same problem.

Do I have any options left? Is there any way to work out given the encryption where one byte could be safely removed, perhaps only corrupting a file.

Any ideas greatly appreciated.

Many thanks in advance.

  • If you can root , here's a way android.stackexchange.com/q/145443/131553 – beeshyams Mar 24 '17 at 12:10
  • Since you don't have root and if you can't gain it without system wipe (which will wipe encryption key) then I have bad news for you. Because you need root to access key to read card in linux. However I think card get corrupted because of encryption (one byte wasn't written in wrong place and bye bye). – Једноруки Крстивоје Aug 12 '17 at 20:17

Your Answer

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

Browse other questions tagged or ask your own question.