2017-04-02 77 views
0

我試圖通過調試程序蟒蛇紙條的輸出是這樣的:GDB管道輸入到調試文件,而無需使用一個文件

(gdb) run $(python -c "print('A'*60)") 

但是,這是作爲參數傳遞。

(gdb) run < $(python -c "print('A'*60)") 

,因爲它取代了右邊部分withs了「A和無法打開此類名稱的文件,該報告錯誤。

我在找gdb中的管道機制。

python -c "print('A'*60)" > input.txt 
(gdb) run < input.txt 

會是一個解決方案,但我沒有權限創建一個文件(我試圖解決一個堆棧溢出基於CTF)

回答

0

您正在尋找:

(gdb) run <(python -c "print('A'*60)") 

(這是一個shell重定向功能,而不是GDB重定向功能)。

I don't have the permission to create a file

系統不允許您在/tmp中創建文件的情況非常罕見。

python -c "print('A'*60)" > /tmp/input.txt 
(gdb) run < /tmp/input.txt 
+0

「/ bin/sh:語法錯誤:」(「意外的」 第一個選項dos似乎沒有工作。 – Pruzo