refactor: make address type more clear

This commit is contained in:
Dobin
2024-02-25 20:33:19 +00:00
parent 5301ef7b2e
commit 16438e799b
3 changed files with 5 additions and 5 deletions
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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))
+1 -1
View File
@@ -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