Как преобразовать строку шестнадцатеричного шеллкода в массив без знака в C ++? - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь создать файл .dll, который выполняет шеллкод при вызове в моей виртуальной Windows среде. Проблема заключается в том, что шелл-код, представляющий собой последовательность шестнадцатеричных значений в формате, аналогичном «\ xfc \ x00 \ xff \ x00 \ x00 ...», изначально декодируется из base64 и сохраняется как строка C ++ из-за декодирования Я использую функцию. В результате я не могу выполнить что-то вроде:

void (*func)()
func = (void (*)()) decoded_shellcode;
(void)(*func)();

Я хочу преобразовать строку в массив беззнаковых символов в C ++, потому что это, кажется, правильно выполняется в виртуальной среде. Есть ли способ, которым я могу это сделать, или, по крайней мере, интерпретировать строку как исполняемый код?

...