retrowrite | RetroWrite -- Retrofitting compiler passes through binary
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.
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
Support
retrowrite has a low active ecosystem.
It has 549 star(s) with 70 fork(s). There are 36 watchers for this library.
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.
Quality
retrowrite has 0 bugs and 0 code smells.
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.
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.
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
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:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page