Skip to content

Instantly share code, notes, and snippets.

@JustasMasiulis
Created April 15, 2022 15:04
Show Gist options
  • Save JustasMasiulis/3d15069fb54849b05679f93f459a7ddb to your computer and use it in GitHub Desktop.
Save JustasMasiulis/3d15069fb54849b05679f93f459a7ddb to your computer and use it in GitHub Desktop.
typedef struct _PSP_SYSTEM_DLL {
EX_FAST_REF DllSection;
EX_PUSH_LOCK DllLock;
} PSP_SYSTEM_DLL;
typedef struct _PS_SYSTEM_DLL_INFO
{
union
{
ULONG Flags;
struct
{
ULONG Required : 1;
ULONG VerifyImage : 1;
ULONG Unused : 14;
ULONG Machine : 16;
};
};
_UNICODE_STRING DllPath;
void *BaseAddress;
void *SystemBaseAddress;
wchar_t *DbgName;
} PS_SYSTEM_DLL_INFO;
typedef struct _PSP_SYSTEM_DLL_DATA {
PSP_SYSTEM_DLL SystemDll;
PS_SYSTEM_DLL_INFO DllInfo;
ULONG RelocationDiff;
} PSP_SYSTEM_DLL_DATA;
PSP_SYSTEM_DLL_DATA* PsQuerySystemDllInfo(int index)
{
PSP_SYSTEM_DLL_DATA* dll = PspSystemDlls[index];
if ( dll && dll->DllInfo.BaseAddress )
return &dll->DllInfo;
else
return NULL;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment