My lamenting will be about the overall way in which device encryption is implemented in Android. This is mostly a collection of links where you can find out more about how it ~~worked across the recent versions~~ all went south. This article strictly expresses my own, badly informed opinion and you should check all the provided references carefully before forming your own. read();
Just recently, the latest CyanogenMod nightly began supporting encryption on my phone, even though the bugreport still says it's an open issue. I don't mind. Anyway, this allowed me to finish a major project of mine: Protect the data on my phone, even in the case of a theft, while maintaining the ability to use the device conveniently.
The goal. I want a strong disk encryption password, but i want a weak screen password or PIN, because unlocking the device is a frequent task. In such a scenario, it makes sense to implement an account lockout policy: In other words, we want the phone to shut down after, say, 3 failed attempts to unlock the screen. This prevents the screen password from being brute forced.
Your device needs to be rooted to do everything I did. You will also need the Android studio if you want to do this properly, and it's a large download, you might as well start now. Click here if you're still interested.
I recently broke the display of my smartphone and wanted to sell it on eBay. However, I am paranoid about my data. So this is what I did:
* Get a new phone and set it up.
* Encrypt the Phone with Android's builtin encryption feature:
* Set a lock screen password (not a PIN) with a random 16 letter string (at the time of writing, Android won't let you choose longer passwords).
* Go to security in your settings and find the option to encrypt the phone, confirming your password.
* After this is done, open an ADB shell on your phone. Because the phone's internal memory is flash, there might still be areas that contain sensible and unencrypted information. We will overwrite them with random data.
cat /dev/random > /data/junkfile
* If you have a stock Android installed, perform a factory reset. If you do not have a stock Android installed:
* Go to the Google Developers' Factory Images for Nexus Devices page and grab your image.
* Extract that file and find a batch file that will flash this stock distribution on your phone automatically.
Warning. You might really have to try several different USB cables and several different USB ports on your computer before fastboot succeeds. For me it worked on the 3rd port and the 2nd cable, that's 7 failed attempts.
* Take pictures of your old phone with your new phone and make sure to remove all the metadata from those pictures:
for img in $(ls *.jpg); do mogrify -strip $img; done
* Now you're good to go, put that old heap of junk up for sale!
If you have any comments, go ahead.
So you want to have some more control over your android phone? Sure you do. For any, just slightly above userlevel stuff you might want to do with it, you require the tools ADB (the Android Developer Bridge) and Fastboot (Fastboot). Since I am still quite ignorant to all of this, I decided to write a small reminder blagpost for myself on how to get those tools. Oh yea, this is all on Windows. Linux users have package managers and stuff like this just works.
You will need the Java Development Kit. After you got that, you need to get the Android SDK Tools. Download "SDK Tools Only". Once you have installed it, open the SDK Manager. It will want to install a lot of stuff, but unless you actually want to do development, you might not even have to install anything. I installed the following only:
* Android SDK Tools
* Android SDK Platform-tools
* Google USB Drivers
Assuming that %GSDK% is the path where you installed the SDK tools, you will find the applications adb.exe and fastboot.exe in
You might want to add that to your path, or not. Fun fact. If you use cygwin, you can call adb shell from a cygwin terminal and then invoke bash on the phone, and the cygwin terminal will interpret all the color codes sent back from the phone's bash correctly, so you can have a really comfortable shell open on your phone:
As some of you might know, I got my first mobile device now and started playing around with it. Today, I need to rant, because I lost 79 cents. When you buy an app on the amazon app store, you can no longer use it after you uninstall the amazon app store. Other android users also hate the amazon app store because it is an obnoxious app which is mean and does not let you use apps which you paid for with money after you get rid of the data-leaking abomination it is. Do not use it. I simply bought ownCloud on the humble, trustworthy google play store again. I have no time to deal with amazon over those 79 cents. But I have time to write this scornful post.
I've had an Android phone for quite some time now. I do not want to give *anyone* my personal contacts. However, I want to synchronize my contacts across devices. So I used the *MyPhoneExplorer* to manually sync my contacts between the phone and all my three clients. Since this is a pain in the ass, I was looking for an alternate solution.
Do you want to know how I did it?