我通常與運行我的程序。GDB與管道輸入(未參數)調試
如果這只是一個命令的說法,我可以做打開GDB:
gdb ./vuln_prog
run $(perl -e 'print "A"x200')
然而,我的方案是不是一個命令參數,而是輸入(?STDIN)。我如何在gdb中調試這個?我嘗試了一堆選項,但似乎沒有任何工作。
我通常只是在進程上運行gdb,當它提示用戶輸入時,輸入它,但是我不想輸入「A」。我想輸入來自\ x00- \ xff的所有字符,我無法輸入。
我通常與運行我的程序。GDB與管道輸入(未參數)調試
如果這只是一個命令的說法,我可以做打開GDB:
gdb ./vuln_prog
run $(perl -e 'print "A"x200')
然而,我的方案是不是一個命令參數,而是輸入(?STDIN)。我如何在gdb中調試這個?我嘗試了一堆選項,但似乎沒有任何工作。
我通常只是在進程上運行gdb,當它提示用戶輸入時,輸入它,但是我不想輸入「A」。我想輸入來自\ x00- \ xff的所有字符,我無法輸入。
爲什麼使用'gets'?我的意思是有時它是可以接受的(比如,如果你只是寫一個快速程序來測試某些東西,或者程序只能用可信任的輸入運行),但我很好奇。 – flarn2006
這不是我的代碼。這是一個有趣的逆向工程挑戰,提供代碼。 – mandreko
噢好吧。被「故意使用」*是因爲它容易受到攻擊,就像是解決挑戰的一部分一樣。 – flarn2006