Command line Windows命令行中的十六进制输入

Command line Windows命令行中的十六进制输入,command-line,hex,Command Line,Hex,我正试图解决我学校另一个学生提出的这个编程难题,我们得到了一个.exe和相应的.c源代码。我试图解决这个问题的方法是使用缓冲区溢出,我在Linux中使用了一个perl脚本作为输入,以便输入返回地址的十六进制值 问题是我们必须在Windows中使用.exe来完成,我不知道如何在命令行中输入十六进制值。对于Linux版本,我使用了以下问题:我的代码是: /a.out$(perl-e'print“a”x34.\x7d\x86\x04\x08) 如何在Windows命令行上执行此操作 感谢您提供的任何帮

我正试图解决我学校另一个学生提出的这个编程难题,我们得到了一个.exe和相应的.c源代码。我试图解决这个问题的方法是使用缓冲区溢出,我在Linux中使用了一个perl脚本作为输入,以便输入返回地址的十六进制值

问题是我们必须在Windows中使用.exe来完成,我不知道如何在命令行中输入十六进制值。对于Linux版本,我使用了以下问题:我的代码是:

/a.out$(perl-e'print“a”x34.\x7d\x86\x04\x08)

如何在Windows命令行上执行此操作

感谢您提供的任何帮助,如果我的问题在某些方面有所欠缺,我将提前道歉;我对这方面很不熟悉。

你有一些选择

  • 为Windows安装PERL或PYTHON包。然后,您可以使用与Linux中类似的方法进行操作

  • 如果您有powershell,您可以按照下面的链接执行一些脚本编写:


  • 请注意,在为Windows编译源代码时,堆栈结构和EIP位置将发生变化。因此,同样的负载可能无法在Linux上工作

    谢谢你的快速回答。我在Windows上安装了perl,但同一命令不起作用,因为.exe将整个命令视为字符串,而不是首先计算perl脚本。Linux中是否有一个等价于$(…)的程序首先计算perl脚本?谢谢你抽出时间。