nelenkov / cryptfs-password-manager

Android device encryption password manager
Other
92 stars 18 forks source link

Corrupted data on stock Moto X Pure 2015 #13

Open Ep0chalypse opened 8 years ago

Ep0chalypse commented 8 years ago

I used this to change the password on my encrypted Moto X Pure 2015 and it said it was successful. But when I rebooted to test things out, it failed to boot and came up saying something along the lines of "The password entered is correct but the data has been corrupted" and it only gave the option to factory reset the device.

Unfortunately this was at 1am last night right before I went to bed so I was unable to grab anything useful off the phone like a logcat or anything along those lines.

This is more a warning to others that may attempt this on the same phone, be careful and do a nandroid backup first!(I was not careful and did not have a backup lol)

isermann commented 8 years ago

Same on my Moto X Style (XT1572) Android 5.1.1!

First I had my display PIN lock for decrypting the device upon boot and I changed it with Cryptfs PWM App to an alphanumerical password. This resulted in a non-password-request! Changed back to PIN in Cryptfs PWM to get PIN request back upon boot. Then I changed my display lock to a password -> Upon boot still old PIN request to decrypt.

After that I used Cryptfs PWM to set the same alphanumerical password as it already was set for the display lock-> "The password entered is correct but the data has been corrupted"

No chance to mount /data in TWRP, too.

nelenkov commented 8 years ago

I don't have access to this device, so can't really help much. The error suggest that the Moto X is using some kind of custom, probably hardware-accelerated FDE (similar to the One Plus One), and they didn't update the vdc utility to support it. You could try changing the password manually via the shell as described in the README to see if it works. If it does, chances are there is a bug in the app, which I could probably fix. If it doesn't not much can be done.

isermann commented 8 years ago

Seems like it.. After formatting /data I flashed official Motorolas's Marshmallow rom. I changed the password via shell: changing to another PIN just works fine. Changing to a alphanumerical password with vdc cryptfs changepw password "password_special_char_and_quotes" results in no more password prompt. Leaving the " out results into an unknown password. I formatted /data again and I'll stick to the PIN only for now.

nelenkov commented 8 years ago

Unless Motorola changed something, you need to hex-encode the password (including any special chars), so quotes shouldn't be needed. BTW, you can run logcat in another terminal to see if you get any error messages.

isermann commented 8 years ago

I read that for Marshmallow you don't need to enter Hex encoded passwords in the shell any more. Doing so resulted in a non-password-prompt for an alphanumerical password with special letters within quotes. This behaviour matches the one of the App and Android 5.1.1 as I described in my first post.

As you said it might be a Motorola problem altogether: https://www.reddit.com/r/MotoX/comments/3mykua/full_disk_encryption_stuck/

nelenkov commented 8 years ago

Sorry, I missed the Marshmallow part. Yes, in 6.0 they reverted it, so you need to enter the actual characters, escaping the ones than can interpreted by the shell.