refactor: datareuse fixups into project.carrier as transport

This commit is contained in:
Dobin
2024-02-25 18:20:37 +00:00
parent 430f105240
commit 462f23d8cf
6 changed files with 89 additions and 48 deletions
+14 -7
View File
@@ -1,12 +1,12 @@
from typing import Dict, List
import logging
from model.exehost import ExeHost
from model.exehost import DataReuseEntry
logger = logging.getLogger("ExeHost")
logger = logging.getLogger("Carrier")
class IatEntry():
class IatRequest():
def __init__(self, name: str, placeholder: bytes):
self.name: str = name # Function Name, like "VirtualAlloc"
self.placeholder: bytes = placeholder # Random bytes as placeholder
@@ -15,7 +15,8 @@ class IatEntry():
class Carrier():
def __init__(self):
self.iat_requests: List[IatEntry] = []
self.iat_requests: List[IatRequest] = []
self.reusedata_fixups: List[DataReuseEntry] = []
def init(self):
@@ -23,8 +24,14 @@ class Carrier():
def add_iat_request(self, func_name: str, placeholder: bytes):
self.iat_requests.append(IatEntry(func_name, placeholder))
self.iat_requests.append(IatRequest(func_name, placeholder))
def get_all_iat_requests(self) -> List[IatEntry]:
def get_all_iat_requests(self) -> List[IatRequest]:
return self.iat_requests
def set_datareuse_fixups(self, fixups: List[DataReuseEntry]):
self.reusedata_fixups = fixups
def get_all_reusedata_fixups(self) -> List[DataReuseEntry]:
return self.reusedata_fixups