Go Back   TechArena Community > Software > Software Development
Become a Member!
Forgot your username/password?
Tags Active Topics RSS Search Mark Forums Read

Reply
 
Thread Tools Search this Thread
  #1  
Old 11-02-2009
Member
 
Join Date: Mar 2008
Posts: 416
What is Reverse Engineering?

Hello,

I want to know what is Reverse Engineering?

Regards,
Reply With Quote
  #2  
Old 11-02-2009
Member
 
Join Date: Jan 2008
Posts: 1,515
Re: What is Reverse Engineering?

Here it is from Wiki

Quote:
Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, electronic component, or software program) apart and analyzing its workings in detail, used in maintenance or to try to make a new device or program that does the same thing without copying anything from the original.

Reverse engineering has its origins in the analysis of hardware for commercial or military advantage [1]. The purpose is to deduce design decisions from end products with little or no additional knowledge about the procedures involved in the original production. The same techniques are currently being researched for application to legacy software systems, not for industrial or defense ends, but rather to replace incorrect, incomplete, or otherwise unavailable documentation[2].
Reply With Quote
  #3  
Old 11-02-2009
Member
 
Join Date: May 2008
Posts: 115
Re: What is Reverse Engineering?

Reverse-engineering is used for many purposes: as a learning tool; as a way to make new, compatible products that are cheaper than what's currently on the market; for making software interoperate more effectively or to bridge data between different operating systems or databases; and to uncover the undocumented features of commercial products.

Learn Reverse Engineering
Reply With Quote
  #4  
Old 11-02-2009
Member
 
Join Date: May 2008
Posts: 40
Re: What is Reverse Engineering?

Software reverse engineering is done to retrieve the source code of a program because the source code was lost, to study how the program performs certain operations, to improve the performance of a program, to fix a bug (correct an error in the program when the source code is not available), to identify malicious content in a program such as a virus or to adapt a program written for use with one microprocessor for use with another. Reverse engineering for the purpose of copying or duplicating programs may constitute a copyright violation. In some cases, the licensed use of software specifically prohibits reverse engineering.

Someone doing reverse engineering on software may use several tools to disassemble a program. One tool is a hexadecimal dumper, which prints or displays the binary numbers of a program in hexadecimal format (which is easier to read than a binary format). By knowing the bit patterns that represent the processor instructions as well as the instruction lengths, the reverse engineer can identify certain portions of a program to see how they work. Another common tool is the disassembler. The disassembler reads the binary code and then displays each executable instruction in text form. A disassembler cannot tell the difference between an executable instruction and the data used by the program so a debugger is used, which allows the disassembler to avoid disassembling the data portions of a program. These tools might be used by a cracker to modify code and gain entry to a computer system or cause other harm.
Reply With Quote
  #5  
Old 11-02-2009
Member
 
Join Date: Jan 2008
Posts: 56
Re: What is Reverse Engineering?

I feel sad about people saying Reverse Engineering as illegal... First of all, Reverse Engineering is a pure technical word, and breaking the software protection is called cracking, a different name used in underground for Reverse Engineering and perhaps cracking deploys Reverse Engineering Technology....

In Earlier decades, Reverse Engineering is used to improve software, developing anti virus programs, making a software compatible with third party software or hardware...... But as time goes by, it was used illegally more than constructive purposes...

But still it plays important role... It is an interesting and complex field....

If you want to do Reverse Engineering, Learning Assembly language like MASM, NASM is better..... Because you don't have source code, so you cant make change in high level... You have to reverse engineer it....
Reply With Quote
Reply

  TechArena Community > Software > Software Development
Tags:



Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads for: "What is Reverse Engineering?"
Thread Thread Starter Forum Replies Last Post
Which one is better Mechanical Engineering or Electrical Engineering? Falgu Education Career and Job Discussions 10 12-07-2012 12:04 PM
What is the difference between Computer Engineering and Engineering in Information Technology Neighbour Education Career and Job Discussions 7 15-07-2010 04:40 PM
How does reverse dns work Tionontati Technology & Internet 6 20-06-2010 12:29 AM
How the reverse() function can be used in C++ BossBattle Software Development 5 20-02-2010 04:55 PM
What is the difference between Computer Engineering and Software Engineering Paramartha Education Career and Job Discussions 4 25-09-2009 04:16 PM


All times are GMT +5.5. The time now is 12:00 PM.