refactor: project -> settings and model/

This commit is contained in:
Dobin
2024-02-25 08:47:25 +00:00
parent b1dd3481ed
commit d61f358ae4
18 changed files with 185 additions and 157 deletions
+9 -9
View File
@@ -4,8 +4,8 @@ import unittest
import logging
from phases.compiler import fixup_asm_file, fixup_iat_reuse
from model import ExeInfo
from defs import *
from model.exehost import ExeHost
from model.defs import *
from observer import observer
@@ -44,15 +44,15 @@ class AsmTest(unittest.TestCase):
path_working: FilePath = "tests/data/iat_reuse_pre_fixup.asm.test"
shutil.copy(path_in, path_working)
exe_info = ExeInfo()
exe_host = ExeHost()
fixup_iat_reuse(path_working, exe_info)
self.assertTrue(len(exe_info.iat_resolves), 2)
fixup_iat_reuse(path_working, exe_host)
self.assertTrue(len(exe_host.iat_resolves), 2)
self.assertTrue("GetEnvironmentVariableW" in exe_info.iat_resolves)
self.assertEqual(exe_info.iat_resolves["GetEnvironmentVariableW"].name, "GetEnvironmentVariableW")
self.assertEqual(exe_info.iat_resolves["GetEnvironmentVariableW"].addr, 0)
self.assertTrue(len(exe_info.iat_resolves["GetEnvironmentVariableW"].id), 6) # 6 random bytes
self.assertTrue("GetEnvironmentVariableW" in exe_host.iat_resolves)
self.assertEqual(exe_host.iat_resolves["GetEnvironmentVariableW"].name, "GetEnvironmentVariableW")
self.assertEqual(exe_host.iat_resolves["GetEnvironmentVariableW"].addr, 0)
self.assertTrue(len(exe_host.iat_resolves["GetEnvironmentVariableW"].id), 6) # 6 random bytes
with open(path_working, "r") as f:
lines = f.readlines()
+1 -6
View File
@@ -3,11 +3,6 @@ from typing import List
import unittest
import logging
from model import ExeInfo
from defs import *
from helper import hexdump
from observer import observer
from phases.datareuse import *
@@ -69,7 +64,7 @@ class DataReuseTest(unittest.TestCase):
fixup = data_fixups[0]
self.assertTrue(fixup["string_ref"], "rcx")
self.assertTrue(fixup["register"], "$SG72513")
self.assertEqual(5, len(fixup["randbytes"]))
self.assertEqual(7, len(fixup["randbytes"])) # needs to be 7!
asmFileParser.write_lines_to(asm_out)
+2 -2
View File
@@ -3,8 +3,8 @@ from typing import List
import unittest
import logging
from model import ExeInfo
from defs import *
from model.exehost import ExeHost
from model.defs import *
from pehelper import extract_code_from_exe
from helper import hexdump
from observer import observer