Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reverse Engineering CS3300 Fall 2015. What is it? Extracting design information from existing software Two types: Source Code based (easier) or Binary.

Similar presentations


Presentation on theme: "Reverse Engineering CS3300 Fall 2015. What is it? Extracting design information from existing software Two types: Source Code based (easier) or Binary."— Presentation transcript:

1 Reverse Engineering CS3300 Fall 2015

2 What is it? Extracting design information from existing software Two types: Source Code based (easier) or Binary (harder) In reverse engineering 50-80% of effort is trying to understand the program Reverse engineering is sometimes referred to as “program understanding”

3 Biggerstaff Paper – Activities Forward Engineering Reverse Engineering Redocumentation Design Recovery Restructuring Re-engineering

4 Problem Maintainers are not the original developers Concept Assignment Problem Biggerstaff et. al.

5 Is this legal? Clearly a company can reverse its own code if the original developers are gone or source code is lost Reversing other peoples code:  Cyber warfare  Virus makers  Virus fighters  Compatability (Sega (Genesis) vs. Accolade)

6 For Binary RE Decompilers  Boomerang http://boomerang.sourceforge.net/cando.php?hidemenu http://boomerang.sourceforge.net/cando.php?hidemenu  JaD a java bytecode decompiler

7 Complications Transformers Obfuscators  Eliminate symbolic information Variable names String constants  Alter statement sequence  Add antidebug code  Optimizers

8 With Source Code (Static) Call Graphs  cflow

9 Static Analyzers UML class diagram generators Class Browsers (like in Eclipse) Control Flow Graphs and Slicing Cross-Reference Listings (XREF) Pretty Printers or formatters SCITools https://scitools.com/https://scitools.com/

10 Dynamic Tools ISVis OWASP Lapse+ https://www.owasp.org/index.php/OWASP_LAPSE_Project https://www.owasp.org/index.php/OWASP_LAPSE_Project Imagix http://www.imagix.com/products/source-code- analysis.htmlhttp://www.imagix.com/products/source-code- analysis.html

11

12


Download ppt "Reverse Engineering CS3300 Fall 2015. What is it? Extracting design information from existing software Two types: Source Code based (easier) or Binary."

Similar presentations


Ads by Google