Version 2.18.7

This commit is contained in:
Ulf Frisk
2024-07-21 23:31:50 +02:00
parent fd6381da3d
commit 3eff4c5b07
13 changed files with 19 additions and 14 deletions

View File

@@ -243,3 +243,6 @@ v1.0-1.8
[v2.18](https://github.com/ufrisk/LeechCore/releases/tag/v2.18)
* Bug fixes.
* Hibernation file support.
Latest:
* Bug fixes.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 2
#define VERSION_MINOR 18
#define VERSION_REVISION 6
#define VERSION_BUILD 74
#define VERSION_REVISION 7
#define VERSION_BUILD 75
#define VER_FILE_DESCRIPTION_STR "LeechAgent Memory Acquisition Service"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -861,7 +861,7 @@ BOOL DeviceFile_Open(_Inout_ PLC_CONTEXT ctxLC, _Out_opt_ PPLC_CONFIG_ERRORINFO
ctxLC->Config.fWritable = FALSE; // Files are assumed to be read-only.
ctxLC->Config.fVolatile = FALSE; // Files are assumed to be static non-volatile.
if(0 == _strnicmp("file://", ctxLC->Config.szDevice, 7)) {
if((pParam = LcDeviceParameterGet(ctxLC, DEVICE_FILE_PARAMETER_FILE)) && pParam->szValue) {
if((pParam = LcDeviceParameterGet(ctxLC, DEVICE_FILE_PARAMETER_FILE)) && pParam->szValue[0]) {
// we have a file name on the new format, i.e. fpga://file=<filename> - use the new format.
strncpy_s(ctx->szFileName, _countof(ctx->szFileName), pParam->szValue, _TRUNCATE);
ctxLC->Config.fVolatile = LcDeviceParameterGetNumeric(ctxLC, DEVICE_FILE_PARAMETER_VOLATILE) ? TRUE : FALSE;

View File

@@ -3714,12 +3714,12 @@ BOOL DeviceFPGA_Open(_Inout_ PLC_CONTEXT ctxLC, _Out_opt_ PPLC_CONFIG_ERRORINFO
InitializeCriticalSection(&ctx->Lock);
ctxLC->hDevice = (HANDLE)ctx;
ctx->qwDeviceIndex = LcDeviceParameterGetNumeric(ctxLC, FPGA_PARAMETER_DEVICE_INDEX);
if((pParam = LcDeviceParameterGet(ctxLC, FPGA_PARAMETER_UDP_ADDRESS)) && pParam->szValue) {
if((pParam = LcDeviceParameterGet(ctxLC, FPGA_PARAMETER_UDP_ADDRESS)) && pParam->szValue[0]) {
dwIpAddr = inet_addr(pParam->szValue);
szDeviceError = ((dwIpAddr == 0) || (dwIpAddr == (DWORD)-1)) ?
"Bad IPv4 address" :
DeviceFPGA_InitializeUDP(ctx, dwIpAddr);
} else if((pParam = LcDeviceParameterGet(ctxLC, FPGA_PARAMETER_FT2232H)) && pParam->szValue) {
} else if((pParam = LcDeviceParameterGet(ctxLC, FPGA_PARAMETER_FT2232H)) && pParam->szValue[0]) {
szDeviceError = DeviceFPGA_InitializeFT2232(ctx);
} else {
fCustomDriver = LcDeviceParameterGetNumeric(ctxLC, FPGA_PARAMETER_DRIVER) ? TRUE : FALSE;

View File

@@ -499,7 +499,7 @@ BOOL DeviceHIBR_Open(_Inout_ PLC_CONTEXT ctxLC, _Out_opt_ PPLC_CONFIG_ERRORINFO
if(!(ctx->CS_Directory[0] = (PHIBR_COMPRESSION_SET_TABLE)LocalAlloc(LMEM_ZEROINIT, sizeof(HIBR_COMPRESSION_SET_TABLE)))) { goto fail; }
ctx->cCS = 1; // 0 = reserved for invalid/not set compression set.
if(0 == _strnicmp("hibr://", ctxLC->Config.szDevice, 7)) {
if((pParam = LcDeviceParameterGet(ctxLC, DEVICE_FILE_PARAMETER_FILE)) && pParam->szValue) {
if((pParam = LcDeviceParameterGet(ctxLC, DEVICE_FILE_PARAMETER_FILE)) && pParam->szValue[0]) {
strncpy_s(ctx->szFileName, _countof(ctx->szFileName), pParam->szValue, _TRUNCATE);
}
}

View File

@@ -26,6 +26,7 @@ VOID BusySleep(_In_ DWORD us);
#endif /* _WIN32 */
#ifdef LINUX
#define _FILE_OFFSET_BITS 64
#include <libusb.h>
#include <byteswap.h>
#include <ctype.h>
@@ -150,13 +151,13 @@ typedef int(*_CoreCrtNonSecureSearchSortCompareFunction)(void const *, void cons
#define ExitThread(dwExitCode) (pthread_exit(dwExitCode))
#define ExitProcess(c) (exit(c ? EXIT_SUCCESS : EXIT_FAILURE))
#define Sleep(dwMilliseconds) (usleep(1000*dwMilliseconds))
#define fopen_s(ppFile, szFile, szAttr) ((*ppFile = fopen64(szFile, szAttr)) ? 0 : 1)
#define fopen_s(ppFile, szFile, szAttr) ((*ppFile = fopen(szFile, szAttr)) ? 0 : 1)
#define GetModuleFileNameA(m, f, l) (readlink("/proc/self/exe", f, l))
#define ZeroMemory(pb, cb) (memset(pb, 0, cb))
#define WinUsb_SetPipePolicy(h, p, t, cb, pb) // TODO: implement this for better USB2 performance.
#define WSAGetLastError() (WSAEWOULDBLOCK) // TODO: remove this dummy when possible.
#define _ftelli64(f) (ftello64(f))
#define _fseeki64(f, o, w) (fseeko64(f, o, w))
#define _ftelli64(f) (ftello(f))
#define _fseeki64(f, o, w) (fseeko(f, o, w))
#define _chsize_s(fd, cb) (ftruncate64(fd, cb))
#define _fileno(f) (fileno(f))
#define InterlockedAdd64(p, v) (__sync_add_and_fetch_8(p, v))

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 2
#define VERSION_MINOR 18
#define VERSION_REVISION 6
#define VERSION_BUILD 74
#define VERSION_REVISION 7
#define VERSION_BUILD 75
#define VER_FILE_DESCRIPTION_STR "LeechCore Memory Acquisition Library"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -25,6 +25,7 @@ VOID usleep(_In_ DWORD us);
#endif /* _WIN32 */
#ifdef LINUX
#define _FILE_OFFSET_BITS 64
#include <byteswap.h>
#include <ctype.h>
#include <dirent.h>

View File

@@ -43,7 +43,7 @@ leechcorepyc = Extension(
setup(
name='leechcorepyc',
version='2.18.6', # VERSION_END
version='2.18.7', # VERSION_END
description='LeechCore for Python',
long_description='LeechCore for Python : native extension for physical memory access',
url='https://github.com/ufrisk/LeechCore',

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 2
#define VERSION_MINOR 18
#define VERSION_REVISION 6
#define VERSION_BUILD 74
#define VERSION_REVISION 7
#define VERSION_BUILD 75
#define VER_FILE_DESCRIPTION_STR "LeechCore Memory Acquisition Library : Python API"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD