2014-04-06 18:31:53 +00:00
|
|
|
/* Benjamin DELPY `gentilkiwi`
|
|
|
|
http://blog.gentilkiwi.com
|
|
|
|
benjamin@gentilkiwi.com
|
|
|
|
Licence : http://creativecommons.org/licenses/by/3.0/fr/
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "globals.h"
|
|
|
|
|
|
|
|
typedef struct _KKLL_M_MEMORY_PATTERN {
|
|
|
|
DWORD Length;
|
|
|
|
PUCHAR Pattern;
|
|
|
|
} KKLL_M_MEMORY_PATTERN, *PKKLL_M_MEMORY_PATTERN;
|
|
|
|
|
|
|
|
typedef struct _KKLL_M_MEMORY_OFFSETS {
|
|
|
|
LONG off0;
|
|
|
|
LONG off1;
|
|
|
|
LONG off2;
|
|
|
|
LONG off3;
|
|
|
|
LONG off4;
|
|
|
|
LONG off5;
|
|
|
|
LONG off6;
|
|
|
|
LONG off7;
|
|
|
|
LONG off8;
|
|
|
|
LONG off9;
|
|
|
|
} KKLL_M_MEMORY_OFFSETS, *PKKLL_M_MEMORY_OFFSETS;
|
|
|
|
|
|
|
|
typedef struct _KKLL_M_MEMORY_GENERIC {
|
|
|
|
KIWI_OS_INDEX OsIndex;
|
|
|
|
KKLL_M_MEMORY_PATTERN Search;
|
|
|
|
PWCHAR start;
|
|
|
|
PWCHAR end;
|
|
|
|
KKLL_M_MEMORY_OFFSETS Offsets;
|
|
|
|
} KKLL_M_MEMORY_GENERIC, *PKKLL_M_MEMORY_GENERIC;
|
|
|
|
|
|
|
|
NTSTATUS kkll_m_memory_search(const PUCHAR adresseBase, const PUCHAR adresseMaxMin, const PUCHAR pattern, PUCHAR *addressePattern, SIZE_T longueur);
|
|
|
|
NTSTATUS kkll_m_memory_genericPointerSearch(PUCHAR *addressePointeur, const PUCHAR adresseBase, const PUCHAR adresseMaxMin, const PUCHAR pattern, SIZE_T longueur, LONG offsetTo);
|
|
|
|
|
2014-06-07 19:24:10 +00:00
|
|
|
PKKLL_M_MEMORY_GENERIC kkll_m_memory_getGenericFromBuild(PKKLL_M_MEMORY_GENERIC generics, SIZE_T cbGenerics);
|
|
|
|
NTSTATUS kkll_m_memory_vm_read(PVOID Dest, PVOID From, DWORD Size);
|
|
|
|
NTSTATUS kkll_m_memory_vm_write(PVOID Dest, PVOID From, DWORD Size);
|
|
|
|
NTSTATUS kkll_m_memory_vm_alloc(DWORD Size, PVOID *Addr);
|
|
|
|
NTSTATUS kkll_m_memory_vm_free(PVOID Addr);
|