re學習筆記(27)攻防世界-re-csaw2013reversing2

新手一枚,如有錯誤(不足)請指正,謝謝!!
個人博客:點擊進入
題目鏈接:攻防世界-re-csaw2013reversing2
題目下載:點擊下載

在這裏插入圖片描述
既然運行就能拿到flag,就直接載入OD動態調試吧
在這裏插入圖片描述
F8一點點單步向下,來找到確切彈窗的位置
發現執行到這裏的時候出現了彈窗,在這個位置下斷點,重新載入
在這裏插入圖片描述
然後F9直接運行到此地址,F7進入call
然後F8單步,來到這裏,jnz跳轉未實現,je跳轉實現
在這裏插入圖片描述
執行了第二個messagebox函數出現亂碼
在這裏插入圖片描述
既然程序執行的是錯誤的路徑,那我們就把跳轉改掉,在此call段首下斷,然後刪除之前的斷點,重載程序F9運行
然後F8單步來到這裏
在這裏插入圖片描述
修改Z標誌位讓他跳轉實現(畢竟下面是檢測是否有調試器的函數)執行了檢測調試器的函數後就沒再執行下面的inc
將z標誌位修改爲0,F8單步
在這裏插入圖片描述
當執行到int3的時候程序會退出,重載程序,nop掉他
執行到這裏的時候,發現jmp會跳向程序退出,nop掉jmp
在這裏插入圖片描述
第一個彈窗什麼也沒輸出,關閉彈窗後繼續f8
在這裏插入圖片描述
這裏jmp跳轉後沒有輸出的東西了,所以將其nop掉
在這裏插入圖片描述
執行到這裏的時候出現了flag
在這裏插入圖片描述
數據地址存儲在eax寄存器裏,在eax寄存器右鍵→數據窗口中跟隨
在這裏插入圖片描述
然後在數據窗口複製字符串
在這裏插入圖片描述
繼續運行彈窗彈出flag
在這裏插入圖片描述
提交後顯示正確。
在這裏插入圖片描述

發佈了50 篇原創文章 · 獲贊 7 · 訪問量 3544
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章