by Gary D. RobsonBlacklisted! 411 (Dec 2003)NOTE: The payment issues I posted here concerning Blacklisted! 411 magazine have been resolved, and I have been paid in full. Thank you to those who responded.This article is based on an essay I wrote in December of 1998.Looking for advice on learning to crack passwords, sabotage systems, mangle websites, write viruses, and plant Trojan horses? You came to the wrong place. I'm not that kind of hacker.Looking for advice on how to learn the guts and bowels of a system or network, get inside it, and become a real expert? Maybe I can help there. How you use this knowledge is up to you. I hope you'll use it to contribute to computer science and hacking (in its good sense), not to become a cracker or vandal.This little essay is basically the answers to all the emails I get asking how to become a hacker. It's not a tutorial in and of itself. It's certainly not a guaranteed success. Just give it a try and see what happens. That said, here's where to start:Be curiousTake things apart. Look under the hood. Dig through your system directories and see what's in there. View the files with hex editors. Look inside your computer. Wander around computer stores and look at what's there.Read everything in sightIf you can afford it, buy lots of books. If you can't, spend time in libraries and online. Borrow books from friends. Go through tutorials. Read the help files on your system. If you're using Unix/Linux, read the man files. Check out the local college bookstores and libraries. And as you're reading, try things (see next paragraph).ExperimentDon't be afraid to change things, just to see what'll happen. Do this long enough, of course, and you'll wipe out your system (see next paragraph), but that's part of becoming a hacker. Try command options and switches you've never tried before. Look for option menus on programs and see what they can do. In Windows, tweak your registry and see what happens. Change settings in .INI files. In Unix, dig around in the directories where you don't normally go. On the Macintosh, play around in the system folder.Make backupsIf you start mucking around with system files, registries, password files, and such, you will eventually destroy your system. Have a backup ready. If you can afford it, have a system you use just for experimenting, ready to reload on a moment's notice, and do your serious work (or serious gaming!) on a different computer.Don't limit yourselfWho says a computer or network is the only place to hack? Take apart your telephone. Figure out your television (careful of the high voltage around the picture tube - if you fry yourself, it's not my fault) and VCR. Figure out how closed captioning works (that was a plug for my CaptionCentral.com Web site). Take apart your printer. Pick up the latest issues of Nuts & Volts and Midnight Engineer (you've obviously made a good start if you're reading Blacklisted! 411). Take apart the locks on your doors. Figure out how your radio works. Be insatiably curious and read voraciously. There are groups you can learn from. There are whole Web sites devoted to hacking TiVo units, for example.Get some real toolsYou can't cut a board in half with a screwdriver. Well, maybe you can, but it'll take a long time. Dig around and find the proper tools for the operating systems you're using. They're out there on the Web. You can get some pretty good stuff as shareware or freeware (especially on Linux). The serious power tools often cost serious money. What kinds of tools? Hex file editors. Snoopers that analyze system messages and network traffic. Compilers and APIs for programming. Scripting tools. Disk editors/formatters. Disassemblers. When you get good, write some of your own.Learn to programIf you want to be a hacker, you're going to have to learn to program. The easiest way to start depends on the operating system you're using. The choice of language is very individual. It's almost a religious thing. Suggest a programming language to a beginner, and someone will disagree. Heck, you'll probably get flamed for it in a newsgroup. In Unix, I'd suggest getting started with Perl. Buy a copy of the camel book (Programming Perl) and the llama book (Learning Perl). You'll have the fundamentals of programming really fast! The best part is that the language itself is free. In Windows, you can get started quickly using a visual development environment like Visual Basic or Java. No matter what the system, if you want to get serious, you'll eventually need to learn C (or C++ or C# or some other variant). Real hackers know more than one programming language, anyway, because no one language is right for every task.Learn to typeHackers spend a lot of time at their keyboards. I type 90+ wpm (according to the Mavis Beacon typing tutor). HackingWiz (of hackers.com and Hacker's Haven BBS fame) says he can type 140+ wpm. The typing tutor may be boring, but it pays off.Use real operating systemsWindows 95/98/Me is a shell on top of a 32-bit patch to a 16-bit DOS. Get some real operating systems (Linux, Windows NT, Mac OS, OS/2...) and learn them. You can't call yourself a linguist if you only know one language, and you certainly can't call yourself a hacker if you only know one OS. Linux is a hacker's dream. All the source code is freely available. Play with it, analyze it, learn it. Eventually, perhaps you can make a contribution to Linux yourself. Who knows, you might even have a chance to write your own OS.Talk to peopleIt's hard to learn in a vacuum. Take classes. Join users groups or computer clubs. Talk to people on IRC or newsgroups or Web boards until you find people to learn with. That can take a while. Every third message on newsgroups like alt.hack* is "teach me to hack." Sigh. The best way to be accepted in any group is to contribute something. Share what you learn, and others will share with you.Do some projectsIt's important to pick some projects and work until you've finished them. Learning comes from doing, and you must follow the project through start to finish to really understand it. Start really simple. Make an icon. Customize your system (the startup screen on Win95, or the prompt on Unix). Make a script that performs some common operation. Write a program that manipulates a file (try encrypting something).Learn to really use the InternetStart with the Web. Read the help for the search engines. Learn how to use Boolean searches. Build up an awesome set of bookmarks. Then move on to other Internet resources. Get on Usenet. Find some underground BBSs. Get on IRC. You'll find useful information in the strangest places. Get to the point where you can answer your own questions. It's a whole lot faster than plastering them all over various newsgroups and waiting for a serious answer.Once you've gone through these steps, go out and contribute something. The Internet was built by hackers. Linux was built by hackers. Usenet was built by hackers. Sendmail was built by hackers. Be one of the hackers that builds something.