mirror of
https://github.com/dobin/SuperMega
synced 2026-06-02 17:27:10 +00:00
refactor: rename AsmParser -> AsmTextParser
This commit is contained in:
@@ -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")
|
||||
|
||||
+3
-3
@@ -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)
|
||||
|
||||
|
||||
+1
-1
@@ -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"))
|
||||
|
||||
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user