ch2 棧溢位,控制程式執行流程

2021-07-24 02:32:36 字數 1054 閱讀 2563

實驗環境:

作業系統

windows7

idevc 6.0

build版本

debug

用於實驗的c語言**:

我們可以通過將棧幀中的返回位址,覆蓋為0x00401122。這樣直接跳轉到驗證通過,然後printf。

利用ollydbg單步除錯,看到執行完strcpy後:

棧幀中變數分布為(password.txt中的內容為「1234567」):

我們只要將0x00401107覆蓋為0x401122即可跳過驗證,直接執行到驗證通過。

將password.txt寫入5個 "4321"

用十六進製制編輯器開啟password.txt,將最後的"34 33 32 31"修改為"22 11 40 00"。

儲存後,直接開啟.exe檔案,結果如圖:

成功跳過驗證,但是還有一些小瑕疵,最後崩潰了,因為棧幀內的ebp還有authenticated被覆蓋無效的值,導致程式在退出的時候,無法平衡堆疊,而崩潰。

解題報告 ch2

127 accordian patience 1.測試資料大約30000條 使用stl的stack就是屎 用兩層vector,並利用線性表可以在規定的時間內解決掉 101 the blocks problem 1.思路 使用線性表來解決,記錄每個pile的初始方塊,記錄每個方塊的left 和 rig...

ch2 基本工具介紹

安裝miniconda3作為python環境。如果配置了cuda,可以安裝tensorflow gpu。資料預處理 numpy 提供高效的n維陣列和向量計算 scipy 依賴numpy,提供高效數值計算,包含函式最優 數值積分等任務模組 pandas 資料結構和資料分析庫。包含高階資料結構和類sql...

Duda模式分類 ch2 習題

這一章的題磨了好幾天了,目前的進度在26,剛一半。中間還有一些不明白的。簡單寫個總結 1.a 相當於證明左邊等於2p w1 x p w2 x p x 的積分,b c d 按定義證 2.簡單計算,歸一化定義 3.a 直接寫吧。b 不太明白,此解是哪個解。4.計算,c 的解是 o1u2 o2u1 o1 ...