This commit is contained in:
Huoji's
2025-03-22 01:59:30 +08:00
parent 2f08a0264a
commit f57ac27aa5
2 changed files with 17 additions and 14 deletions

View File

@@ -384,6 +384,7 @@ auto Sandbox::CreateModuleInfo(const char* dllName, uint64_t moduleBase,
auto Sandbox::ResolveExport(uint64_t moduleBase)
-> std::vector<std::shared_ptr<moudle_export>> {
std::vector<std::shared_ptr<moudle_export>> export_list;
DWORD exportSize = 0;
static RtlImageDirectoryEntryToDataFn fnRtlImageDirectoryEntryToData;
if (fnRtlImageDirectoryEntryToData == nullptr) {
@@ -425,11 +426,11 @@ auto Sandbox::ResolveExport(uint64_t moduleBase)
exportData.ordinal = static_cast<WORD>(
addressOfNameOrdinals[i] + exportDirectory->Base); // 设置序号
m_exportFuncDict.push_back(
export_list.push_back(
std::make_shared<moudle_export>(exportData));
}
}
return m_exportFuncDict;
return export_list;
}
auto Sandbox::ResolveImportExports() -> void {
for (auto module : m_moduleList) {
@@ -437,14 +438,14 @@ auto Sandbox::ResolveImportExports() -> void {
continue;
}
const auto exports = ResolveExport(module->real_base);
for (const auto item : exports) {
module->export_function = ResolveExport(module->real_base);
for (const auto item : module->export_function) {
if (LOG_LEVEL > 0) {
printf("[ResolveImportExports] import export: [%s] %s => %llx\n", module->name,
item->name, item->function_address);
}
module->export_function.push_back(item);
m_exportFuncDict.push_back(item);
}
}
}