假设您有一个接受命令行参数的二进制可执行文件。
在这种情况下,输入是:“i”= 0x69,“n”= 0x6E。
有没有办法传递特定的字节作为输入,而不是ASCII码?
也就是说,我想传递0xF9。
0xF9 = 11111001
请注意,我不知道任何可以在屏幕上键入并在二进制中评估为1111 1001的ASCII字符(因为ASCII仅限于0-127范围内)。
但遗憾的是,我希望这个可执行文件接收字节0xF9作为输入。
可执行文件是固定的;我没有它的源代码,也不能修改它。
./process in
在这种情况下,输入是:“i”= 0x69,“n”= 0x6E。
有没有办法传递特定的字节作为输入,而不是ASCII码?
也就是说,我想传递0xF9。
0xF9 = 11111001
请注意,我不知道任何可以在屏幕上键入并在二进制中评估为1111 1001的ASCII字符(因为ASCII仅限于0-127范围内)。
但遗憾的是,我希望这个可执行文件接收字节0xF9作为输入。
可执行文件是固定的;我没有它的源代码,也不能修改它。
$’\xF9’
应该将字符(字节)传递给您的程序。唯一不能出现在参数中的字符(字节)是空字节。它严格地标志着参数的结束。 - Jonathan Leffler