I used an arduino clone and 3 servo motors to make a moving arm that can brute force the lock screen of touch screen devices like the iphone, ipad and android devices.
I bought a special stylus from ebay which can interact with capacitive screens and have a regular plastic (with rubber on the end) pole for resistive type screens.
The arduino arm will try every possible combination of code until it gets in (webcam is used to sense when the device is unlocked). Off the bat it can do codes and passphrases and with modification it could do patterns.
I’ve attached a picture of the device in action.
My blog post ( http://spamtech.co.uk/hardware/tablet-cell-phone-lock-screen-cracker/ ) goes into more detail about the pros and cons of such an approach and includes a video of it in action. While it might not be the quickest or best solution to the problem, it’s a fun way of solving the problem and a case of “it may take forever but it can be done”.
I’d love to hear some feedback and perhaps any other ideas along the same lines?
Don't a lot of things lock you out after a few failed attempts now?
I touched on this in the 'caveats' section at the end of my post.
Indeed, a lot of devices do lock you out for awhile if you enter too many incorrect codes. For example the iphone has an increasing lockout period , based on both the time between incorrect tries and the overall number of incorrect tries.
With some smart timing between attempts, you can minimize the length of the lockout period. It's still going to slow you down (a lot) but you would eventually get in.
Compared with software solutions for the major devices (i.e. iphone) often used by law enforcement, this method of cracking a phone or tablet lock screen is less than ideal. But if you had all the time in the world and wanted to get in, you eventually will :)
What controls the camera? I can see in the video that its not connected to the arduino.
I wonder if any thing like this is possible via a USB shield, instead of a physical arm.
Thanks for the feedback Talofer.
The web cam is connected to a macbook running SimpleCV. The arduino is also connected to the same macbook.
It's probably overkill to be honest, I imagine I could do it just as easily with an LDR connected to the arduino.
Thanks for the reply and the http://simplecv.org/ didn't know of its existing :)
Just as a point of note, you can use beef sticks from the convenience store as a stylus for this sort of thing. Much cheaper and quicker to acquire than the capacitive stylii.