Add chainloader (stage2) (need to edit more files)

This commit is contained in:
TuxSH
2018-05-07 01:02:23 +02:00
parent 2c07b5a2fb
commit 75dfcd07a9
4 changed files with 67 additions and 14 deletions

View File

@@ -0,0 +1,12 @@
#include "chainloader.h"
uint8_t g_payload_arg_data[PAYLOAD_ARG_DATA_MAX_SIZE] = {1};
#pragma GCC optimize (3)
void relocate_and_chainload_main(uintptr_t load_address, uintptr_t src_address, size_t size, int argc) {
for(size_t i = 0; i < size; i++) {
*(uint8_t *)(load_address + i) = *(uint8_t *)(src_address + i);
}
((void (*)(int, void *))load_address)(argc, g_payload_arg_data);
}