update
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user