mirror of
https://github.com/vxunderground/VX-API
synced 2024-06-27 09:18:36 +00:00
Update RfGetModuleHandle.cpp
bug fix
This commit is contained in:
parent
771872571f
commit
d2596e8442
@ -3,12 +3,13 @@ HMODULE RfGetModuleHandleA(LPCSTR lpModuleName)
|
|||||||
PPEB Peb = GetPeb();
|
PPEB Peb = GetPeb();
|
||||||
PLDR_MODULE Module = NULL;
|
PLDR_MODULE Module = NULL;
|
||||||
CHAR wDllName[64] = { 0 };
|
CHAR wDllName[64] = { 0 };
|
||||||
|
PLIST_ENTRY Head = &Peb->LoaderData->InMemoryOrderModuleList;
|
||||||
|
PLIST_ENTRY Next = Head->Flink;
|
||||||
|
Module = (PLDR_MODULE)((PBYTE)Next - 16);
|
||||||
|
|
||||||
Module = (PLDR_MODULE)((PBYTE)Peb->LoaderData->InMemoryOrderModuleList.Flink - 16);
|
while (Next != Head)
|
||||||
|
|
||||||
while (Module != NULL)
|
|
||||||
{
|
{
|
||||||
Module = (PLDR_MODULE)((PBYTE)Module->InMemoryOrderModuleList.Flink - 16);
|
Module = (PLDR_MODULE)((PBYTE)Next - 16);
|
||||||
if (Module->BaseDllName.Buffer != NULL)
|
if (Module->BaseDllName.Buffer != NULL)
|
||||||
{
|
{
|
||||||
RfZeroMemory(wDllName, sizeof(wDllName));
|
RfZeroMemory(wDllName, sizeof(wDllName));
|
||||||
@ -26,16 +27,20 @@ HMODULE RfGetModuleHandleW(LPCWSTR lpModuleName)
|
|||||||
PPEB Peb = GetPeb();
|
PPEB Peb = GetPeb();
|
||||||
PLDR_MODULE Module = NULL;
|
PLDR_MODULE Module = NULL;
|
||||||
|
|
||||||
Module = (PLDR_MODULE)((PBYTE)Peb->LoaderData->InMemoryOrderModuleList.Flink - 16);
|
PLIST_ENTRY Head = &Peb->LoaderData->InMemoryOrderModuleList;
|
||||||
|
PLIST_ENTRY Next = Head->Flink;
|
||||||
|
Module = (PLDR_MODULE)((PBYTE)Next - 16);
|
||||||
|
|
||||||
while (Module != NULL)
|
while (Next != Head)
|
||||||
{
|
{
|
||||||
Module = (PLDR_MODULE)((PBYTE)Module->InMemoryOrderModuleList.Flink - 16);
|
Module = (PLDR_MODULE)((PBYTE)Next - 16);
|
||||||
if (Module->BaseDllName.Buffer != NULL)
|
if (Module->BaseDllName.Buffer != NULL)
|
||||||
{
|
{
|
||||||
if (StringCompareW(lpModuleName, Module->BaseDllName.Buffer) == 0)
|
if (StringCompareW(lpModuleName, Module->BaseDllName.Buffer) == 0)
|
||||||
return (HMODULE)Module->BaseAddress;
|
return (HMODULE)Module->BaseAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Next = Next->Flink;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user