我已经构建了一个非常小的C程序,它接受来自命令行的参数来体验缓冲区溢出。我试图用一个特定的十六进制值覆盖堆栈的函数返回值。我知道我可以使用python将十六进制值转换为ASCII,而不是浏览ASCII图表
我只找到了在Windows上对我不起作用的Linux文档
Run function from the command line
./myProgram$(python-c“print'\x48\x65\x6c\x6c\x6f')(来自以上链接)
我尝试过:
myprogram.exe ($python -c print('\xe9\x14\x40\x00'))
myprogram.exe
$python -c print('\xe9\x14\x40\x00')
myprogram.exe
python -c "print('\xe9\x14\x40\x00')"
结果应为:
myprogram.exe [argv1]
使用python的print函数将值输入argv1
myprogram.exe é[]@
[]不是可打印字符。它是ASCII表中的十六进制14
目前没有回答
相关问题 更多 >
编程相关推荐