你能否将非ascii字符传递给argv?

时间:2018-05-06 17:21:48

标签: c assembly x86 intel

假设您有一个接受命令行参数的二进制可执行文件。

./process in

在这种情况下,输入为:'i'= 0x69,'n'= 0x6E

无论如何我可以传递特定字节作为输入,而不是ASCII吗?

也就是说,我想传递0xF9。

0xF9 = 11111001

注意,没有ASCII字符(我知道)我可以在屏幕上键入以二进制形式评估为1111 1001(由于ASCII限制在0-127范围内)。

但是,我希望这个可执行文件接收字节0xF9作为输入。

可执行文件已修复;我没有它的源代码,我无法修改它。

1 个答案:

答案 0 :(得分:2)

回到MS-DOS时,您可以使用组合键 ALT - 2 4 0xF9 = 11111001 = 249键盘输入> 9 。

对于Windows,这仍然像this article中解释的那样。

对于Linux / Unix,您可以使用this answer中解释的组合键使用类似的方法。