Writing Tip – Computers Made Easy Part I

I’m starting up a short series on computers and how to write about them. Today’s entry is on hacking.

Strange characters and phrases danced across Max’s dark sunglasses. The Nomad was finally talking to him. “All I have to do now is crack the NVRAM and I’ll have access to the CPU,” he said.

“I’ll write up GUI interface in Visual Basic to track the IP Address.” Jolene was ecstatic. All their work had finally paid off. Soon, the Brotherhood of the Sane would finally be held accountable for their crimes.

“Good idea. If we can get the IP Address we can find out who it’s registered to then it’s just a matter of sending the package and we’ll have them.”

The package was a Trojan Horse, a virus designed to first prevent the computer from being shut down then it would strike. The payload would embed itself in the DRAM and the Brotherhood would never be able to get it out.

Jolene’s fingers tapped a staccato beat while Max slowly wormed his way into the bridge. The CPU was a hair’s breadth from him. All their secrets, all the murders, all the bribery, every last dirty deed the Brotherhood had done would soon be spread all over the world. Once he hit the CPU, Max would find the spreadsheet and crack the database. He grinned for the first time in years. Crack that CPU, find the spreadsheet on it, and then the world would know Max Power was an innocent man.

“The program’s running,” Jolene said. “It’s tracking. Southwestern United States. New Mexico. Farmington.”

“I should have figured they’d be hiding out in Farmington,” Max muttered.

“Up on Harper Hill. It’s a trailer park!” Jolene cried.

“Get me a name and an address.”

“Hold… Got it! Harry Harrison,” Jolene said.

“Harry the Sheep Smuggler. I should have guessed.” Max’s finger poised over the Enter button, ready to unleash Hell on Harry.

“4077 Troy King Road, number 446.”

Max’s finger jabbed down on the Enter key. The screen erupted in burst of colors and the harrowing sounds of a server dying screeched from his speakers. “We got him.” Max was breathless. “We finally got him.”

whatamilookingat

I was introducing my son to an important piece of Americana earlier this week, a little show called The X-Files. You might have heard of it. It details the adventures of spooky man and redhead and their ongoing attempts to find the truth.

One of the episodes we watched was Ghost in the Machine. It’s one of the less popular episodes because it doesn’t feature aliens or monsters. I think my son was somewhat disappointed that it doesn’t feature ghosts, either. Rather, it was Mulder and Scully versus a sentient computer. It featured an unholy mishmash of techno-babble and barely understandable references to the Internet.

The-X-Files-T-1920x1080_v2

Unfortunately, mainstream entertainment is rife with this kind of thing. Take a bunch of cool-sounding acronyms, add a hip character who can crack the IRS dBase, and make hacking computers look like child’s play. Some readers or viewers will appreciate the amount of effort that went into looking up the cool-sounding acronyms, others will roll around on the floor laughing at the endless technical mistakes.

Take the scene at the beginning of this post. There’s not a single thing in there that makes a lick of sense, but it certainly sounds nifty. Max sounds like the kind of guy that could hack your computer from a payphone using only an old electric typewriter and a modified See ‘N’ Say.

“The farmer hacks your mainframe while the pig knocks up your RAM.” The kind of stuff they make movies about.

Fun movie, great soundtrack, total bs technology

Fun movie, great soundtrack, total bs technology

In 1993, the year Ghost in the Machine aired, the average person on the street probably didn’t realize that “cracking the CPU” isn’t something that really happens and even great programmers would have a bear of a time writing a virus to delete an artificial intelligence in a couple hours. From a prison cell.

But, heck. it’s entertainment, right? So what if The X-Files cut a few corners or didn’t research every little bit? In 1993 it wasn’t quite the problem it is now; computers were just starting to make their way into the average home and most people didn’t know what a URL is. Besides, The X-Files totally nailed that alien thing.

It’s 2016 now and there is less of an excuse for not doing a bit of research. That line about “Writing a GUI interface in Visual Basic to track the IP Address” is near verbatim from a CSI episode that aired sometime around 2008. It’s complete nonsense to anyone who has even a nodding acquaintance with computer and network technologies.

A GUI is a graphical user interface – a fancy term for the cool pictures you see on your screen. So, a GUI interface is a graphical user interface interface. GUI’s are usually defined by the Operating System (think Windows, OSX, or Linux), so you don’t actually write the GUI, you use the existing GUI to display information. And you definitely don’t write one in Visual Basic. Visual Basic (VB) is a programming language, but you can’t use it to define the GUI.

An IP Address is a series of numbers that tell your computer how to get to another computer. 10.0.0.1 is a pretty common one. Computers love IP addresses because they tell the computers where each other are. They’re not physical addresses, though, and there’s usually no way to tie a physical address to an IP Address. They’re also not assigned to people. In fact, chances are high that you’re not using the same IP Address today that you were using yesterday. A background service assigns your computer an IP Address in most cases and you may or may not even know it.

If you want to track an IP Address, use something like tracert, or a visual trace route tool. There’s no need to write a graphical user interface interface to do it. Even then, you won’t get much of an address. On a good day, you’ll get the city the IP address is currently being used in. On a bad day, you’ll get the country. You certainly won’t get a street address.

The really disappointing thing about hacking in the real world is the complete lack of exciting things and flashing lights. Most hacking consists of sitting in a hotel room and running automated penetration tools to look for open ports or unpatched operating systems. When those don’t work, hackers will spend some time on the phone simply asking questions. You’d be amazed at how much information people will give you if you important and sincere. Successfully loading a virus on someone’s computer won’t give you a splash of color and explosions on your screen. At the most, you’ll likely get a message that says “Done.”

So, what does this mean to writers? Well, if you’re going to write about technology and hacking, it behooves you to do a bit of research. The Internet is full of information about computers and hacking. There are technology groups that are usually happy to help. Even the IT staff at your job would probably be willing to give you a few pointers.

Take a little bit of time and you’ll save a lot of face later on. If you don’t know the difference between NVRAM and DRAM, it’s easy enough to look it up (BTW, see if you can guess what’s wrong with my usages in the scene above). Go a step beyond what CSI and The X-Files did to get a bit more of an insider look at hacking computers and it will make your story much better. If you want, drop me a line. I might be able to help out.

Next week, we’ll look at how to avoid letting technology totally take over the story, because the flip side to not knowing enough is knowing too much.

Do you have any favorite completely messed up technology stories?

Hollywood and Technology

Technology has always been near and dear to my heart.  I wrote my first program when I was in the 4th grade on an old Apple IIe.  It was just a simple Star Trek program written in BASIC.  By the time I was in 7th grade, I was rewriting Oregon Train and tinkering with BASIC’s “high resolution” graphics.  Over time I worked with Logo (still fun to move the turtle around), Pascal, and FORTRAN.

In college, I largely forgot about programming and only picked it back up again when I started teaching databases and network administration at my first job.  Since then, I programmed in Visual Basic, C#, Java, Javascript, SQL, and a smattering of C++.  I won’t say I’m the best programmer in the world, but I’ve done some pretty cool stuff.

All this is why scenes like this one drive me up a wall.

This is a scene from CSI NY that demonstrates quite possibly the worst techno babble I’ve come across.  Why would you write a GUI in VB to track an IP Address when you can just type tracert <ip address>, or use a visual trace route program?  If you want to find out who owns an IP Address, you can just do a whois search on in.  Once you find out what ISP owns the IP Address, call them and ask who it’s assigned to.  There’s no reason to write a custom program in an archaic language to track down who owns an IP address or the general geographic area that IP Address is coming from.

Aside from all that, the show did a magnificent job of not only coming up with an asinine explanation for how to do it, they didn’t even bother to explain to their audience just what the heck an IP Address even is.

If you’re already familiar with networking, skip this section and go straight to the big finale.  If you’re not, an IP Address is a string of numbers that’s attached to every computer and router (and some other stuff, too) on the Internet.  It lets computers know to find each other and send data back and forth.  Without getting into the nitty gritty of packet routing, switches, WAN, subnetting and supernetting and all the other technologies and techniques that make the Internet work, think of an IP Address as being very similar to your house address, only formatted backwards.  1600 Pennsylvania Ave, Washington, DC. 20006 is a physical address.  It starts with the smallest point (1600, the location on the block) and moves to the largest (Washington, D.C.).  An IP Address, such as 192.168.32.1 goes the opposite direction: 192.168.32 is the largest point (the network id) and 32 is the smallest (the actual computer on that network).

Granted, there’s a little more to it, but that’s the general gist.  Every time you connect to a website (like this one), you’re sending your IP Address to a server and the server is sending data back to your IP address.  Even the URL (ericlahti.wordpress.com) is just an easy way for you to remember the IP Address of one of the WordPress servers (76.74.254.123 last time I checked).  A URL is nothing more than a stupid human trick designed to make the Internet easier to remember.

So, even with all that, can you actually physically track a person down by their IP address?  Not really, but I’m sure the police could make use of some of their power.  If you’re tracking down a killer by their IP address, I’d start with a whois search to see who the IP Address is registered to.  It’ll probably be an ISP that distributes their IP block through DHCP.  An ISP should be able to find out which cable or DSL modem out there has been assigned that IP address, that modem will be registered to an account, which will have a physical address.  Voila!  No need for a Visual Basic GUI, no need for a custom application when a phone call and a quick web search would be faster and easier.

Thus, the scene could have been written like this: “I’m going to do a whois search to find out who owns that IP address then call the ISP to get their mailing address.  We should have this guy in five minutes.”

All that said, here’s my open message to Hollywood.  Next time you guys need something technical, feel free to email me.  I’ve got a ton of experience taking complicated technological problems and boiling them down into something easy to digest.

My email address is on the contact page.  Or you can just leave a comment.