From 240b5e6494c1b227c292324100f35356c191d9c9 Mon Sep 17 00:00:00 2001 From: Dobin Rutishauser Date: Sun, 23 Jun 2024 17:17:24 +0200 Subject: [PATCH] refactor: some cleanup --- phases/injector.py | 9 ++++++--- supermega.py | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/phases/injector.py b/phases/injector.py index 879505f..b5c282e 100644 --- a/phases/injector.py +++ b/phases/injector.py @@ -23,19 +23,22 @@ class Injector(): def __init__( self, carrier_shc: bytes, - settings: Settings, + payload: Payload, injectable: Injectable, - payload: Payload): + settings: Settings): self.carrier_shc = carrier_shc self.settings = settings self.injectable = injectable self.payload = payload # superpe is a representation of the exe file. We gonna modify it, and save it at the end. - self.superpe = SuperPe(settings.inject_exe_in) + # reuse from injectable + #self.superpe = SuperPe(settings.inject_exe_in) + self.superpe = injectable.superpe self.function_backdoorer = FunctionBackdoorer(self.superpe) # to find space for carrier and payload + # for some combination of settings HACK self.payload_rva = None self.carrier_rva = None self.init_addresses() diff --git a/supermega.py b/supermega.py index 84b1aa3..127f8b0 100644 --- a/supermega.py +++ b/supermega.py @@ -199,9 +199,10 @@ def start_real(settings: Settings): # INJECT loader into an exe and do IAT & data references. Big task. injector = phases.injector.Injector( carrier_shellcode, - settings, - project.injectable, - project.payload) + project.payload, + project.injectable, + settings) + injector.inject_exe() #observer.add_code_file("exe_final", extract_code_from_exe_file_ep(settings.inject_exe_out, 300))