Skip to content

Latest commit

 

History

History
 
 

PCIeSquirrel

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Screamer PCIe Squirrel:

This project contains software and HDL code for the Screamer PCIe Squirrel PCIe board.

Once flashed it may be used together with the PCILeech Direct Memory Access (DMA) Attack Toolkit or MemProcFS - The Memory Process File System to perform DMA attacks, dump memory or perform research.

⚠️ 3rd party boards not listed on this Github may not always be compatible with the firmware. It would depend on the 3rd party hardware vendor. No support can be given on 3rd party boards not mentioned on this Github. If you purchase a 3rd party board please consider sponsoring this project with a small sum since the 3rd party vendor does not.

Capabilities:

  • Retrieve memory from the target system over USB3 in excess of 190MB/s.
  • Access all memory of target system without the need for kernel module (KMD) unless protected with VT-d/IOMMU.
  • Enumerate/Probe accessible memory at >1GB/s.
  • Raw PCIe Transaction Layer Packet (TLP) access.

For information about more capabilities check out the general PCILeech or MemProcFS abilities and capabilities.

For information about other supported FPGA based devices please check out PCILeech FPGA.

The Hardware: Screamer PCIe Squirrel

LambdaConcept PCIe Screamer Squirrel. (LambdaConcept)

For more information about the hardware, and alternative software, LambdaConcept PCIe Screamer Squirrel Wiki.

Flashing Screamer PCIe Squirrel: (built-in update port):

Please note that this instruction applies to the built-in update port. OpenOCD is recommended when using the built-in update port. The built-in update port is not directly supported by Xilinx Vivado. Please also note that the on-board JTAG PINs is disabled by default.

  1. Build PCILeech (see below) alternatively download and unzip pre-built binary (link in version history at the bottom of this readme).
  2. Follow the instruction about how to flash with OpenOCD (Linux preferred) on the LambdaConcept Screamer PCIe Squirrel Wiki.

Building:

  1. Install Xilinx Vivado WebPACK 2023.2 or later.
  2. Open Vivado Tcl Shell command prompt.
  3. cd into the directory of PCIeSquirrel (forward slash instead of backslash in path).
  4. Run source vivado_generate_project.tcl -notrace to generate required project files.
  5. Run source vivado_build.tcl -notrace to generate Xilinx proprietary IP cores and build bitstream.
  6. Finished !!!

Building the project may take a very long time (~1 hour).

The PCIe device will show as Xilinx Ethernet Adapter with Device ID 0x0666 on the target system by default. For instructions how to change the device id and other advanced build properties check out the build readme for information.

Other Notes:

The completed solution contains Xilinx proprietary IP cores licensed under the Xilinx CORE LICENSE AGREEMENT. This project as-is published on Github contains no Xilinx proprietary IP. Published source code are licensed under the MIT License. The end user that have downloaded the no-charge Vivado WebPACK from Xilinx will have the proper licenses and will be able to re-generate Xilinx proprietary IP cores by running the build detailed above.

Support PCILeech/MemProcFS development:

Thank You LambdaConcept for sponsoring the PCILeech project 💖

Some other hardware sellers have chosen not to support the project! If you think PCILeech and/or MemProcFS is awesome or if you had a use for it it's now also possible to support the project via Github Sponsors: https://github.com/sponsors/ufrisk.

To all my sponsors, Thank You 💖

Releases / Version History:

Previous releases (click to expand):

v4.10

  • Initial Release.
  • Download pre-built binaries below:

v4.11

  • Bug fixes and new USB core.
  • Download pre-built binaries below:

v4.12

  • Bug fixes.
  • Download pre-built binaries below:

v4.13

  • Bug fixes.
  • New internal design with on-board PIO BAR support.
  • Download pre-built binaries below:

v4.14

  • Bug fixes.
  • Download pre-built binaries below: