Skip to content

Commit

Permalink
Version 2.10
Browse files Browse the repository at this point in the history
  • Loading branch information
ufrisk committed Nov 10, 2021
1 parent 2109573 commit 99b3bba
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 27 deletions.
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Memory Acquisition Methods:
Please find a summary of the supported software based memory acquisition methods listed below. Please note that the LeechAgent only provides a network connection to a remote LeechCore library. It's possible to use both hardware and software based memory acquisition once connected.

| Device | Type | Volatile | Write | Linux Support | Plugin |
| -------------------------- | ---------------- | -------- | ----- | ------------- | ------ |
| ---------------------------------------------------------------------------------------- | ---------------- | -------- | ----- | ------------- | ------ |
| [RAW physical memory dump](https://github.com/ufrisk/LeechCore/wiki/Device_File) | File | No | No | Yes | No |
| [Full Microsoft Crash Dump](https://github.com/ufrisk/LeechCore/wiki/Device_File) | File | No | No | Yes | No |
| [Full ELF Core Dump](https://github.com/ufrisk/LeechCore/wiki/Device_File) | File | No | No | Yes | No |
Expand All @@ -40,11 +40,13 @@ Please find a summary of the supported software based memory acquisition methods
Please find a summary of the supported hardware based memory acquisition methods listed below. All hardware based memory acquisition methods are supported on both Windows and Linux. The FPGA based methods however have a performance penalty on Linux and will max out at approx: 90MB/s compared to 150MB/s on Windows due to less optimized drivers.
| Device | Type | Interface | Speed | 64-bit memory access | PCIe TLP access | Plugin |
| -----------------------------------------------------------------------| ---- | --------- | ----- | -------------------- | --------------- | ------ |
| [AC701/FT601](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/ac701_ft601) | USB3 | 150MB/s | Yes | Yes | No |
| [ScreamerM2](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/ScreamerM2) | USB3 | 150MB/s | Yes | Yes | No |
| [PCIeScreamer](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/pciescreamer)| USB3 | 100MB/s | Yes | Yes | No |
| [SP605/FT601](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/sp605_ft601) | USB3 | 75MB/s | Yes | Yes | No |
| [NeTV2/UDP](https://github.com/ufrisk/LeechCore/wiki/Device_RawUDP) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/NeTV2) | UDP | 7MB/s | Yes | Yes | No |
| [Enigma X1](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/EnigmaX1) | USB3 | 180MB/s | Yes | Yes | No |
| [ScreamerM2](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/ScreamerM2) | USB3 | 150MB/s | Yes | Yes | No |
| [PCIeScreamer](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/pciescreamer) | USB3 | 100MB/s | Yes | Yes | No |
| [AC701/FT601](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/ac701_ft601) | USB3 | 150MB/s | Yes | Yes | No |
| [SP605/FT601](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/sp605_ft601) | USB3 | 75MB/s | Yes | Yes | No |
| [Acorn/FT2232H](https://github.com/ufrisk/LeechCore/wiki/Device_FPGA) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/acorn_ft2232h)| USB2 | 25MB/s | Yes | Yes | No |
| [NeTV2/UDP](https://github.com/ufrisk/LeechCore/wiki/Device_RawUDP) | [FPGA](https://github.com/ufrisk/pcileech-fpga/tree/master/NeTV2) | UDP | 7MB/s | Yes | Yes | No |
| [USB3380-EVB](https://github.com/ufrisk/LeechCore/wiki/Device_USB3380) | USB3380 | USB3 | 150MB/s | No | No | No |
| [PP3380](https://github.com/ufrisk/LeechCore/wiki/Device_USB3380) | USB3380 | USB3 | 150MB/s | No | No | No |
| [SP605/TCP](https://github.com/ufrisk/LeechCore/wiki/Device_SP605TCP) | FPGA | TCP | 100kB/s | Yes | Yes | Yes |
Expand Down Expand Up @@ -185,7 +187,8 @@ v1.0-1.8
[v2.9](https://github.com/ufrisk/LeechCore/releases/tag/v2.9)
* Support for the FT2232H USB2 chip.

Latest:
[v2.10](https://github.com/ufrisk/LeechCore/releases/tag/v2.10)
* Support for [Enigma X1](https://github.com/ufrisk/pcileech-fpga/tree/master/EnigmaX1) hardware.
* [Plugin support](https://github.com/ufrisk/LeechCore-plugins/blob/master/README.md#leechcore_device_microvmi) for [libmicrovmi](https://github.com/Wenzel/libmicrovmi):
- Support for Xen, KVM, VirtualBox, QEMU on Linux.
- Pre-bundled on Linux x64 (libmicrovmi)
Expand Down
6 changes: 3 additions & 3 deletions leechagent/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
#define STRINGIZE(s) STRINGIZE2(s)

#define VERSION_MAJOR 2
#define VERSION_MINOR 9
#define VERSION_REVISION 1
#define VERSION_BUILD 38
#define VERSION_MINOR 10
#define VERSION_REVISION 0
#define VERSION_BUILD 39

#define VER_FILE_DESCRIPTION_STR "LeechAgent Memory Acquisition Service"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
Expand Down
44 changes: 34 additions & 10 deletions leechcore/device_fpga.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,16 +81,18 @@ typedef union tdFPGA_HANDLESOCKET {
SOCKET Socket;
} FPGA_HANDLESOCKET;

#define DEVICE_ID_SP605_FT601 0
#define DEVICE_ID_PCIESCREAMER 1
#define DEVICE_ID_AC701_FT601 2
#define DEVICE_ID_PCIESCREAMER_R2 3
#define DEVICE_ID_PCIESCREAMER_M2 4
#define DEVICE_ID_NETV2_UDP 5
#define DEVICE_ID_RAPTORDMA_R01 6
#define DEVICE_ID_RAPTORDMA_R02 7
#define DEVICE_ID_FT2232H 8
#define DEVICE_ID_MAX 8
#define DEVICE_ID_SP605_FT601 0x00
#define DEVICE_ID_PCIESCREAMER 0x01
#define DEVICE_ID_AC701_FT601 0x02
#define DEVICE_ID_PCIESCREAMER_R2 0x03
#define DEVICE_ID_PCIESCREAMER_M2 0x04
#define DEVICE_ID_NETV2_UDP 0x05
#define DEVICE_ID_RAPTORDMA_R01 0x06
#define DEVICE_ID_RAPTORDMA_R02 0x07
#define DEVICE_ID_FT2232H 0x08
#define DEVICE_ID_ENIGMA_X1 0x09
#define DEVICE_ID_ENIGMA_X2 0x0A
#define DEVICE_ID_MAX 0x0A

const DEVICE_PERFORMANCE PERFORMANCE_PROFILES[DEVICE_ID_MAX + 1] = {
{
Expand Down Expand Up @@ -195,6 +197,28 @@ const DEVICE_PERFORMANCE PERFORMANCE_PROFILES[DEVICE_ID_MAX + 1] = {
.DELAY_WRITE = 0,
.DELAY_READ = 0,
.RETRY_ON_ERROR = 1
}, {
.SZ_DEVICE_NAME = "Enigma X1",
.PROBE_MAXPAGES = 0x400,
.RX_FLUSH_LIMIT = 0,
.MAX_SIZE_RX = 0x3c000,
.MAX_SIZE_TX = 0x13f0,
.DELAY_PROBE_READ = 500,
.DELAY_PROBE_WRITE = 150,
.DELAY_WRITE = 10,
.DELAY_READ = 250,
.RETRY_ON_ERROR = 1
}, {
.SZ_DEVICE_NAME = "Enigma X1 (ReservedFutureUse)",
.PROBE_MAXPAGES = 0x400,
.RX_FLUSH_LIMIT = 0,
.MAX_SIZE_RX = 0x30000,
.MAX_SIZE_TX = 0x13f0,
.DELAY_PROBE_READ = 500,
.DELAY_PROBE_WRITE = 150,
.DELAY_WRITE = 10,
.DELAY_READ = 250,
.RETRY_ON_ERROR = 1
}
};

Expand Down
6 changes: 3 additions & 3 deletions leechcore/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
#define STRINGIZE(s) STRINGIZE2(s)

#define VERSION_MAJOR 2
#define VERSION_MINOR 9
#define VERSION_REVISION 1
#define VERSION_BUILD 38
#define VERSION_MINOR 10
#define VERSION_REVISION 0
#define VERSION_BUILD 39

#define VER_FILE_DESCRIPTION_STR "LeechCore Memory Acquisition Library"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
Expand Down
2 changes: 1 addition & 1 deletion leechcorepyc/pkggen_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ leechcorepyc = Extension(
setup(
name='leechcorepyc',
version='2.9.1', # VERSION_END
version='2.10.0', # VERSION_END
description='LeechCore for Python',
long_description='LeechCore for Python : native extension for physical memory access',
url='https://github.com/ufrisk/LeechCore',
Expand Down
6 changes: 3 additions & 3 deletions leechcorepyc/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
#define STRINGIZE(s) STRINGIZE2(s)

#define VERSION_MAJOR 2
#define VERSION_MINOR 9
#define VERSION_REVISION 1
#define VERSION_BUILD 38
#define VERSION_MINOR 10
#define VERSION_REVISION 0
#define VERSION_BUILD 39

#define VER_FILE_DESCRIPTION_STR "LeechCore Memory Acquisition Library : Python API"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
Expand Down

0 comments on commit 99b3bba

Please sign in to comment.