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.
PCILeech currently supports multiple FPGA based devices - please see the table below:
Device | Connection | Transfer Speed | PCIe Version | Project Sponsor |
---|---|---|---|---|
Enigma X1 | USB-C | 180 MB/s | PCIe gen2 x1 | ๐ |
PCIeScreamerR04 | USB-C | 150 MB/s | PCIe gen2 x4* | ๐ |
ScreamerM2 | USB3/USB-C | 150 MB/s | PCIe gen2 x4* | ๐ |
PCIeScreamer | USB3 | 100 MB/s | PCIe gen2 x1 | |
AC701/FT601 | USB3 | 150 MB/s | PCIe gen2 x4* | |
SP605/FT601 | USB3 | 75 MB/s | PCIe gen1 x1 | |
Acorn/FT2232H | USB2 | 25 MB/s | PCIe gen2 x4* | |
NeTV2 | UDP/IP | 7 MB/s | PCIe gen2 x4* | |
SP605/TCP | TCP/IP | 100kB/s | PCIe gen1 x1 |
*) PCILeech FPGA uses PCIe x1 even if more PCIe lanes are available hardware-wise. This is sufficient to deliver neccessary performance.
Please select the FPGA setup that best suits your needs from the above list. If performance is key the ScreamerM2 or the AC701 is currently recommended.
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 the ScreamerM2 and PCIeScreamer (top row), the Enigma X1 and NeTV2 (middle row) and the SP605 and the AC701 (bottom row).
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.
- Github Sponsors:
https://github.com/sponsors/ufrisk
To all my sponsors, Thank You ๐