You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memflow-pcileech/README.md

1.8 KiB

This repository is currently work-in-progress and might not fully work.

memflow-pcileech

This connector implements a rust-native implementation of the pcileech interface.

More information about pcileech can be found under https://github.com/ufrisk/pcileech.

Compilation

  • Make sure the git submodule is checked out
  • Make sure gcc, clang, libusb-1.0 are installed (on windows you can use chocolatey)
  • Run cargo build --release

This project uses libusb to interface with the ftdi chip over usb. Make sure you have the appropiate headers installed. More information about the libusb implementation can be found in the https://github.com/a1ien/rusb project.

Using the install script

The ./install.sh script will just compile and install the plugin. The connector will be installed to ~/.local/lib/memflow by default. Additionally the --system flag can be specified which will install the connector in /usr/lib/memflow as well.

Using the library in a rust project

To use the plugin in a rust project just include it in your Cargo.toml

memflow-pcileech = "0.1"

Make sure to not enable the plugin feature when importing multiple connectors in a rust project without using the memflow plugin inventory. This might cause duplicated exports being generated in your project.

Building the stand-alone plugin

The stand-alone plugin of this library is feature-gated behind the plugin feature. To compile a dynamic library as a plugin use the following command:

cargo build --release --all-features

License

Licensed under MIT License, see LICENSE.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.