我正試圖解決這個編程難題,另一名學生在我的學校放出來,我們得到一個.exe和相應的.c源代碼。我試圖解決這個問題的方式是使用緩衝區溢出,並且我設法在Linux中使用perl腳本作爲輸入,以便我可以輸入返回地址的十六進制值。Windows命令行中的十六進制輸入
問題是我們必須在Windows中使用.exe,我不知道如何在命令行中輸入十六進制值。對於Linux版本,我用這樣一個問題:Hex values in gdb input files和我的代碼結束了被這樣的:
./a.out $(perl -e 'print "A"x34 . "\x7d\x86\x04\x08";')
我怎麼會去上的Windows命令行這樣做呢?
感謝您提供的任何幫助,如果我的問題缺乏某些方面,我會提前道歉;我對這件事很陌生。
感謝您的快速回答。我在Windows上安裝了perl,但是相同的命令不起作用,因爲.exe將整個命令視爲字符串,而不是先評估perl腳本。在Linux中是否有與$(...)相當的功能來首先評估perl腳本?謝謝你的時間。 – nolax
感謝您的PowerShell鏈接。然而,有沒有辦法做一些簡單的事情,比如將單個數字轉換爲十六進制,而不使用PowerShell? – Alex