我有一个想要使用调试器探索的二进制文件。程序获取一个密钥作为参数,如果传递了密钥,则打印“成功” / “不成功” ,否则打印“输入密钥”。
如果我使用带有或不带有参数的命令行运行二进制文件,它会按预期工作,但是当我使用gdb或x64dbg传递参数时,它总是打印“输入密钥”,就像没有参数一样。
当我使用gdb时,我按如下方式传递 args:
gdb binary.exe
run arg_key
在x64dbg中,我按下File -> Change Command line
并编辑它
"C:\path_to_file\binary.exe" "arg_key"
在这两种情况下,我都会得到“输入密钥”而不是“成功”/“不成功”。
什么可能导致这种行为?