DecomPy
  • Installation
  • decompy
  • Design Decisions
    • Design and Architecture
    • Data Gathering
    • Database
    • Binary Lifting
    • Using an Existing Decompiler
    • LLVM Comparison
    • LLVM Comparison
  • Decompiler Information
  • LLVM Transformations
  • Pattern Matching and Normalization
DecomPy
  • Docs »
  • Design Decisions
  • View page source

Design DecisionsΒΆ

  • Design and Architecture
    • Choosing a Disassembler for DecomPy
      • Descriptions of Possible Compilers
      • Analysis of Dissasembler Options
        • Easiest Integration
        • Best x86 Generation
      • Overall Suggestion for the Project
      • Capstone
      • udis86 - The runner-up
  • Data Gathering
    • Overview
      • Why is this necessary?
      • What is the process?
      • How to Start
      • How to Use
      • Overview of Each Step
    • Filtering the Repositories
      • Relevant Classes
    • Scraping and Downloading Files from GitHub using GitHubScraper
      • Overview
      • Relevant Classes
      • Relevant Methods
      • How To Use
      • How does GitHubScraper Scrape?
        • Entry Point
        • Getting Page Contents
        • Extracting URLs from Page Content
        • Filtering Useful URLs from URLs
        • Validating URLs
        • Going Through All Repository Directories
      • How Does GitHubScraper Deal With Files?
        • Downloading Files
        • Storing Files
        • Updating json file
      • How Does GitHubScraper Multithread work?
      • What is the Performance of GitHubScraper?
      • How Is GitHubScraper Tested?
    • Filtering the Files
    • Generating LLVM IR from C Source
    • Compiling C Source to Various Formats
  • Database
    • Designing the Database
    • Creating and Using the Database
  • Binary Lifting
    • Current Suggestion
    • llvm-mctoll
    • fcd
    • fcd+remill
    • McSema
    • libbeauty
    • bin2llvm
    • Dagger
  • Using an Existing Decompiler
    • Using FCD
      • Making a Module in FCD
      • Pros and Cons
  • LLVM Comparison
    • Comparing the LLVM Classes that Describe a Program
    • LLVM Comparison for Tracking Decompiling Progress
  • LLVM Comparison
    • Searching for Snippets: Tries and Tokenization
    • Tokenizing LLVM
Next Previous

© Copyright 2018, Joshua Goralczyk, Salman Ahmed, Vatricia Edgar, YiZhuang Garrard, Zachary Monroe

Built with Sphinx using a theme provided by Read the Docs.