Download presentation
Presentation is loading. Please wait.
Published byPhebe Goodwin Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.