Reverse Engineering is a well established discipline of Computer Science where we move in the reverse direction of Software development life cycle.i.e starting with software artificats (binaries, executables, libraries, dll ,resrouces etc) and try to move backward, unwrapping how the software is developed, algorithms used in the software , software design,
Reverse Engineering is considered illegal in many countries.
the usual method is to dissemble the software from machine executable code to human readable assembly code. As more complex system are being developed , making generated assembly too lenghy to comprehend, there comes decompilers for the rescue. decompilers ,decompiles the executables from machine readable binary to high level language,
Reverse Engineering helps in studying compiler code generating and further optimization. It also allows to analyse the code for possible loop holes and backdoors. also it helps to think an algorithm backward to its origin. In some countries this is offensive to the developers of the software,
Mostly reverse enginering is used by cracker to by pass software licensing ploicies and algorithms. hackers uses these technolgies to analyse vulnerablities of the system, that can be compromised.
But still this new paradigm has contributed vastly to how the world sees the licensing and code authentication algorithms, as we can see new technologies about preventing reverse engineering are emerigng,like obfuscation , code signing. etc
2006-09-30 06:14:54
·
answer #1
·
answered by s_faraz_mahmood 2
·
1⤊
1⤋
Reverse engineering (RE) is the process of discovering the technological principles of a mechanical application through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, an electronic component, a software program) apart and analyzing its workings in detail, usually with the intention to construct a new device or program that does the same thing without actually copying anything from the original. The verb form is to reverse-engineer.
Reverse Engineering is essentially Science, using the scientific method. (Conversely, engineering could be thought of as 'reverse science'). Sciences such as biology and physics can be seen as reverse engineering of biological 'machines' and the physical world respectively. In Computer Science, reverse engineering is arguably the only subfield that is truely a science, the rest of the field being constructive 'forward' engineering.
2006-09-30 10:46:24
·
answer #2
·
answered by technostar 2
·
0⤊
1⤋
Reverse engineering is taking a product ( computer software ) and creating the source code from the software. It is useful becausing it allows hackers (the real ones, not crackers) to find out how a program works from the source code.
2006-09-30 06:03:12
·
answer #3
·
answered by A.K. N 2
·
0⤊
0⤋
In programming, one usually starts with a problem to solve. Step one is to come up with an algorithm to solve it. Then based on that algorithm, source code for a particular programming language is written to carry it out. The source code is then compiled into binary code a computer can understand.
In commercial software, it is this binary code which is sold to customers while the source code is kept secret. Reverse engineering in this sense means taking those binaries and "decompiling" them. That is, turning them back into source code a human being can understand.
Doing so can allow someone to make a competing product that solves the same problem. It can also be used malicously to find vulnerabilites in the original program to exploit.
2006-09-30 06:09:40
·
answer #4
·
answered by stork5100 4
·
0⤊
0⤋
Reverse engineering is examining the end product and creating copycat software, rather than stealing the source code directly.
2006-09-30 06:02:31
·
answer #5
·
answered by Fix My PC Mike 5
·
0⤊
0⤋
Reverse engineering means start the work from the end or result; regarding software getting software modules from others alter it it to get desired result.
2006-09-30 06:36:01
·
answer #6
·
answered by Poor Mechanic Parvaty 2
·
0⤊
0⤋
taking an assembly and make it into code.
for example you takes an .exe file and you create the source code for it.
2006-09-30 06:12:13
·
answer #7
·
answered by amy w 1
·
0⤊
0⤋
http://en.wikipedia.org/wiki/Reverse_engineered
2006-09-30 05:56:46
·
answer #8
·
answered by alakit013 5
·
0⤊
1⤋