Version 5.8.1

This commit is contained in:
ufrisk
2023-08-26 23:25:03 +02:00
parent 2361020029
commit bc4d78cb52
14 changed files with 44 additions and 33 deletions

View File

@@ -14,7 +14,7 @@
// (c) Ulf Frisk, 2020-2023
// Author: Ulf Frisk, pcileech@frizk.net
//
// Header Version: 2.16
// Header Version: 2.16.1
//
#ifndef __LEECHCORE_H__
@@ -437,12 +437,11 @@ BOOL LcCommand(
#define LC_CMD_FPGA_TLP_CONTEXT_RD 0x2000011b00000000 // R - get TLP user-defined context to be passed to callback function. [not remote].
#define LC_CMD_FPGA_TLP_FUNCTION_CALLBACK 0x2000011500000000 // W - set/unset TLP callback function (pbDataIn == PLC_TLP_CALLBACK). [not remote].
#define LC_CMD_FPGA_TLP_FUNCTION_CALLBACK_RD 0x2000011c00000000 // R - get TLP callback function. [not remote].
#define LC_CMD_FPGA_BAR_CONTEXT 0x2000011800000000 // W - set/unset BAR user-defined context to be passed to callback function. (pbDataIn == LPVOID user context). [not remote].
#define LC_CMD_FPGA_BAR_CONTEXT_RD 0x2000011d00000000 // R - get BAR user-defined context to be passed to callback function. [not remote].
#define LC_CMD_FPGA_BAR_FUNCTION_CALLBACK 0x2000011900000000 // W - set/unset BAR callback function (pbDataIn == PLC_BAR_CALLBACK). [not remote].
#define LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD 0x2000011e00000000 // R - get BAR callback function. [not remote].
#define LC_CMD_FPGA_BAR_INFO 0x0000011a00000000 // R - get BAR info (pbDataOut == LC_BAR_INFO[6]).
#define LC_CMD_FPGA_BAR_CONTEXT 0x2000012000000000 // W - set/unset BAR user-defined context to be passed to callback function. (pbDataIn == LPVOID user context). [not remote].
#define LC_CMD_FPGA_BAR_CONTEXT_RD 0x2000012100000000 // R - get BAR user-defined context to be passed to callback function. [not remote].
#define LC_CMD_FPGA_BAR_FUNCTION_CALLBACK 0x2000012200000000 // W - set/unset BAR callback function (pbDataIn == PLC_BAR_CALLBACK). [not remote].
#define LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD 0x2000012300000000 // R - get BAR callback function. [not remote].
#define LC_CMD_FPGA_BAR_INFO 0x0000012400000000 // R - get BAR info (pbDataOut == LC_BAR_INFO[6]).
#define LC_CMD_FILE_DUMPHEADER_GET 0x0000020100000000 // R
@@ -572,8 +571,10 @@ typedef VOID(*PLC_TLP_FUNCTION_CALLBACK)(
typedef struct tdLC_BAR {
BOOL fValid;
BOOL fIO;
BOOL f64Bit;
BOOL fPrefetchable;
DWORD _Filler[3];
DWORD iBar;
QWORD pa;
QWORD cb;

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 8
#define VERSION_REVISION 0
#define VERSION_BUILD 119
#define VERSION_REVISION 1
#define VERSION_BUILD 120
#define VER_FILE_DESCRIPTION_STR "MemProcFS : Plugin vmemd"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 8
#define VERSION_REVISION 0
#define VERSION_BUILD 119
#define VERSION_REVISION 1
#define VERSION_BUILD 120
#define VER_FILE_DESCRIPTION_STR "MemProcFS"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 8
#define VERSION_REVISION 0
#define VERSION_BUILD 119
#define VERSION_REVISION 1
#define VERSION_BUILD 120
#define VER_FILE_DESCRIPTION_STR "MemProcFS : Core"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -210,11 +210,11 @@ public interface ILeechCore
public static final long LC_CMD_FPGA_TLP_CONTEXT_RD = 0x2000011b00000000L; // R - get TLP user-defined context to be passed to callback function. [not remote].
public static final long LC_CMD_FPGA_TLP_FUNCTION_CALLBACK = 0x2000011500000000L; // W - set/unset TLP callback function (pbDataIn == PLC_TLP_CALLBACK). [not remote].
public static final long LC_CMD_FPGA_TLP_FUNCTION_CALLBACK_RD = 0x2000011c00000000L; // R - get TLP callback function. [not remote].
public static final long LC_CMD_FPGA_BAR_CONTEXT = 0x2000011800000000L; // W - set/unset BAR user-defined context to be passed to callback function. (pbDataIn == LPVOID user context). [not remote].
public static final long LC_CMD_FPGA_BAR_CONTEXT_RD = 0x2000011d00000000L; // R - get BAR user-defined context to be passed to callback function. [not remote].
public static final long LC_CMD_FPGA_BAR_FUNCTION_CALLBACK = 0x2000011900000000L; // W - set/unset BAR callback function (pbDataIn == PLC_BAR_CALLBACK). [not remote].
public static final long LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD = 0x2000011e00000000L; // R - get BAR callback function. [not remote].
public static final long LC_CMD_FPGA_BAR_INFO = 0x0000011a00000000L; // R - get BAR info (pbDataOut == LC_BAR_INFO[6]).
public static final long LC_CMD_FPGA_BAR_CONTEXT = 0x2000012000000000L; // W - set/unset BAR user-defined context to be passed to callback function. (pbDataIn == LPVOID user context). [not remote].
public static final long LC_CMD_FPGA_BAR_CONTEXT_RD = 0x2000012100000000L; // R - get BAR user-defined context to be passed to callback function. [not remote].
public static final long LC_CMD_FPGA_BAR_FUNCTION_CALLBACK = 0x2000012200000000L; // W - set/unset BAR callback function (pbDataIn == PLC_BAR_CALLBACK). [not remote].
public static final long LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD = 0x2000012300000000L; // R - get BAR callback function. [not remote].
public static final long LC_CMD_FPGA_BAR_INFO = 0x0000012400000000L; // R - get BAR info (pbDataOut == LC_BAR_INFO[6]).
public static final long LC_CMD_FILE_DUMPHEADER_GET = 0x0000020100000000L; // R

View File

@@ -8,8 +8,9 @@ import java.io.Serializable;
*/
public class LeechCoreBar implements Serializable
{
private static final long serialVersionUID = -8552459732654567238L;
private static final long serialVersionUID = -8552459732654567239L;
public boolean fValid;
public boolean fIO;
public boolean f64Bit;
public boolean fPrefetchable;
public int iBar;

View File

@@ -355,6 +355,7 @@ public class LeechCoreImpl implements ILeechCore
LeechCoreNative.LC_BAR nbar = new LeechCoreNative.LC_BAR(n.pBar);
LeechCoreBar bar = new LeechCoreBar();
bar.fValid = nbar.fValid;
bar.fIO = nbar.fIO;
bar.f64Bit = nbar.f64Bit;
bar.fPrefetchable = nbar.fPrefetchable;
bar.iBar = nbar.iBar;

View File

@@ -47,11 +47,15 @@ interface LeechCoreNative extends Library {
void invoke(int ctxNative, int cbTlp, Pointer pbTlp, int cbInfo, String szInfo);
}
@Structure.FieldOrder({"fValid", "f64Bit", "fPrefetchable", "iBar", "pa", "cb"})
@Structure.FieldOrder({"fValid", "fIO", "f64Bit", "fPrefetchable", "iBar", "_Filler0", "_Filler1", "_Filler2", "pa", "cb"})
class LC_BAR extends Structure {
public boolean fValid;
public boolean fIO;
public boolean f64Bit;
public boolean fPrefetchable;
public int _Filler0;
public int _Filler1;
public int _Filler2;
public int iBar;
public long pa;
public long cb;

View File

@@ -3,8 +3,8 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 8
#define VERSION_REVISION 0
#define VERSION_BUILD 119
#define VERSION_REVISION 1
#define VERSION_BUILD 120
#define VER_FILE_DESCRIPTION_STR "MemProcFS : Python API"
#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD

View File

@@ -1,6 +1,6 @@
[package]
name = "leechcore_example"
version = "5.8.0"
version = "5.8.1"
edition = "2021"
publish = false

View File

@@ -1,6 +1,6 @@
[package]
name = "m_example_plugin"
version = "5.8.0"
version = "5.8.1"
edition = "2021"
publish = false

View File

@@ -1,6 +1,6 @@
[package]
name = "memprocfs"
version = "5.8.0"
version = "5.8.1"
edition = "2021"
description = "MemProcFS - Physical Memory Analysis Framework"
homepage = "https://github.com/ufrisk/MemProcFS"

View File

@@ -3684,6 +3684,8 @@ pub struct LeechCore {
pub struct LcBar {
/// BAR is valid.
pub is_valid : bool,
/// BAR is I/O.
pub is_io : bool,
/// BAR is 64-bit.
pub is_64bit : bool,
/// BAR is prefetchable.
@@ -3757,7 +3759,6 @@ pub struct LcBarContext<'a, T> {
}
/// PCIe BAR wrapper context - returned to the caller of the BAR enable function.
/// The BAR callback is shut down / closed when this struct is dropped.
pub struct LcBarContextWrap<'a, T> {
/// Access to the underlying context.
pub ctx : &'a LcBarContext::<'a, T>,
@@ -3795,7 +3796,6 @@ pub struct LcTlpContext<'a, T> {
}
/// PCIe TLP wrapper context - returned to the caller of the TLP enable function.
/// The TLP callback is shut down / closed when this struct is dropped.
pub struct LcTlpContextWrap<'a, T> {
/// Access to the underlying context.
pub ctx : &'a LcTlpContext::<'a, T>,
@@ -4032,15 +4032,15 @@ impl LeechCore {
/// LeechCore command: FPGA get TLP callback function [not remote] [R].
pub const LC_CMD_FPGA_TLP_FUNCTION_CALLBACK_RD : u64 = 0x2000011c00000000;
/// LeechCore command: FPGA set/unset BAR user-defined context to be passed to callback function. [not remote] [W].
pub const LC_CMD_FPGA_BAR_CONTEXT : u64 = 0x2000011800000000;
pub const LC_CMD_FPGA_BAR_CONTEXT : u64 = 0x2000012000000000;
/// LeechCore command: FPGA get BAR user-defined context to be passed to callback function [not remote] [R].
pub const LC_CMD_FPGA_BAR_CONTEXT_RD : u64 = 0x2000011d00000000;
pub const LC_CMD_FPGA_BAR_CONTEXT_RD : u64 = 0x2000012100000000;
/// LeechCore command: FPGA set/unset BAR callback function [not remote] [W].
pub const LC_CMD_FPGA_BAR_FUNCTION_CALLBACK : u64 = 0x2000011900000000;
pub const LC_CMD_FPGA_BAR_FUNCTION_CALLBACK : u64 = 0x2000012200000000;
/// LeechCore command: FPGA get BAR callback function [not remote] [R].
pub const LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD : u64 = 0x2000011e00000000;
pub const LC_CMD_FPGA_BAR_FUNCTION_CALLBACK_RD : u64 = 0x2000012300000000;
/// LeechCore command: FPGA BAR info. (pbDataOut == LC_BAR_INFO[6]) [R].
pub const LC_CMD_FPGA_BAR_INFO : u64 = 0x0000011a00000000;
pub const LC_CMD_FPGA_BAR_INFO : u64 = 0x0000012400000000;
/// LeechCore command: Get the dump file header [R].
pub const LC_CMD_FILE_DUMPHEADER_GET : u64 = 0x0000020100000000;
/// LeechCore command: Get statistics [R].
@@ -8396,6 +8396,7 @@ impl LeechCore {
result[i] = LcBar {
bar_index : ne.iBar,
is_valid : ne.fValid != 0,
is_io : ne.fIO != 0,
is_64bit : ne.f64Bit != 0,
is_prefetchable : ne.fPrefetchable != 0,
pa : ne.pa,
@@ -8495,6 +8496,7 @@ impl LeechCore {
let bar = LcBar {
bar_index : ne.iBar,
is_valid : ne.fValid != 0,
is_io : ne.fIO != 0,
is_64bit : ne.f64Bit != 0,
is_prefetchable : ne.fPrefetchable != 0,
pa : ne.pa,
@@ -8565,8 +8567,10 @@ struct CLC_CONFIG {
#[allow(non_snake_case, non_camel_case_types)]
struct CLC_BAR {
fValid : u32,
fIO : u32,
f64Bit : u32,
fPrefetchable : u32,
_Filler : [u32; 3],
iBar : u32,
pa : u64,
cb : u64,

View File

@@ -1,6 +1,6 @@
[package]
name = "memprocfs_example"
version = "5.8.0"
version = "5.8.1"
edition = "2021"
publish = false