Skip to main content

Utilities for rewriting GTIRB with capstone and keystone

Project description

GTIRB-Capstone

Integration between GTIRB and the Capstone/Keystone libraries.

Abstract

GTIRB explicitly does not include any notion of instructions or instruction semantics. In general this is desirable as most tools have their own intermediate languages and corresponding encoders/decoders to deal with instructions. However, in many cases the high-quality Capstone/Keystone decoder/encoder libraries provide sufficient instruction information for binary analysis and transformation. These libraries provide exceptional coverage of multiple ISAs and are widely used. GTIRB-Capstone integrates GTIRB with the Capstone disassembler and the Keystone assembler allowing for transparent access to instructions in GTIRB instances.

Dependencies

This package requires:

  • keystone To install keystone run:
    git clone https://github.com/keystone-engine/keystone.git
    cd keystone
    mkdir build
    cd build
    ../make-share.sh
    make install
    ldconfig
    

Development

You can create a virtual environment for development using tox:

tox -e venv
. venv/bin/activate

This repository uses pre-commit to enforce code formatting. You should have pre-commit installed. To activate pre-commit in this repository run:

pre-commit install

To run the tests execute tox:

tox

Copyright and Acknowledgments

Copyright (C) 2020 GrammaTech, Inc.

This code is licensed under the MIT license. See the LICENSE file in the project root for license terms.

This project is sponsored by the Office of Naval Research, One Liberty Center, 875 N. Randolph Street, Arlington, VA 22203 under contract # N68335-17-C-0700. The content of the information does not necessarily reflect the position or policy of the Government and no official endorsement should be inferred.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gtirb_capstone-1.1.2-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file gtirb_capstone-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: gtirb_capstone-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for gtirb_capstone-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 21d885339484cf1234c1f64284a2f136fa540329d45990c778164a8d769e56bf
MD5 739fca67fd20bf6db5d587488498f016
BLAKE2b-256 2597cfd2339c1c3128b13ef6ff48323a614e53032df3f9580e19667cf98a914a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page