What do you mean by "reverse engineer?" I have heard this word several times especially in the world of hacking, but... can someone tell me what it really meant?
Reverse engineering is process of 'mimicking' the specifications of another product by copying the 'abstract interface' of it. Example: I write a desktop application that greatly increases employee productivity, and it sells like hotcakes. Another company decides that I am gaining too much market share with my product and decides to reverse engineer the product so that they can create a competing product. They hire an engineer who takes the program and analyzes the input and output with a detailed script of test patterns (heaven forbid he might even decompile the program and snoop). By doing so, he now has a complete product specification minus the implementation (i.e. how it works). He then takes the product specification and gives it to another engineer (actually it's done through 'clean' liaisons) who then creates a product that does the exact same thing as mine--but with a different implementation process. Because the product copies the specification and not the implementation, it does not infringe on copyrights or patents.