Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Meher Anand VNIT-ACM Student Chapter
No pre-requisite knowledge is expected
Hardware <ul><li>Digital circuits are binary, they can understand only 0 and 1 </li></ul><ul><li>Modern day processors are...
Evolution of Prog. Lang. <ul><li>Machine language – consists of 0s and 1s only </li></ul><ul><li>Very hard to read and deb...
Evolution of Prog. Lang. (contd) <ul><li>Assembly language – consists of mnemonics and opcodes </li></ul><ul><li>Ex:- MOV ...
Evolution of Prog. Lang. (contd) <ul><li>High level languages – English-like constructs, definitions, declarations. </li><...
Process of compilation <ul><li>Preprocessed code </li></ul>Preprocessor Source Code Parser Parse Tree Translator Assembly ...
Where does reversing fit in??? <ul><li>Executable files are in the form of binary machine code </li></ul><ul><li>Machine c...
Our approach <ul><li>Take a disassembler – we will be using Olly Debugger </li></ul><ul><li>Debug the code – process of ex...
A word of caution <ul><li>Legality issues </li></ul><ul><li>Never reverse-engineer any software product which restricts it...
Resources <ul><li>Olly debugger, tutorials on reversing and other essential tools available for download on http://acm.vni...
DEMO
Próxima SlideShare
Cargando en…5
×

An introduction to Reverse Engineering

1.321 visualizaciones

Publicado el

Publicado en: Educación, Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

An introduction to Reverse Engineering

  1. 1. Meher Anand VNIT-ACM Student Chapter
  2. 2. No pre-requisite knowledge is expected
  3. 3. Hardware <ul><li>Digital circuits are binary, they can understand only 0 and 1 </li></ul><ul><li>Modern day processors are made from transistors, millions of them </li></ul><ul><li>Work in time of the order of 10 -9 seconds </li></ul>
  4. 4. Evolution of Prog. Lang. <ul><li>Machine language – consists of 0s and 1s only </li></ul><ul><li>Very hard to read and debug </li></ul><ul><li>Time consuming </li></ul><ul><li>Low level language </li></ul><ul><li>Platform dependent </li></ul>
  5. 5. Evolution of Prog. Lang. (contd) <ul><li>Assembly language – consists of mnemonics and opcodes </li></ul><ul><li>Ex:- MOV A,B </li></ul><ul><li>Better readability but not sufficient </li></ul><ul><li>Hard to debug but better than machine code </li></ul><ul><li>Low level language </li></ul><ul><li>Platform dependent </li></ul>
  6. 6. Evolution of Prog. Lang. (contd) <ul><li>High level languages – English-like constructs, definitions, declarations. </li></ul><ul><li>Easier to read, debug and maintain </li></ul><ul><li>Ex- C++, C#, Basic, Java etc. </li></ul><ul><li>Platform independent </li></ul>
  7. 7. Process of compilation <ul><li>Preprocessed code </li></ul>Preprocessor Source Code Parser Parse Tree Translator Assembly Assembler Object Code Linker Executable Code
  8. 8. Where does reversing fit in??? <ul><li>Executable files are in the form of binary machine code </li></ul><ul><li>Machine code and assembly code are interchangeable as they bear a one-to-one relationship </li></ul><ul><li>Dis-assemblers are used to convert machine code into assembly language </li></ul>
  9. 9. Our approach <ul><li>Take a disassembler – we will be using Olly Debugger </li></ul><ul><li>Debug the code – process of executing instructions one by one, following the line of flow (as the program would have done normally) while watching the values of the variables </li></ul><ul><li>Figure out ways to overcome the problem </li></ul>
  10. 10. A word of caution <ul><li>Legality issues </li></ul><ul><li>Never reverse-engineer any software product which restricts it in the End User License Agreement (EULA) </li></ul>
  11. 11. Resources <ul><li>Olly debugger, tutorials on reversing and other essential tools available for download on http://acm.vnit.ac.in/ </li></ul><ul><li>Register on V-Live for updates </li></ul>
  12. 12. DEMO

×