11
Reverse Engineering

Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Embed Size (px)

Citation preview

Page 1: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Reverse Engineering

Page 2: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Overview

Page 3: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Overview

Page 4: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Overview

Page 5: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Need for RE

• Recovery of lost information– providing proper system documentation

• Assisting with maintenance– identification of side effects and anomalies

• Migration to another hw/sw platform • Facilitating software reuse

Page 6: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Example: Java Decompiler

• How to recover bytecode from .class file under Unix/Win with JDK? % javap -c <filename>% javap -help (to see the options)

• Java Decompilers - Jadclipse– ”ClassCracker” http://www.pcug.org.au/~mayon/

– “DeCafe Pro" from DeCafe, France at http://decafe.hypermart.net/index.htm

Page 7: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Class cracker JD

Page 8: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Decompile .net

• There are two tools that I like to use to decompile

• Reflector– www.reflector.net (paid)

• ILSpy– http://wiki.sharpdevelop.net/ILSpy.ashx (free)

8

Page 9: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

ILSpy

9

Page 10: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Reflector

10

Page 11: Reverse Engineering. Overview Need for RE Recovery of lost information – providing proper system documentation Assisting with maintenance – identification

Swf decompiler for flash