diff --git a/phases/asmparser.py b/phases/asmtextparser.py similarity index 98% rename from phases/asmparser.py rename to phases/asmtextparser.py index 2e64b6a..0720aaf 100644 --- a/phases/asmparser.py +++ b/phases/asmtextparser.py @@ -5,10 +5,10 @@ from helper import * from model.carrier import Carrier, DataReuseEntry, IatRequest from model.settings import Settings -logger = logging.getLogger("AsmParser") +logger = logging.getLogger("AsmTextParser") -def parse_asm_file(carrier: Carrier, asm_text: str, settings: Settings) -> List[str]: +def parse_asm_text_file(carrier: Carrier, asm_text: str, settings: Settings) -> List[str]: lines_out = [] lines = asm_text.split("\n") diff --git a/phases/compiler.py b/phases/compiler.py index 7f0b147..0bea932 100644 --- a/phases/compiler.py +++ b/phases/compiler.py @@ -10,7 +10,7 @@ from observer import observer from model import * from phases.masmshc import masm_shc, Params from model.carrier import Carrier -from phases.asmparser import parse_asm_file +from phases.asmtextparser import parse_asm_text_file from model.settings import Settings logger = logging.getLogger("Compiler") @@ -40,7 +40,7 @@ def compile_dev( observer.add_text_file("carrier_asm_orig", asm_text) logger.info("---[ ASM masm_shc: {} ".format(asm_out)) - asm_text_lines: List[str] = parse_asm_file(Carrier(), asm_text) + asm_text_lines: List[str] = parse_asm_text_file(Carrier(), asm_text) asm_text = masm_shc(asm_text_lines) observer.add_text_file("carrier_asm_cleanup", asm_text) @@ -70,7 +70,7 @@ def compile( asm_text = file_readall_text(asm_out) observer.add_text_file("carrier_asm_orig", asm_text) - asm_text_lines = parse_asm_file(carrier, asm_text, settings) # Fixup assembly file + asm_text_lines = parse_asm_text_file(carrier, asm_text, settings) # Fixup assembly file asm_text = masm_shc(asm_text_lines) # Cleanup assembly file observer.add_text_file("carrier_asm_final", asm_text) diff --git a/supermega.py b/supermega.py index 88a7c96..a306075 100644 --- a/supermega.py +++ b/supermega.py @@ -151,7 +151,7 @@ def start_real(settings: Settings): phases.templater.create_c_from_template(settings, project.payload.len) # If we put the payload into .rdata - # PREPARE DataReuseEntry for usage in Compiler/AsmParser + # PREPARE DataReuseEntry for usage in Compiler/AsmTextParser if settings.payload_location == PayloadLocation.DATA: logger.info("--[ Load payload for use in .rdata injection") project.carrier.add_datareuse_fixup(DataReuseEntry("supermega_payload")) diff --git a/tests/test_asmparser.py b/tests/test_asmparser.py index 3d6716b..2ca00ec 100644 --- a/tests/test_asmparser.py +++ b/tests/test_asmparser.py @@ -6,7 +6,7 @@ from model.defs import * from model.carrier import Carrier from observer import observer from helper import * -from phases.asmparser import parse_asm_file +from phases.asmtextparser import parse_asm_text_file from phases.masmshc import masm_shc @@ -25,7 +25,7 @@ class AsmTest(unittest.TestCase): asm_in: FilePath = "tests/data/peb_walk_pre_fixup.asm" asm_text = file_readall_text(asm_in) carrier = Carrier("fake.exe") - asm_text_lines = parse_asm_file(carrier, asm_text) + asm_text_lines = parse_asm_text_file(carrier, asm_text) # cmp DWORD PTR n$1[rsp], 11223344 ; 00ab4130H # cmp DWORD PTR n$1[rsp], 272 ; 00ab4130H @@ -45,7 +45,7 @@ class AsmTest(unittest.TestCase): asm_in: FilePath = "tests/data/iat_reuse_pre_fixup.asm" asm_text = file_readall_text(asm_in) carrier = Carrier("fake.exe") - asm_text_lines = parse_asm_file(carrier, asm_text) + asm_text_lines = parse_asm_text_file(carrier, asm_text) self.assertEqual(len(carrier.iat_requests), 2) @@ -74,7 +74,7 @@ class AsmTest(unittest.TestCase): asm_in = "tests/data/data_reuse_pre_fixup.asm" asm_text = file_readall_text(asm_in) carrier = Carrier("fake.exe") - asm_text_lines = parse_asm_file(carrier, asm_text) + asm_text_lines = parse_asm_text_file(carrier, asm_text) asm_text = masm_shc(asm_text_lines) # optional here data_reuse_entries = carrier.get_all_reusedata_fixups() @@ -96,7 +96,7 @@ class AsmTest(unittest.TestCase): asm_text = file_readall_text(asm_in) carrier = Carrier("fake.exe") - asm_text_lines = parse_asm_file(carrier, asm_text) + asm_text_lines = parse_asm_text_file(carrier, asm_text) self.assertTrue("\tDB " in asm_text_lines[108-1]) self.assertFalse("OFFSET FLAT:$SG" in asm_text_lines[108-1])