aboutsummaryrefslogtreecommitdiff
path: root/primedev
diff options
context:
space:
mode:
Diffstat (limited to 'primedev')
-rw-r--r--primedev/thirdparty/silver-bun/module.cpp15
-rw-r--r--primedev/thirdparty/silver-bun/module.h2
-rw-r--r--primedev/windows/libsys.cpp16
3 files changed, 0 insertions, 33 deletions
diff --git a/primedev/thirdparty/silver-bun/module.cpp b/primedev/thirdparty/silver-bun/module.cpp
index dceb602a..84f4da9e 100644
--- a/primedev/thirdparty/silver-bun/module.cpp
+++ b/primedev/thirdparty/silver-bun/module.cpp
@@ -66,21 +66,6 @@ void CModule::Init()
m_ModuleSections.push_back(ModuleSections_t(reinterpret_cast<const char*>(hCurrentSection.Name),
static_cast<uintptr_t>(m_pModuleBase + hCurrentSection.VirtualAddress), hCurrentSection.SizeOfRawData)); // Push back a struct with the section data.
}
-
- // Get the location of IMAGE_IMPORT_DESCRIPTOR for this module by adding the IMAGE_DIRECTORY_ENTRY_IMPORT relative virtual address onto our
- // module base address.
- IMAGE_IMPORT_DESCRIPTOR* pImageImportDescriptors = reinterpret_cast<IMAGE_IMPORT_DESCRIPTOR*>(
- m_pModuleBase + m_pNTHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);
- if (!pImageImportDescriptors)
- return;
-
- for (IMAGE_IMPORT_DESCRIPTOR* pIID = pImageImportDescriptors; pIID->Name != 0; pIID++)
- {
- // Get virtual relative Address of the imported module name. Then add module base Address to get the actual location.
- const char* szImportedModuleName = reinterpret_cast<char*>(reinterpret_cast<DWORD*>(m_pModuleBase + pIID->Name));
-
- m_vImportedModules.push_back(szImportedModuleName);
- }
}
//-----------------------------------------------------------------------------
diff --git a/primedev/thirdparty/silver-bun/module.h b/primedev/thirdparty/silver-bun/module.h
index cc513086..5683ee14 100644
--- a/primedev/thirdparty/silver-bun/module.h
+++ b/primedev/thirdparty/silver-bun/module.h
@@ -52,7 +52,6 @@ public:
ModuleSections_t GetSectionByName(const char* szSectionName) const;
inline const std::vector<CModule::ModuleSections_t>& GetSections() const { return m_ModuleSections; }
- inline const std::vector<std::string>& GetImportedModules() const { return m_vImportedModules; }
inline uintptr_t GetModuleBase(void) const { return m_pModuleBase; }
inline DWORD GetModuleSize(void) const { return m_nModuleSize; }
inline const std::string& GetModuleName(void) const { return m_ModuleName; }
@@ -74,5 +73,4 @@ private:
uintptr_t m_pModuleBase;
DWORD m_nModuleSize;
std::vector<ModuleSections_t> m_ModuleSections;
- std::vector<std::string> m_vImportedModules;
};
diff --git a/primedev/windows/libsys.cpp b/primedev/windows/libsys.cpp
index 0aff820b..501eae68 100644
--- a/primedev/windows/libsys.cpp
+++ b/primedev/windows/libsys.cpp
@@ -18,31 +18,15 @@ ILoadLibraryExW o_LoadLibraryExW = nullptr;
//-----------------------------------------------------------------------------
void LibSys_RunModuleCallbacks(HMODULE hModule)
{
- // Modules that we have already ran callbacks for.
- // Note: If we ever hook unloading modules, then this will need updating to handle removal etc.
- static std::vector<HMODULE> vCalledModules;
-
if (!hModule)
{
return;
}
- // If we have already ran callbacks for this module, don't run them again.
- if (std::find(vCalledModules.begin(), vCalledModules.end(), hModule) != vCalledModules.end())
- {
- return;
- }
- vCalledModules.push_back(hModule);
-
// Get module base name in ASCII as noone wants to deal with unicode
CHAR szModuleName[MAX_PATH];
GetModuleBaseNameA(GetCurrentProcess(), hModule, szModuleName, MAX_PATH);
- // Run calllbacks for all imported modules
- CModule cModule(hModule);
- for (const std::string& svImport : cModule.GetImportedModules())
- LibSys_RunModuleCallbacks(GetModuleHandleA(svImport.c_str()));
-
// DevMsg(eLog::NONE, "%s\n", szModuleName);
// Call callbacks