X hits on this document

343 views

0 shares

0 downloads

0 comments

6 / 120

Table of Contents

1 Introduction.....................................................................................................................1 2 Reverse Engineering in Software Development.............................................................3 3 Reverse Engineering in Software Security.....................................................................6 4 Reversing and Patching Wintel Machine Code..............................................................9

    • 4.1

      Decompilation and Disassembly of Machine Code..............................................11

    • 4.2

      Wintel Machine Code Reversing and Patching Exercise......................................14

    • 4.3

      Recommended Reversing Tool for the Wintel Exercise.......................................15

    • 4.4

      Animated Solution to the Wintel Reversing Exercise...........................................17

5 Reversing and Patching Java Bytecode........................................................................20

    • 5.1

      Decompiling and Disassembling Java Bytecode..................................................21

    • 5.2

      Java Bytecode Reversing and Patching Exercise..................................................25

    • 5.3

      Recommended Reversing Tool for the Java Exercise...........................................26

    • 5.4

      Animated Solution to the Java Reversing Exercise...............................................27

6 Basic Anti-Reversing Techniques.................................................................................29 7 Applying Anti-Reversing Techniques to Wintel Machine Code...................................31

    • 7.1

      Eliminating Symbolic Information in Wintel Machine Code...............................31

    • 7.2

      Basic Obfuscation of Wintel Machine Code.........................................................35

    • 7.3

      Protecting Source Code Through Obfuscation......................................................40

    • 7.4

      Advanced Obfuscation of Machine Code.............................................................42

    • 7.5

      Wintel Machine Code Anti-Reversing Exercise...................................................44

    • 7.6

      Solution to the Wintel Anti-Reversing Exercise...................................................44

      • 7.6.1

        Encryption of String Literals.........................................................................45

      • 7.6.2

        Obfuscating the Numeric Representation of the Record Limit.....................47

      • 7.6.3

        Control Flow Obfuscation for the Record Limit Check................................48

      • 7.6.4

        Analysis of the Control Flow Obfuscation Using Run Traces......................53

8 Applying Anti-Reversing Techniques to Java Bytecode...............................................56

    • 8.1

      Eliminating Symbolic Information in Java Bytecode...........................................58

    • 8.2

      Preventing Decompilation of Java Bytecode........................................................63

    • 8.3

      A Java Bytecode Code Anti-Reversing Exercise..................................................68

    • 8.4

      Animated Solution to the Java Bytecode Anti-Reversing Exercise......................69

9 Reengineering and Reuse of Legacy Software Applications........................................70

    • 9.1

      Legacy Software Reengineering and Reuse Exercise...........................................84

    • 9.2

      Legacy Software Reengineering and Reuse Exercise Solution............................86

10 Identifying, Monitoring, and Reporting Malware.......................................................98

    • 10.1

      Malware Identification and Monitoring Exercise.............................................106

    • 10.2

      Malware Identification and Monitoring Exercise Solution...............................106

Conclusion.......................................................................................................................107 References........................................................................................................................109

vi

Document info
Document views343
Page views344
Page last viewedTue Dec 06 19:34:06 UTC 2016
Pages120
Paragraphs2913
Words25794

Comments