在windows命令提示符中,如何使python将打印命令转换为程序的参数?

2024-10-02 00:20:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经构建了一个非常小的C程序,它接受来自命令行的参数来体验缓冲区溢出。我试图用一个特定的十六进制值覆盖堆栈的函数返回值。我知道我可以使用python将十六进制值转换为ASCII,而不是浏览ASCII图表

我只找到了在Windows上对我不起作用的Linux文档

Run function from the command line

Input Hex into argv[1]

./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


Tags: 函数命令行程序参数asciiexe体验print

热门问题