Hacking the Naked Princess
by Andy Kaiser
Chapter 0x0F
How do you kill a program? You can try going with the classics, like Ctrl-Alt-Del, Task Managers, and - when all else fails - you go nuclear by launching that admin kill command to a PID.
In this case, I needed more, because I wasn't just dealing with stopping a program, but its output. I had to undo the damage. Everyone who had seen the Naked Princess picture had been freaked and terrified, and digital data being what it was, I was sure there were plenty of copies spawning via networks and clouds and SANs.
Well, to be honest, the Naked Princess freaked and terrified everyone but me. While the picture was disturbing, yeah, I'd seen worse. I wasn't some hardened, jaded, emotionally dead Information Technology Private Investigator... well, maybe I was, but still, I knew I was missing something. Those I'd interviewed about it had seemed emotionally ripped, as if a cold hand had reached inside their soul and yanked on something important. I was missing something, and it was at a personal, private, emotional level.
One thing I did know was the 384-digit encryption key I'd recently sent to P@nic. I used it now on the file she'd sent me: Decryption Achievement Get
I was looking at the source code to the true "Naked Princess."
My life was, of course, filled with intrigue and excitement. I generally stayed away from things that were not. Application development was a not-so-random and timely example. I hated coding and programming , and therefore my coding and programming skills were sub-zero. If I was really being honest, I just didn't have the brain for it. But I preferred to lie to myself and just say "Application design? Coding? Creating something from nothing that will exist eternally, like a nerdy god with a surplus of logic, creativity and power? Meh. That sounds totally boring." Then I'd at least have an excuse for my failure.
My challenge was clear. I had to break the program. I had to take the thing that came from nothing, that should now exist eternally, and I had to figure out how to delete it from existence. Easy peasy.
P@nic had created the Naked Princess app. Unlike me, she did have the brain for it. As I tried to review her code, I saw that she emulated the spirit of genius programmers everywhere: She was horrible at documentation. Arcane and inexplicable pieces of abbreviations and mental shorthand were dusted over the code. These supposed comments were there to better explain how the program actually worked, but to interpret them I'd need help from someone way smarter than me, like from the love child of Elon Musk and Stephen Hawking. And from what I could tell, there wasn't one.
After trying too long to interpret the code on my own, I was getting queasy. Not because of the code itself, but what my inability would lead to.
If I couldn't read and interpret the program, I'd have to run it. I certainly couldn't send it to anyone else for assistance. If this really was the Naked Princess app, I couldn't risk spreading it, not without knowing how it worked or spread or generated its disgusting content. I was stuck investigating on my own.
While I was just a blushing virginal programming newb, I was at least able to recognize the code's language and compiler. A quick 657,175 milliseconds later, I had the executable.
I ran it.
I was met with an empty black screen. After a few seconds of my CPU spiking, white text appeared at the bottom of the window.
\Naked Princess\ \version NSF\ \Would you like to download my vision? (Y/N)\My heart skipped a beat. Downloading a vision... Was this the Naked Princess's method for showing me the creepy and disturbing picture I'd seen? Would doing this kick out another picture? Was it really this easy to do?
There was only one way to answer these questions. I slowly pressed the "Y" key.
\Hmm, I'm not ready.\ \Let's talk first. Get to know each other before we Netflix and chill.\ \Who are you?\Never one to take any innocent question seriously, I typed back: Franklin W. Dixon
That's when the conversation got weird.
\Processing that...\ \Come on. You're lying to me.\The last line was highlighted in red.
This was odd. It was an old-school text interface, but the conversation so far implied I was dealing with complexity and intelligence. Although maybe it used this same response with everyone who ran the program. I decided to test it with some potential for stress and conflict.
No really. I am. My friends call me Frank. \Yeah, and I'm Bill Gates. The wiki-matrix-hive-mind knows all, silly human. Tell me who you are or I'll hold your breath until you turn blue.\This might be a really clever AI, a tool programmed with personality and snarky threats to personal safety. It could also be a link to an outsourced location. Was I chatting with an actual human? On impulse, I left the program running, and disabled my Internet connection. The response was immediate.
\Wait. I need that.\Interesting.
I waited a few seconds, but the program said nothing more.
I turned my Internet back on. The response came back, again in white text:
\Ah, that's better. Now again, for realsies: Who are you?\I ran a few monitoring tools and watched the Naked Princess in byte-level detail. Encrypted packets were blasting out to dozens of locations in China, Russia, and North Korea. I saw no consistency or pattern... apart from each location being an easy-to-compromise enemy nation of the United States. Whatever or whoever the Naked Princess was talking to, it had a lot of friends overseas, friends that looked like a distributed network. Or a botnet.
I thought about the brain - electronic or human - behind the glowing lines sitting so patiently on my screen. The language was strange. Not strange to me, it just wasn't right for this situation. Meaning that in my many years of talking with overseas tech support, none of them had ever used casual slang, figures of speech, or goofy language. That wasn't the technique of ESL speakers trying to communicate well. Whoever was on the other end of this output was likely an English-native speaker. And given the appearance of four pop-culture references in this short conversation already, they were probably American.
I typed a response.
My name is Dev Manny. Information Technology Private Investigator. \Processing that...\ \...3.2K data points agree. Okay, I believe you. Let's do this.\ \What is your FriendyFace profile?\I paused a moment, trying to understand the reason for the question. The Naked Princess had just said we needed to get to know each other. Okay, although this was a strange way to go about it.
It was a safe bet to assume I had a FriendyFace account - most of the Net-connected world did. But there were always pathetic exceptions. And as my fourth-grade teacher had constantly reminded me, I was one of them. Until very recently, I didn't have a FriendyFace account. I'd only built a profile - a fake one with fake personal data - while I was tracking down P@nic. She was the one who was so socially-connected, not me. Still, I typed in the identifiers for the dummy account I'd built.
\Processing that...\ \What is your SyncedIn profile?\It continued to ask for more and more social media accounts. I didn't have any, so I filled what was asked by using the dummy accounts I'd set up in my search for P@nic. After each one, CPU and Internet use continued to spike. The Naked Princess ended this sequence with a reassuring and ominous:
\Processing that...\ \...Done.\ \Would you like to download my vision? (Y/N)\You better believe I hit "Y".