1、首先,執行基本步驟(前篇已經說過了),看圖
2、 接下來,開啟64位的ida
3、在左邊的函式視窗裡面找到main函式,開啟它,tab鍵可以切換反彙編檢視與偽**檢視。
3、雙擊vulnerable_function()函式,可以看到這個函式的**,如下
4、現在我們看到乙個問題,buf的長度只有80h,卻可以輸入200h的內容。
然後我們雙擊buf,可以看到這個棧底端是什麼內容
當屬於陣列的空間結束後(到 0x0000000000000000 時),有乙個 s,8 個位元組長度,然後下面是乙個 r,重點來了,r 中存放著的就是返回位址,也就
是當 read 函式結束後,程式接下來要執行指令的位址。
刷題入門20201112
使用leetcode進行刷題 一直不太理解leetcode裡面答案到底應該怎麼寫,因為在右邊就乙個classsolution,不知道應該寫成什麼樣子。就像這樣 class solution def twosum self,nums list int target int list int 前面害勉強...
pwn之堆入門
在程式執行的過程中,由malloc申請的記憶體空間被稱作chunk,而當程式申請的chunk被free時會被加入到相應的空閒管理列表 bin 中。解釋 前乙個chunk塊的大小,如果chunk size的p位為1則pre size無效,上個chunk可以使用pre size的空間。前乙個chunk塊...
CTF競賽入門(八)pwn
pwn po n pu n p o n p n pi o n pw n o n 是乙個駭客語法的俚語詞,自 own 這個字引申出來的,這個詞的含意在於,玩家在整個遊戲對戰中處在勝利的優勢,或是說明競爭對手處在完全慘敗的情形下,這個詞習慣上在網路遊戲文化主要用於嘲笑競爭對手在整個遊戲對戰中已經完全被擊...