Skip to content

ufrisk/pcileech-fpga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCILeech FPGA Summary:

PCILeech FPGA contains software and HDL code for FPGA based devices that may be used together with the PCILeech Direct Memory Access (DMA) Attack Toolkit and MemProcFS - The Memory Process File System. Using FPGA based devices have many advantages over using the USB3380 hardware that have traditionally been supported by PCILeech. FPGA based hardware provides full access to 64-bit memory space without having to rely on a kernel module running on the target system. FPGA based devices are also more stable compared to the USB3380. FPGA based devices may also send raw PCIe Transaction Layer Packets TLPs - allowing for more specialized research.

Supported Devices:

PCILeech currently supports multiple FPGA based devices with most recent firmware versions - please see the table below:

Device Connection Transfer Speed Version FPGA PCIe Version Project
Sponsor
Screamer PCIe Squirrel USB-C 190 MB/s 4.14 XC7A35T-484 PCIe gen2 x1 💖
ZDMA Thunderbolt3 1000 MB/s 4.15 XC7A100T-484 PCIe gen2 x4 💖
LeetDMA USB-C 190 MB/s 4.14 XC7A35T-484 PCIe gen2 x1 💖
AC701/FT601 USB3 190 MB/s 4.15 XC7A200T-676 PCIe gen2 x4

Please select the FPGA setup that best suits your needs from the above list. If performance and value for money is key the Screamer PCIe Squirrel is currently recommended. If performance is key alone ZDMA is a good pick.

Please check out the individual FPGA projects in the table above for more information about the purchase, usage, building and flashing of the devices. Each device have different advantages and disadvantages.

The images below depicts:

  • Top row: Screamer PCIe Squirrel.
  • Middle row: ZDMA and LeetDMA.
  • Bottom row: NeTV2, SP605 and AC701.

Older Devices:

PCILeech also supports multiple FPGA based devices that may not have the most recent firmware available for download, but will still work with some limitations:

Legacy Device Connection Transfer Speed Version PCIe Version
PCIeScreamer USB3 100 MB/s 4.9 PCIe gen2 x1
SP605/FT601 USB3 75 MB/s 2.2 PCIe gen1 x1
Acorn/FT2232H USB2 25 MB/s 4.9 PCIe gen2 x4*
NeTV2 UDP/IP 7 MB/s 4.12 PCIe gen2 x4*

Some older FPGA projects have been discontinued and are no longer available.

Discontinued Device Connection Transfer Speed Version FPGA PCIe Version
Enigma X1 USB-C 200 MB/s 4.14 XC7A75T-484 PCIe gen2 x1
PCIeScreamerR04 USB-C 190 MB/s 4.14 XC7A35T-325 PCIe gen2 x4*
ScreamerM2 USB3/USB-C 190 MB/s 4.14 XC7A35T-325 PCIe gen2 x4*
*) PCILeech FPGA uses PCIe x1 even if more PCIe lanes are available hardware-wise. This is sufficient to deliver neccessary performance.

Support PCILeech/MemProcFS development:

PCILeech and MemProcFS are hobby projects of mine. I put a lot of time and energy into my projects. The time being most of my spare time. If you think PCILeech and/or MemProcFS are awesome tools and/or if you had a use for them it's now possible to contribute.

To all my sponsors, Thank You 💖