A lightweight graphical user interface (GUI) wrapper for PCILeech, built with Rust and the eframe (egui) library.
- Command Execution: Run PCILeech commands through a simple interface.
- Quick Commands: Pre-defined buttons for common tasks:
Probe Device: Quickly test connection to the hardware.Inject "5x shift = CMD": Patch target system for CMD access via Sticky Keys.
- Other Utilities:
Display: View memory contents at specific ranges.KMD Load: Load Kernel Mode Driver.Dump Memory: Save memory dump to a file.Help: Access PCILeech help documentation.
- Real-time Terminal: Integrated output window that captures and scrolls with the process output.
- Background Execution: Commands run in a separate thread, keeping the UI responsive.
- Windows Integration: Launch the app without a console window.
- PCILeech: The
PCILeechGuiapp should be placed in the same directory as thepcileechexecutable. - Hardware: Compatible DMA hardware (e.g., Screamer PCIe) if using physical device functions.
The latest executables for Windows, Linux, and macOS are available in the GitHub Releases.
To build the project from source, you need to have Rust installed.
-
Clone the repository:
git clone https://github.com/Naimadx123/PCILeechGui.git cd PCILeechGui -
Build the application:
cargo build --release
-
The executable will be located in
target/release/.
- Launch
PCILeechGui. - Enter custom arguments in the Arguments field or click one of the Quick Commands.
- Click Run command to execute.
- View the results in the Output terminal below.
- Use Clear Output to reset the terminal view.
The project is structured into several modules:
main.rs: Entry point and application initialization.app.rs: UI layout and event handling logic.pcileech.rs: Backend process spawning and output management.
This project is licensed under the terms specified in the Cargo.toml file (Authors: Naimad).