MCPcopy Create free account
hub / github.com/dobin/SuperMega / get_random_code_carrier_rva

Method get_random_code_carrier_rva

phases/injector.py:82–91  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

80
81 # Backdoor: .text random
82 def get_random_code_carrier_rva(self) -> int:
83 complete_size = len(self.carrier_shc)
84 largest_gap = self.code_manager.find_holes(complete_size)
85 if len(largest_gap) == 0:
86 raise Exception('No hole found in code section to fit payload!')
87 largest_gap_size = largest_gap[0][1] - largest_gap[0][0]
88 offset = int((largest_gap_size - complete_size) / 2) # centered in the .text section
89 offset += largest_gap[0][0]
90 carrier_rva = self.superpe.get_code_section().VirtualAddress + offset
91 return carrier_rva
92
93
94 # Backdoor: .text random

Callers 1

inject_exeMethod · 0.95

Calls 2

find_holesMethod · 0.80
get_code_sectionMethod · 0.80

Tested by

no test coverage detected