Free Essay

Exploring Reverse Engineering

In: Computers and Technology

Submitted By keisdawg
Words 792
Pages 4
Reverse engineering is the process of figuring out how something works by taking it apart piece by piece. Although this can be done with just about anything that you build; such as car engines, TVs, robotics, etc. when it comes to computers it originally was used to on the hardware end of things. Now that it is applied to the software end of things as well companies can use it as a way to learn and make new products more compatible with other products already out there. When it comes to reverse engineering software there are many benefits. Many people use it as a learning tool to better understand what they are trying to build and what their product is competing with. Some of the benefits of reverse engineering software would be to make products that are new and cheaper than the ones that came before. This way a company is able to take a product that is already out on the market and take it apart piece by piece and see how it works so they can rebuild it cheaper and more efficiently. One famous example of reverse engineering is in the mid-1980s Phoenix Technologies Ltd wanted to produce a BIOS for PCs that would be compatible with the IBM PCs proprietary BIOS. To protect themselves from any charges of illegally copying their BIOS they used what is called a clean room. With the clean room approach there are two teams; one that studies the BIOS that they are trying to recreate and they come up with a detailed report of what it is exactly the BIOS does without using any of the code or anything that will link their description to that particular BIOS. Then this description is given to another team that has not looked at the code of the BIOS they are recreating and they build whole new BIOS off those instructions. This way even if some of the code is the same it will not be a copy right infringement since the second team who actually wrote the code and built the BIOS had no prior knowledge of the first BIOS. The result of this was Phoenix was able to produce a BIOS that ran exactly the same as IBM’S BIOS therefore they were able to sell this software to other companies to create the first IBM-compatible PCs. Although reverse engineering is technically legal it does pose some risking business ethics and security problems for some companies. Sometimes reverse engineering a program will uncover certain privacy based practices that come into question; for example Convergence Corp’s CueCat scanning device revealed that each reader has a unique serial number that allows the maker to marry scanned codes with user registration data and thus track each user’s habits in great detail, which was a previously unpublicized feature. So if your software has any back door applications or motives then if someone reverse engineers your product you may be in a lot of trouble. Besides the security and ethical point reverse engineering large programs such as operating systems is just too expensive to do, it would be more feasible for a company to start from scratch and make a brand new operating system of their own. Also a lot of companies are trying to stop people from reverse engineering their products. One way of doing that is by shrink-wrap licenses that explicitly prohibit anyone who opens or uses the software from reverse engineering it. Although this method of stopping someone from reverse engineering their product has not been tested in the court system yet. The Hopper is an application that helps with the reverse engineering of OS X and Linux. It allows you to disassemble, decode, and debug your 32/64 bit Intel Mac, Linux, Windows, and iOS executables. Some of the features include a decompiler which is based on the advanced understanding of the executable and can present a pseudocode that represents the procedures and functions of the code in the executable. Another feature would be the debugger which allows you to debug and analyze the binary of the program you are reverse engineering. The Hopper also displays a control flow graph once it has detected a procedure. This graphical representation of the procedure will allow for a better understanding of what the program is doing and when it is doing it. This can be exported to a PDF and printed thanks to the Hopper. The Hopper is also perfectly adapted to the environment, the OS X version makes full use of the Cocoa framework and the Linux version makes use of the Qt 5 framework. The Hopper is just one of the many tools that are out there to help you reverse engineer software.

Similar Documents

Premium Essay

Exploring Reverse Engineering

...“Reverse engineering is the process of extracting the knowledge or design blueprints from anything man-made. Reverse engineering is usually conducted to obtain missing knowledge, ideas, and design philosophy when such information is unavailable. In some cases, the information is owned by someone who isn't willing to share them. In other cases, the information has been lost or destroyed” (Eilam, 2005). The advantages and disadvantages of reverse engineering are as follows; Advantages * It helps in the evolving of existing computing systems. * “You can change a program's structure and thus directly affect its logical flow. Technically this activity is called patching, because it involves placing new code patches (in a seamless manner) over the original code” (Hoglund & McGraw, 2004). * As a learning tool * As a way to make new compatible products that are cheaper than what's currently on the market. (Schwartz, 2001) * For making software interoperate more effectively or to bridge different operating systems or databases. * To uncover the uncoordinated features of commercial products. Disadvantages * “Manually translated source code often retains the style and flavour of the original implementation”. (Byrne, 1991) * “The most commonly recognized problem with literal translation is summed up as: garbage in, garbage out. If the existing system is not well-structured, both in terms of its architecture and control-flow, then the resulting system will be of the same...

Words: 443 - Pages: 2

Free Essay

Unit 3 Research Assignment 1

...Assignment 1 Exploring Reverse Engineering Reverse engineering can be viewed as the process of analyzing a system to: 1. Identify the system's components and their interrelationships 2. Create representations of the system in another form or a higher level of abstraction 3. Create the physical representation of that system. Reverse engineering is very common in such diverse fields as software engineering, entertainment, automotive, consumer products, microchips, chemicals, electronics, and mechanical designs. For example, when a new machine comes to market, competing manufacturers may buy one machine and disassemble it to learn how it was built and how it works. A chemical company may use reverse engineering to defeat a patent on a competitor's manufacturing process. In civil engineering, bridge and building designs are copied from past successes so there will be less chance of catastrophic failure. In software engineering, good source code is often a variation of other good source code. Reverse engineering enables the duplication of an existing part by capturing the component's physical dimensions, features, and material properties. Before attempting reverse engineering, a well-planned life-cycle analysis and cost/benefit analysis should be conducted to justify the reverse engineering projects. Reverse engineering is typically cost effective only if the items to be reverse engineered reflect a high investment or will be reproduced in large quantities. Reverse......

Words: 342 - Pages: 2

Free Essay


...Reverse engineering is when something is broken down to better understand it, simplify, copy, or to make better. EATURE “Battle Brews Over Reverse-Engineering A number of recent court cases have ruled against the use of reverse engineering, but critics say this will hurt U.S. software development and - ultimately- users. * Ann Harrison , 05/08/2000 * App Development * Feature FEATURE Battle brews over reverse engineering A number of recent court cases have ruled against the use of reverse engineering, a move critics say will hurt U.S. software development and, ultimately, users. * Ann Harrison , 05/04/2000 * * Feature FEATURE Contract case could hurt reverse engineering The Supreme Court's lack of action could embolden software companies to ban reverse engineering or take away other fair-use rights already allowed by including such prohibitions in a license agreement.” ((Schwartz, 2001) As the articles above are describing. Reverse Engineering can be excellent in some ways, but, also shows the flaws of a program in many ways making it very vulnerable to those who are out to hurt the development of software companies. Key Features | “Understand your source code faster and more accurately, through software visualization and analysis. * UML Class Diagrams * Control Flow Graphs * Variable Data Flow Graphs * Template Support * Function Pointer Support” (Imagix. Reverse Engineering your software.) | These are the key features of...

Words: 265 - Pages: 2

Premium Essay


...END USER LICENSE AGREEMENT VIRTUALLTEK FREE LICENSE (VFL) LICENSE AGREEMENT This is a legal agreement between you, the end user, and VirtuallTek. By installing and/or open the software you agree to be bound by the terms of this Agreement. If you do not agree with the terms of this agreement, uninstall and/or delete the software immediately (including sub-systems to be installed for this). The software is free, so if you pay for it, contact us immediately with VirtuallTek. CONFIDENTIAL INFORMATION This is a unique work, created from 2008. The VirtuallTek has all rights to this work and want to keep it confidential to preserve his secret for possible commercial purposes. The VirtuallTek reserves the right to protect this work as an unpublished work in case of a deliberate or inadvertent unauthorized publication. The VirtuallTek also reserves the copyright laws for the right to protect this work as a published work. Those who have access to this work can not copy it, use it, or disclose the information contained therein without the written permission of VirtuallTek. Unauthorized use will result in legal proceedings. 1. Grant of License. The VirtuallTek grants you the right to use a sealed copy of the software in question (the SOFTWARE) on how many computers are needed. There are no limits to the application installations and instances. 2. Copyright. The SOFTWARE is owned by VirtuallTek and is protected by copyright laws of Brazil and International......

Words: 470 - Pages: 2

Premium Essay

Unit 3 Assignment

...Algorithm Work Bench * Write assignment statements that perform the following operations with the variables a, b, and c. a. Adds 2 to a and stores the result in b b. Multiplies b times 4 and stores the result in a c. Divides a by 3.14 and stores the result in b d. Subtracts 8 from b and stores the result in a Set b = 2 + a Set a = b * 4 Set b = a / 3.14 Set a = b – 8 * Assume the variables result, w, x, y, and z are all integers, and that w = 5, x = 4, y = 8, and z = 2. What value will be stored in result in each of the following statements? a. Set result = x + y b. Set result = z * 2 c. Set result = y / x d. Set result = y – z a. 12 b. 10 c. 2 d. 6 * Write a pseudocode statement that declares the variable cost so it can hold real numbers. Floating-point variable cost. * Write a pseudocode statement that declares the variable total so it can hold integers. Initialize the variable with the value 0. Declare total as integer = 0 * Write a pseudocode statement that assigns the value 27 to the variable count. count = 27 * Write a pseudocode statement that assigns the sum of 10 and 14 to the variable total. Declare total as integer = 0 set total = 10 + 14 * Write a pseudocode statement that subtracts the variable downPayment from the variable total and assigns the result to the variable due. Declare downPayment as integer Declare Total as integer Declare due as integer set due = total – downPayment * Write a......

Words: 578 - Pages: 3

Free Essay

Reverse Engineering

...[pic] Reverse Engineering a New Trend in Manufacturing [pic] Authors T.Dhamotharakumar* N.S.Ramesh* * Under graduate Student, K.S.R. College of Engineering, Tiruchengode Department of Mechanical Engineering [pic] Abstract With the significant capital investment in new equipment being placed into out years, more systems need to be maintained in their present condition for longer periods of time. There are often gaps in the technical support information needed to maintain a system built from older designs using outmoded or updated techniques or materials. In some situations, designers give a shape to their ideas by using clay, plaster, wood, or foam rubber, but a CAD model is needed to enable the manufacturing of the part. As products become more organic in shape, designing in CAD may be challenging or impossible. There is no guarantee that the CAD model will be acceptably close to the sculpted model. Reverse engineering provides a solution to this problem because the physical model is the source of information for the CAD model. This is also referred to as the part-to-CAD process. "Reverse Engineering is the process of taking a finished product and reconstructing design data in a format from which new parts or molds can be produced."-The Society of Manufacturing Engineers Key Words: Reverse Engineering, CAD, Modeling and......

Words: 3549 - Pages: 15

Free Essay

Itt225 and/or search agents provided by Richman or other generally available third party web browsers; •Send any unsolicited or unauthorized spam and spam comments on posts, advertising messages, promotional materials, email, junk mail, chain letters or other form of solicitation; •Send any unsolicited or unauthorized spam and spam comments on posts, advertising messages, promotional materials, email, junk mail, chain letters or other form of solicitation; •Use Richman user information to forge any TCP/IP packet header or any part of the header information in any email or newsgroup posting, or in any way use the Services to send altered, deceptive or false source-identifying information; •Attempt to decipher, decompile, disassemble or reverse engineer any of the software used to provide the Services; •Use Richman user information to forge any TCP/IP packet header or any part of the header information in any email or newsgroup posting, or in any way use the Services to send altered, deceptive or false source-identifying information; •Attempt to...

Words: 370 - Pages: 2

Free Essay

.Net and Java Technology Comparison

...technologies are that it has the ability to grab internet servers that web services and tools such as internet apps or anything that can produce these services. One profitable feature of .NET is its technologies that allows for the making of additional websites and net services that exist on the .NET infrastructure, (, 2004-06). Another powerful advantage of .NET technology is the ASP feature is that it creates construction sites, services and applications and does not require as much coding as the older coding in the beginning. A disadvantage of the use of .NET is its lack of support on several platforms or multiplatform to be exact. Another disadvantage is which can be very detrimental is that .NET can be reverse engineered meaning the code can be reversed and basically the code copied just rewritten. With technology in several aspects existing everywhere, mobile phones, televisions, receivers, blue tooth,...

Words: 705 - Pages: 3

Free Essay

Dr. Gary Kildall

...intelligent man that created the basis of our pc operating systems today. The software that CP/M / Digital Research created is great and all should know about it Without it we may not have gotten as far as we have with technology today. This article plus the “gray” note on page 14 tells a story about a man who took great interest in his work. When IBM tried to sell him short or give him an offer to work for them he told them that he didn’t like the offer and he turned them down. Well this gave Microsoft a chance to come in and take the deal, but what’s funny about that is Microsoft went and reverse engineered the Digital Research tech and created a copy of it and sold it to IBM. Although at this time no one was charged for any illegal acts (maybe because it was uncommon to be able to do what Microsoft had done). I do feel two different ways about this process, see Microsoft had a genius idea to reverse engineer the software, but at a price of Dr. Kildall’s company Digital Research’s fall . The...

Words: 587 - Pages: 3

Free Essay


...Reverse engineering involves taking something apart to see how it works. The advantages are you can learn the kind of system functions a target program is using. You can learn the files the target program accesses. You can learn the protocols the target software uses and how it communicates with other parts of the target network. The most powerful advantage to reversing is that you can change a program's structure and thus directly affect its logical flow. The disadvantages would be by enabling competitors to create competing devices, the possibility of reverse engineering might decrease the incentive for technology creators to develop new products, and reducing the manufacturer’s control over consumer uses for the product might have the same effect. One tool is REC Studio 4 - Reverse Engineering Compiler some of the features are Disassembler, Disassembler, Calling conventions, Floating-point, Windows Debugger. Short Answer 5. The variable’s name, and the variable’s data type 6. Some languages assign a default value such as 0 to uninitialized variables. In many languages, however, uninitialized variables hold unpredictable values. Algorithm workbench review 3. set b = 2+a Set a = b * 4 Set b = a / 3.14 Set a = b – 8 4. a. Set result = x + y b. Set result = z * 2 c. Set result = y / x d. Set result = y – z result = x++   - y; Answer   -4 result = 4 – 8 = -4     result =   ++w + y; Answer w = w + 1 = 5 + 1 = 6 result = 6 + 8 = 14 5.......

Words: 297 - Pages: 2

Free Essay

Research Assignment 3 Intro to Programming Logic and Design

...Research Assignment 3: Exploring Reverse Engineering • What is reverse engineering? Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates. This kind of inquiry engages individuals in a constructive learning process about the operation of systems and products. Reverse engineering as a method is not confined to any particular purpose, but is often an important part of the scientific method and technological development. The process of taking something apart and revealing the way in which it works is often an effective way to learn how to build a technology or make improvements to it. When reverse engineering software, researchers are able to examine the strength of systems and identify their weaknesses in terms of performance, security, and interoperability. The reverse engineering process allows researchers to understand both how a program works and also what aspects of the program contribute to its not working. • What are the advantages and disadvantages of using reverse engineering to discover the logics of a software program? Reverse engineering in software is reversing a program's machine code back into it's original source code. The advantages to using this technique is that one can repair certain bugs, see how a program operates, and improve the operation              of the program. The disadvantage is that certain other bugs may be introduced              during this process. ...

Words: 301 - Pages: 2

Free Essay

Chapter 3

...Unit 3 Research Assignment 1 PT1420 Exploring Reverse Engineering Reverse engineering in computer programming is a technique used to analyze software in order to identify and understand the parts it’s composed of. The usual reasons for reverse engineering a piece of software are to recreate the program, to build something similar to it, to exploit its weaknesses or strengthen its defense. A reverse engineering advantage could be that one can repair certain bugs, see how a program operates and improve the operation of the program. You can learn the kind of system functions a target program is using. You can learn the files the target program accesses. You can learn the protocols the target software uses and how it communicates with other parts of the target network. The disadvantages to this is that certain other bugs might be introduced during this process. Reverse Engineering Tool [AX 2012] Microsoft Five features of tool Table view The name of the table or view in the AOT and the physical name of the table in the database Each table or view's classification (from the EntityRelationshipType property) Each table or view description (from the DeveloperDocumentation property) Table field Name of the field in the AOT and the physical name of the field in the database Each field's description (from the HelpText property) The field's data type Whether the field is required Whether the field is part of the primary key View field Name of the field in......

Words: 313 - Pages: 2

Free Essay

Molecular Gastronomy this new culinary movement range from enthusiasm, buoyant with foam sauces and bubbling liquid nitrogen, to perplexed looks or mutterings of disapproval. Some people’s understanding about molecular gastronomy appears to be free-form dots scattered over the culinary map, perhaps it’s time to connect those dots. Molecular gastronomy can be defined as the fusion of food science and culinary arts. New technologies and natural texturing agents can now be used to deconstruct any dishes and cocktails, enabling one to serve mojito bubbles and martini bites, as well as balsamic vinegar pearls and chocolate spaghettis. Molecular Gastronomy has become the name of the scientific discipline co-created by Nicholas Kurti and Herve This, based on exploring the science behind traditional cooking methods. Herve This identified five goals of this new science: “(1) to collect and investigate old wives’ tales about cooking; (2) to model and scrutinize existing recipes; (3) to introduce new tools, products, and methods to cooking; (4) to invent new dishes using knowledge from the previous three aims; and (5) to use the appeal of food to promote science.” Molecular gastronomy was born in 1988, when two scientists, Nicholas Kurti and Herve This, decided to investigate culinary transforma¬tions. This described molecular and physical gastronomy as the physics and chemistry behind the preparation of a dish. In 1992, both scientists organized the first International Workshop on Molecular and......

Words: 1052 - Pages: 5

Free Essay

With the Development of Technology, More and More Robots Are Used in Various Fields,

...University of Mumbai B.E Information Technology Scheme of Instruction and Evaluation Third Year -Semester VI Scheme of Instructions Sr. Subjects Lect/ No 1 Information and Network Security Middleware and Enterprise Integration Technologies Software Engineering Data Base Technologies Programming for Mobile and Remote Computers Information Technology for Management of Enterprise TOTAL Week 4 Scheme of Examinations Theory T/W Practical Oral Total Hours Marks Marks Marks Marks Marks 3 100 25 -25 150 Pract/ Week 2 Tut/ Week -- 2 4 2 -- 3 100 25 -- 25 150 3 4 5 4 4 4 2 2 2 ---- 3 3 3 100 100 100 25 25 25 --25 25 25 -- 150 150 150 6 4 24 10 1 1 3 -- 100 600 25 150 -25 25 125 150 900 INFORMATION AND NETWORK SECURITY CLASS T.E. ( INFORMATION TECHNOLOGY) HOURS PER LECTURES : WEEK TUTORIALS : PRACTICALS EVALUATION SYSTEM: THEORY PRACTICAL ORAL TERM WORK : SEMESTER VI 04 -02 HOURS 3 ---- MARKS 100 25 25 1. Introduction What is Information Security? Security Goals. 2. Cryptography Crypto Basic, Classic Cryptography, Symmetric Key Cryptography: Stream Ciphers, A5/1, RC4, Block Ciphers, Feistel Cipher, DES, Triple DES, AES, Public Key Cryptography: Kanpsack, RSA, Defiie-Hellman, use of public key crypto- Signature and Non-repudiation, Confidentiality and Non-repudiation, Public Key Infrastructure, Hash Function: The Birthday Problem, MD5, SHA-1, Tiger Hash, Use of Hash Function. 3.......

Words: 3868 - Pages: 16

Premium Essay


...+ Models OPEMAN-559; No of Pages 8 Journal of Operations Management xxx (2007) xxx–xxx Sustainable supply chains: An introduction Jonathan D. Linton a,*, Robert Klassen b, Vaidyanathan Jayaraman c a Paul Desmarais Professor in the Management of Technological Enterprises, School of Management, University of Ottawa, Ottawa, Ont. K1N 6N5, Canada b Ivey School of Management, University of Western Ontario, London, Ont., Canada c Department of Management, School of Business, University of Miami, Coral Gables, FL, USA Abstract Consideration is given to the convergence of supply chains and sustainability. In doing so, the focus on environmental management and operations is moved from local optimization of environmental factors to consideration of the entire supply chain during the production, consumption, customer service and post-disposal disposition of products. This is a critical and timely topic that captures increasing concerns over sustainability, whether driven by current legislation, public interest, or competitive opportunity. As such, sustainable development is a rich area for academic research that is still in its infancy and has the potential to affect future government policy, current production operations, and identify new business models. This paper provides a background to better understand current trends in this multidisciplinary field that intersect with operations management, and the research opportunities and challenges......

Words: 4927 - Pages: 20