diff --git a/model/exehost.py b/model/exehost.py index 487f516..0dfda9a 100644 --- a/model/exehost.py +++ b/model/exehost.py @@ -124,15 +124,15 @@ class ExeHost(): self.iat[dll_name].append({ "dll_name": dll_name, "func_name": imp_name, - "func_addr": imp_addr + "iat_vaddr": imp_addr }) - def get_addr_of_iat_function(self, func_name: str) -> int: + def get_vaddr_of_iatentry(self, func_name: str) -> int: for dll_name in self.iat: for entry in self.iat[dll_name]: if entry["func_name"] == func_name: - return entry["func_addr"] + return entry["iat_vaddr"] return None ## Other diff --git a/phases/injector.py b/phases/injector.py index 4bdee0f..a893636 100644 --- a/phases/injector.py +++ b/phases/injector.py @@ -66,7 +66,7 @@ def injected_fix_iat(exe_out: FilePath, carrier: Carrier, exe_host: ExeHost): for iatRequest in carrier.get_all_iat_requests(): if not iatRequest.placeholder in code: raise Exception("IatResolve ID {} not found, abort".format(iatRequest.placeholder)) - destination_virtual_address = exe_host.get_addr_of_iat_function(iatRequest.name) + destination_virtual_address = exe_host.get_vaddr_of_iatentry(iatRequest.name) if destination_virtual_address == None: raise Exception("IatResolve: Function {} not found".format(iatRequest.name)) diff --git a/supermega.py b/supermega.py index 52be61e..6c0f26c 100644 --- a/supermega.py +++ b/supermega.py @@ -303,7 +303,7 @@ def start(settings: Settings): def exehost_has_all_carrier_functions(carrier: Carrier, exe_host: ExeHost): is_ok = True for iat_entry in carrier.iat_requests: - addr = exe_host.get_addr_of_iat_function(iat_entry.name) + addr = exe_host.get_vaddr_of_iatentry(iat_entry.name) if addr == 0: logging.info("---( Function not available as import: {}".format(iat_entry.name)) is_ok = False