retrowrite | RetroWrite -- Retrofitting compiler passes through binary

 by   HexHive Python Version: Current License: Non-SPDX

kandi X-RAY | retrowrite Summary

kandi X-RAY | retrowrite Summary

retrowrite is a Python library. retrowrite has no bugs, it has no vulnerabilities, it has build file available and it has low support. However retrowrite has a Non-SPDX License. You can download it from GitHub.

Code repository for "Retrowrite: Statically Instrumenting COTS Binaries for Fuzzing and Sanitization" (in IEEE S&P'20). Please refer to the paper for technical details. There's also a 36c3 presentation and 36c3 video to get you started.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              retrowrite has a low active ecosystem.
              It has 549 star(s) with 70 fork(s). There are 36 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 28 open issues and 12 have been closed. On average issues are closed in 194 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of retrowrite is current.

            kandi-Quality Quality

              retrowrite has 0 bugs and 0 code smells.

            kandi-Security Security

              retrowrite has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              retrowrite code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              retrowrite has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              retrowrite releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed retrowrite and discovered the below as its top functions. This is intended to give you an instant insight into retrowrite implemented functionality, and help decide if they suit your requirements.
            • Dump the contents of the module
            • Fix jump tables
            • Emulate all calls
            • Iterate over functions
            • Load functions
            • Check if the file is stripped
            • Extract function definitions from EH frame
            • Sanitize a symbol name
            • Rewrite symbols
            • Return a list of functions from the symbol table
            • Get global data list from symtab file
            • Return a list of relocs from the symbol table
            • Load section objects
            • Get a list of functions from the symbol table
            • Run instrumentation
            • Plot the benchmark results
            • Add globals globals
            • Analyze StackFrameAnalysis
            • Plot difference between baseline and baseline
            • Read a value from the section at the given address
            • Iterate over all globals
            • Get global data list from symbol table
            • Do fuzzing
            • Get a list of relocs from the symtab file
            • Dump memory usage statistics
            • Parse configuration file
            • Instrument registers
            • Fix unused jump tables
            • Write results to csv
            Get all kandi verified functions for this library.

            retrowrite Key Features

            No Key Features are available at this moment for retrowrite.

            retrowrite Examples and Code Snippets

            No Code Snippets are available at this moment for retrowrite.

            Community Discussions

            No Community Discussions are available at this moment for retrowrite.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install retrowrite

            Retrowrite is implemented in python3 (3.6). Make sure python3 and python3-venv is installed on system. Retrowrite depends on capstone. The version available from the Ubuntu 18.04 repositories is not compatible with this version. The setup script pulls the latest version of capstone from the repository and builds it. Make sure that your system meets the requirements to build capstone.
            must be compiled as position independent code (PIC/PIE)
            must be x86_64 (32 bit at your own risk)
            must contain symbols (i.e., not stripped; if stripped, please recover symbols first)
            must not contain C++ exceptions (i.e., C++ exception tables are not recovered and simply stripped during lifting)
            Activate the virtualenv (from root of the repository):.
            ./setup.sh user
            source retro/bin/activate
            deactivate
            Activate the virtualenv (from root of the repository):.
            ./setup.sh kernel
            source retro/bin/activate
            deactivate

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/HexHive/retrowrite.git

          • CLI

            gh repo clone HexHive/retrowrite

          • sshUrl

            git@github.com:HexHive/retrowrite.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link