By Dan Moren
March 25, 2020 6:00 AM PT
Unpacking, hacking, and cracking a Power Mac G3
Warning: This story has not been updated in several years and may contain out-of-date information.
How do you access a Mac built in 1999 and last used in 2008 when you have no compatible display and barely any ports in common?
No, this isn’t a riddle.
Well, I guess, it’s sort of a riddle.
Like many of you, I’ve been trying to find ways to keep occupied while stuck indoors, and after I’d done the dishes, put in some laundry, and got tired of reading the news, I turned to a long-procrastinated task: cleaning out all my electronics junk. This had a couple of phases, one of which was physical, but the more time-consuming part has been mostly virtual, as I’ve been cleaning off computers and hard drives spanning back a couple decades.
But I left the greatest challenge for last.
Only one old computer left in the office. Time to see if this big boy boots. pic.twitter.com/lUNHc66nbR
— Dan Moren (@dmoren) March 24, 2020
My Blue & White Power Mac G3. I unabashedly love this computer. While it wasn’t my first Mac, it was the first Mac that was truly mine. Acquired for my sophomore year of college, it was one of the first Macs to have a DVD drive (turning my dorm room into the place we watched movies on a laughably small 17-inch monitor), and it not only spanned the Classic Mac OS and Mac OS X eras, but saw numerous upgrades along the way, including an additional internal hard drive, the addition of a PCI card with four USB 2.0 ports, a RAM upgrade to a then-amazing 512MB, and even an eventual processor bump wherein a 600MHz G4 chip replaced the stock 400MHz G3.
Basically, it’s been through a lot.
Make sure we’re connected
So, how to connect to this venerable machine? It has USB ports, FireWire 400 ports, and even an ADB port and a modem1, but it predates both FireWire’s Target Disk Mode (even if I had a machine with a FireWire port or the right combination of adapters to connect to it) and built-in wireless networking. I can’t even connect it to a monitor, as it only sports a VGA port, and I don’t have the means to connect that to either my HDTV or the old Apple Cinema Display I have in my office.
Look, let’s cut to the chase: if all I wanted was to get old data off the machine, the easiest thing by far would be to pull the internal hard drives and pop them in a USB adapter. Done and dusted.
But I have to admit, I was curious: I wanted to see if the machine would boot and, moreover, if I could actually log in to it. I’d previously had good luck getting into my old Core Duo Mac mini by using an Ethernet cable2 and logging in via
ssh. That took a little doing, but I figured what I’d learned from that exploit ought to prepare me well for this undertaking.
Not even close.
Both the G3 and the Mac mini started with a similar problem: I’d configured them to use static IP addresses. Ironically, this was accidentally complicated by the fact that I’d very recently replaced my ancient AirPort Extreme with an Eero base station—and, as it turns out, they use different subnets by default.3
My bacon was, fortunately, saved by two lucky breaks. Firstly, Apple’s Bonjour service4, which provides plain-English addresses and makes network discovery easier. Secondly, even though I could not originally get access by
sshing into the static address (which I did not initially remember), the Bonjour name helpfully sent me to the G3’s IPv6 address, which did work.
At first, that provided very little traction—scanning the ports with the
nmap utility that I installed via homebrew, it seemed as though all the network ports on the G3 were blocked, even though I knew I’d frequently used
ssh to log in to the machine remotely back in the day. Attempts to log in via screen sharing and file sharing were likewise fruitless. On a whim, I restarted the machine from the command line, at which point i was able to at least get a response on the
ssh port, though still only via the IPv6 address.
Then I hit the next roadblock: remembering the password of a machine that had not been booted for over a decade.
Too many secrets
Here’s where my guilty confession comes in. While I’ve mostly transitioned to using strong unique passwords for everything, my Mac login passwords have long been based on a certain predictable (to me) pattern. So while I didn’t remember the exact iteration of the password, I knew enough that in theory I ought to be able to reverse engineer it.
I recruited friend of the site James Thomson to help and he quickly generated a list of 250 or so possible permutations based on an obfuscated pattern that I gave him. I planned to run those as a brute force attack over
ssh using some commonly available command line tools.5
Alas, that attempt to get my Crash Override on was stymied by the fact that I could still only access the machine via its IPv6 address, which apparently doesn’t play nicely with macOS as far as those brute force tools are concerned. So, instead, I fired up Numbers and set about figuring out the most likely password candidates; I ended up with 48 possibilities.
I hit the jackpot on number nine.
When I finally got in, the last login date on this computer was listed as Wednesday, January 23, 2008, or exactly 4444 days ago. ðŸ˜±(Also, my Cowboy Bebop nerdery is on full display with this machine.) pic.twitter.com/A7pt6fWjhB
— Dan Moren (@dmoren) March 24, 2020
Upon login, I was not only greeted with a good old Terminal Message of the Day I’d put in some decades past, but also with the note that the last login had been on January 23, 2008, or—amazingly—exactly 4444 days ago.6
Once logged in via the command line, I figured the world was my oyster. I was able to use the terminal to switch from the static IP address to DHCP, so it could actually get on the network, and also use file sharing via the Finder so I could access all the (incredibly intact!) data on the machine.
Seeing is believing
I could have stopped there, but curiosity had gotten the better of me—I wanted to actually see this vintage machine in action. Seemed like I ought to be able to get screen sharing working; all it takes to enable it via the command line is a literal kickstart.
Except this machine was running Mac OS X Panther 10.3.9…a version that predated the OS’s built-in screen sharing features.7
Fortunately, past me was an even bigger nerd than present me, if such a thing is possible. I had a vague memory of using a third-party VNC server before screen-sharing was eventually built into the OS. So I checked the Applications folder and, sure enough, discovered the OSXvnc server app (now Vine). Digging into the app package via the command line, I was pretty sure that I should be able to start it with the right terminal command, and a little googling turned up a result from, of course, Mac OS X Hints, the site founded by my old Macworld colleague Rob Griffiths.
With a little further googling about how to set the VNC server’s password, I got the service up and running, hit Connect to Server in the finder on my iMac and…success:
Now this is a blast from the past. The finest software that 2005 has to offer. Enjoy the lickable Aqua interface! The brushed metal! The hacked dock that I pinned to the bottom right! There’s a copy of EV Nova and it probably even runs! It even still has the Classic environment for running old Mac OS applications.
I’ve recovered the few files off this device that I didn’t have on other devices8, but I don’t have any plans to wipe this computer. After all, why, when it works so well?
- I think the modem also worked as a fax machine with the right software. ↩
- Thank heavens for the Mac’s autosensing Ethernet ports—I actually have a crossover cable, but this makes life way easier. If you don’t know what a crossover cable is, ask your parents, kids. ↩
- The Eero uses 192.168.2.x by default, but I’ve always been a 192.168.1.x guy. ↩
- Amusingly, as the G3 was running Panther (10.3), it still used Bonjour’s original name of Rendezvous. ↩
- Look, I’ve seen every episode of Mr. Robot. How hard can it be? ↩
- When this computer was last used, I was 27, unmarried, living in a different apartment, less than a year into being an Associate Editor at Macworld. It was a couple months before the collapse of Bear Stearns and the real beginning of the financial crisis, and George W. Bush still had about a year to go in his final term. That’s right, this computer sat out the entire Obama administration. Sorry, buddy. ↩
Panther does, however, include Apple Remote Desktop, which supports screen sharing and even has an earlier version of the
kickstartcommand linked to above, but I couldn’t seem to get it to work, probably because, you know, it’s very old. ↩
- Including a parody video made for my college anime club that, upon review, probably doesn’t need to be seen by anybody ever again. ↩
[Dan Moren is the East Coast Bureau Chief of Six Colors. You can find him on Twitter at @dmoren or reach him by email at firstname.lastname@example.org. His latest novel, The Nova Incident, comes out in July and is available to pre-order now, so do it!]
If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.