2012-07-19 72 views
2

我是腳本,模糊和緩衝區溢出的新手。我理解他們背後的基本概念。如何將腳本中的輸入傳遞到命令行

我正在尋找一種方法來將來自腳本(我正在考慮perl)的輸入傳遞到命令行。

我想創建一個緩衝區溢出的模糊器。 我有一個基本的C程序,需要從命令行輸入

我需要一個腳本,我可以在命令行上將這些模式傳遞給此外部程序。

任何幫助,將不勝感激。謝謝。

+0

您可以使用'qx {}'運算符(或稱爲反引號),如'perldoc perlop'中所述。這使得捕獲輸出變得容易。另一個選項是'system'(請參閱'perldoc -f system')。另一種方法是用'open'打開一個管道,在'perldoc -f open'和'perldoc perlopentut'中討論。 – DavidO 2012-07-19 04:06:11

回答

1

您可以創建輸入一個文件,裏面有11條線路(最後一行就是一個空行來模擬輸入最後的命令行輸入鍵),然後重定向此文件到C程序:

./c_program < file_with_10_inputs 

您可以保存上述行作爲一個包裝腳本(如auto_exec.sh),並在Perl做:

system("sh auto_exec.sh"); 
0

我認爲你必須處理標準輸入的外部進程的標準輸出,所以這是一個好主意,使用像IO::Async這樣的模塊,它可以幫助你很多。

+0

謝謝!那正是我需要的 – user1495172 2012-07-20 04:24:25

相關問題