-
Notifications
You must be signed in to change notification settings - Fork 177
Device_FPGA
The LeechCore library supports reading memory using PCILeech FPGA PCIe to USB hardware.
Facts in short:
- Is supported on all supported platforms.
- Acquires memory in read/write mode.
- Acquired memory is assumed to be volatile.
- Have additional requirements.
LeechCore API:
Please specify the acquisition device type (and optionally additional configuration options) LEECHCORE_CONFIG.szDevice when calling LeechCore_Open. Most configuration options should ideally never be used and only exists for debugging purposes. Examples:
FPGA
FPGA://pciegen=1,tmread=500,tmwrite=200,deviceindex=2.
Options:
pciegen= PCIe generation - 2 (default) or 1 (PCIe gen1).
tmread= Read delay in uS (default depends on FPGA device).
tmwrite= Write delay in uS (default depends on FPGA device).
tmprobe= Probe delay in uS (default depends on FPGA device).
algo= read algorithm: 1 (normal) or 2 (tiny).
readsize= max chunk read size in bytes, multiple of page (default depends on FPGA device).
readretry= number of read retries on read fail.
deviceindex= device index to open (if multiple devices exist on system).
PCILeech / MemProcFS:
Please specify the device type in the -device option.
Examples:
-device FPGA
-device FPGA://pciegen=2,tmread=300
-device FPGA://pciegen=1,tmread=300,tmwrite=300,tmprobe=300
Requires the FPGA hardware which is connected to the target computer over PCIe and to the analysis computer over USB.
Windows: FTDI drivers have to be installed if FPGA is used on Windows. Download the 64-bit FTD3XX.dll from FTDI and place it alongside leechcore.dll.
Linux: Requires libusb (apt-get install libusb-1.0-0) and access to the usb device (permission change or run as root may be required) alternatively a Kernel Driver provided by LambdaConcept. LeechCore will automatically attempt to locate the kernel driver before using libusb.