Tag Archives: arduino

hack a mac (again)

“No security is better than lame security” – Ray Biez circa 1998

Apple, for all their self-congratulatory PR that fills mainstream media, is privately (in)famous for, well, piss-poor security. It’s harder to remove the OS password from a Windows PC – even one running XP – than it is to do the same on even the latest Mac/MacBook. Ok, it’s not exactly rocket science to remove the user security from either, but you do need more than just your fingers to bust the Windows security.

iCloud is Apple’s offering to secure users hardware in case of loss/theft, a multi-faceted product that covers hardware running both Apple operating systems – OSX and iOS. Although it’s a highly vaunted product, they’ve taken a long time to perfect the iOS version – previous to iOS 7.1.1 it’s not too hard to break that thing off. (Using only your fingers.)

And the OSX version, oh boy.
That’s like a combination lock there, takes 4 digits to unlock it. So let me work this out – 0000 is the lowest possible code, while 9999 is the highest. And if it’s not either of those two, then somewhere in between is your answer. A rather trivial total of just 10,000 possible combinations. Given enough time & patience, this can even be done manually – eventually you’ll type the correct sequence.

Fuck that, manually typing 100 combinations would piss me off. I know, let’s use science & technology! The micro-controller industry has given us a bunch of tiny component-style silicon boards, capable of just a specific task or two. Teensy 3.1 is an Arduino-like board that can be programmed to emulate a USB keyboard & mouse. Here’s the one I received today:

Plug it in via micro-USB – see the glowing light, it lives!

So, hunt down a Teensy 3.1 via your local Googles. Mine was delivered overnight for $NZ41 incl postage. Download and install the Arduino & the TeensyDuino SDK software, which includes the two required libraries – USB_keyboard.h & USB_mouse.h. Copy these two files to a project folder, to where you’ll add the magic code before compiling. The SDK is available in OSX, Windows & Linux variants.

Next you need to either write the code from scratch or source pre-compiled code that’ll do the consecutive number entry we require (with some additional variation in the routine to circumvent Apple’s minor multiple entry time lock defence.)

You’ll find two proven choices, Orvtech and Knoy. I’ve used both, right now – at this very minute in fact, Knoy’s version for the 15″ MacBook Pro is chugging away next to me. I’m not so sure about the Knoy codebase, but since it’s a 5 minute procedure to reprogram the Teensy, the Orvtech code can run on the MacBook Pro if there’s no result from the Knoy compile. The Knoy code runs quicker as it invokes restarts more often than the Orvtech solution. Having said that, Orvtech worked for me last time.

UPDATE: I don’t know why but the Knoy Arduino solution failed. I gave it two machines to play with, parked them in a cupboard & left them alone for 2-3 days each. Both times I returned to find a dark screen, pre-booting the lock screen with the Teensy 3 flashing fast & bright.
Continue reading hack a mac (again)