| 107 | |
| 108 | |
| 109 | def test_exe_data(): |
| 110 | print("Testing EXE: Payload in .data") |
| 111 | settings = Settings("unittest") |
| 112 | |
| 113 | settings.payload_base = "createfile.bin" |
| 114 | settings.verify = True |
| 115 | settings.try_start_final_infected_exe = False |
| 116 | settings.payload_location = PayloadLocation.DATA |
| 117 | settings.carrier_name = "alloc_rw_rwx" # important (not rx) |
| 118 | |
| 119 | |
| 120 | # EXE: PROCEXP |
| 121 | settings.injectable_base = "procexp64.exe" |
| 122 | |
| 123 | print("Test EXE DATA 1/8: procexp, overwrite-main") |
| 124 | settings.carrier_invoke_style = CarrierInvokeStyle.OverwriteFunc |
| 125 | if not start(settings): |
| 126 | return |
| 127 | |
| 128 | print("Test EXE DATA 2/8: procexp, backdoor-main") |
| 129 | settings.carrier_invoke_style = CarrierInvokeStyle.BackdoorFunc |
| 130 | if not start(settings): |
| 131 | return |
| 132 | |
| 133 | |
| 134 | # EXE: 7Z |
| 135 | settings.injectable_base = "7z.exe" |
| 136 | |
| 137 | print("Test EXE DATA 5/8: 7z, overwrite-main") |
| 138 | settings.carrier_invoke_style = CarrierInvokeStyle.OverwriteFunc |
| 139 | if not start(settings): |
| 140 | return |
| 141 | |
| 142 | print("Test EXE DATA 6/4: 7z, backdoor-main") |
| 143 | settings.carrier_invoke_style = CarrierInvokeStyle.BackdoorFunc |
| 144 | if not start(settings): |
| 145 | return |
| 146 | |
| 147 | |
| 148 | def test_exe_code(): |