(
self,
carrier_shc: bytes,
payload: Payload,
injectable: Injectable,
settings: Settings)
| 21 | |
| 22 | class Injector(): |
| 23 | def __init__( |
| 24 | self, |
| 25 | carrier_shc: bytes, |
| 26 | payload: Payload, |
| 27 | injectable: Injectable, |
| 28 | settings: Settings): |
| 29 | self.carrier_shc = carrier_shc |
| 30 | self.settings = settings |
| 31 | self.injectable = injectable |
| 32 | self.payload = payload |
| 33 | |
| 34 | # superpe is a representation of the exe file. We gonna modify it, and save it at the end. |
| 35 | # reuse from injectable |
| 36 | #self.superpe = SuperPe(settings.get_inject_exe_in()) |
| 37 | self.superpe = injectable.superpe |
| 38 | self.function_backdoorer = FunctionBackdoorer(self.superpe) |
| 39 | |
| 40 | # to find space for carrier and payload |
| 41 | # for some combination of settings HACK |
| 42 | self.rdata_manager = self.superpe.get_rdata_rangemanager() |
| 43 | self.code_manager = self.superpe.get_code_rangemanager() |
| 44 | |
| 45 | self.payload_rva: int = 0 |
| 46 | self.carrier_rva: int = 0 |
| 47 | |
| 48 | |
| 49 | # ┌───────────┬─────────────────────────────────────┬───────┐ |
nothing calls this directly
no test coverage detected