Skip to content

Latest commit

 

History

History
407 lines (355 loc) · 22.1 KB

README.md

File metadata and controls

407 lines (355 loc) · 22.1 KB

Mechanization of Exploits

Binary Analysis

Analysis of Communication Protocols

  • Netzob is an open source tool for reverse engineering, traffic generation and fuzzing of communication protocols. It allows to infer the message format and the state machine of a protocol through passive and active processes. The model can afterward be used to simulate realistic and controllable trafic. - http://www.netzob.org/
  • Communication protocols determine how network components interact with each other. Therefore, the ability to derive a specification of a protocol can be useful in various contexts, such as to support deeper black-box testing or effective defense mechanisms. Unfortunately, it is often hard to obtain the specification because systems implement closed (i.e., undocumented) protocols, or because a time consuming translation has to be performed, from the textual description of the protocol to a format readable by the tools. To address these issues, we developed ReverX, a Java application that generates automata for the language and protocol state machine from network traces. Since our solution only resorts to interaction samples of the protocol, it is well-suited to uncover the message formats and protocol states of closed protocols and also to automate most of the process of specifying open protocols. - https://code.google.com/p/reverx/

Intermediate Representations

Alias / Value Analysis

Control Flow Recovery

Binary Rewriting

Abstract Interpretation

Logical solvers

Probabilistic Logic

Datalog

String Solvers

Datasets

Ground Truth

Obfuscators

Hidden Computation

Deobfuscation

Disassemblers

Decompilers

Virtual Machines

Videos

Model Checkers

Reasoning About Finite-state and Pushdown Automata

Debuggers

Interactive Theorem Provers

Control Flow Integrity

C Code / C++ Code (Need to split these at some point)

Quantitative Analysis

Assisted Exploit Engineering

Return-oriented Programming

Random Testing (Fuzzing)

Dynamic Analysis is an interpretation of the static semantics

To be categorized

Disassemblers & Debuggers

x86 only

x64

Multi-Architecture

Java

Type and Data Structure Recovering

Miscellaneous Tools

Binary Manipulation Frameworks

Deobfuscation/Unpacking

Cryptography

Visualization

Anti-Debugging / Anti-Reversing

Acknowledgements