在Windows命令提示符中输入十六进制值

时间:2014-06-25 05:35:57

标签: cmd exploit shellcode

我开始学习漏洞,并决定编写一些简单的程序来编写#34;播放"用它。 代码非常简单: scanf("%s",& var1); strcpy(buffer,var1);

我在windows xp上编写了程序并在ollydbg上运行它。发现我可以覆盖SEH,但是当我运行程序时,它会在cmd提示符下打开,我无法粘贴十六进制代码(漏洞利用),只能删除ascii字符。 例如:我需要超过十六进制0x90,但如果我超过它,它将被视为ascii" 0x90"。我尝试粘贴像\ x90这样的东西,但同样的交易,cmd和程序将其视为ascii字符。

那么,我怎样才能在cmd提示符下将我的hexed shellcode输入到程序中

1 个答案:

答案 0 :(得分:0)

听起来你想要strtoul,它会将十六进制字符转换为二进制字符。

   unsigned long int strtoul(const char *nptr, char **endptr, int base);

   unsigned long long int strtoull(const char *nptr, char **endptr,
                                   int base);