|Last modified 2001 JUL 31 17:56:16 GMT
|Read the site Disclaimer
A term or two is in order. HPAVC (sometimes H/P/A/W/V/C or a subset) stands for: Hack, Phreak, Anarchy, Warez, Virus, Crack. This shouldn't be read as implying that an association or interest with one means an association with the others -- they are merely related arts. Much like baseball and football might be discussed in the same places - an interest in one doesn't imply an interest (or proficiency) in the other.
Hacking, despite the common misconception promoted by the media that it is illegal or somehow wrong, is not. Hacking is a mindset applied to solving problems. Not all problems can be solved by strictly linear scientific approach - sometimes you have to "attack" a problem. Believe it or not, but most people are hackers in some form or another -- the term is generally only applied to the more talented hackers, the ones who actually believe in the methods used, and apply them often. A hacker is also the kind of person who doesn't stop at "okay it works, we're done," they continue to examine other possibilities. They don't accept that "it works, leave it at that," they want to know WHY and HOW it works. That's hacking -- not the crummy stuff the media spouts about breaking into computer systems and wreaking havoc.
By the nature of most of the software I've worked on at one point or another, it has been necessary to resort to the methods of hacking -- reverse engineering something which is not documented, re-creating something which no longer has source, stretching the capabilities of an existing program by patching into it. Hacking is a lot of things. Some people hack for good reasons, others for the wrong reasons.
BTW - I find all these fools that are coming up with clever ways to write words without actually using letters (or at least the appropriate ones: "f()()lz" (fools)) are absolutely non-representative of the average hacker mentality. They might call themselves hackers, but they sure don't act it.
Phreaking is a telecom type of hacking. For the most part, illegal, since often the object is to gain access to telecom services without paying for them. This isn't to say that all phreaking is illegal or wrong though - most of the people who deal with your telephone systems do some amount of phreaking in the everyday application of their jobs. The telecom networks wouldn't be as advanced and capable as they are nowadays if there weren't phreaking (either as a product of commercial engineers/phreakers, or as a result of needing to improve the system to close loopholes used by those phreaking the system).
Anarchy. There's a big one. Power to the people. Everyone for themselves. Evokes some sort of image of chaos, rampant crime in the streets or something, doesn't it? Well, it isn't necessarily that way - Anarchy shouldn't imply that people who have a bent towards anarchy are actually against government -- but rather, it is the principle that INFORMATION should be available to all, not just a select few.
Warez. See the cracking section below, but essentially, Warez are "software" being redistributed through electronic channels. Some of these are simply the install disks, others are cracked versions (serial/copy protect removed). If you're in the software business, I suggest you consider watching some of the warez sites and newsgroups to see if your software shows up. It is unlikely you'll manage to get any prosecution on something you might find (though it has been accomplished), but on the other hand, at least you can adapt to the situation - change your serial number scheme, or whatever. Some references to "warez" is merely as a synonym for "softwares", or programs, and doesn't necessarily mean "pirated", so don't leap to judgement when you see a site referring to warez.
Viruses. Nasty things. Some are created to be nasty, some are scientific experiments in Artificial intelligence and quite possibly life itself. My interest in viruses is simple -- I'd like to write a program which can actually isolate and identify a virus and produce an antiviral component to combat it, in a nearly automated fashion. In order to do this, you've got to study viruses (don't worry - I do that on an ISOLATED system).
Cracks. Cracks take many forms -- some are merely secret codes, or serial numbers, and others are patches to the program (or even other programs running simultaniously to perform the crack). For the most part, cracks are for removing copy protection or simulating a registration of a product without actually doing so. This is generally unfortunate (at least for the software developer), but there are times when the information is of use for PERSONAL use (notably, truly annoying copy protection that makes you, a legal purchaser of the software, rummage through a manual looking for code numbers every time you run it -- "type in the 324th word of the fourth paragraph on page 18 of the user's guide, which is most likely in the box on the shelf"). I don't condone piracy, but unfortunatley most of the information you'll find under the heading of "cracks" will be aimed at an audience who is looking for a way to use their buddy's copy of software on their computer without paying for it. A note to programmers: examining cracking material is an excellent way to learn the do's and don'ts of employing your own copy protection system -- I highly suggest examining the methods which appear not to work very well, and trying your hand at breaking the harder ones. One builds a better lock by finding the weaknesses in other locks.
For the record, I've personally -- and LEGALLY (under contract) removed copy protection from programs FOR THE AUTHORS for some software for redistribution on new media (floppy copy protection doesn't work so well if the program has been placed on CD-ROM for instance).
When you look at some situations from several perspectives, things don't always seem quite as wrong as they might on your first impression...
I'll get to sorting this page out sometime when I get the time. As a rule, link names shown here are extracted directly from the title of the document to which the link is to.
Professional Software Engineering
EMail to: PSE@mail.professional.org