re學習筆記(40)i春秋2020 GYCTF-re-喫雞神器

i春秋2020新春戰疫賽-re-喫雞神器
新手一枚,如有錯誤(不足)請指正,謝謝!!
個人博客:點擊進入
題目描述:

盧姥爺收到了朋友發來的“喫雞神器”,但是朋友忘了告訴他登錄賬戶和密碼,⽽且盧姥爺也不好意思去問。所以 請爲盧姥爺以 “lubenwei” 爲⽤戶名註冊個賬戶。flag格式爲 “flag{對應密碼}”

題目下載:

鏈接: https://pan.baidu.com/s/1gVE158CY6VmSV4qUwtXXqA 提取碼: 2020

OD載入,字符串搜索
在這裏插入圖片描述
找到關鍵字符串,雙擊進入
在這裏插入圖片描述
F2下斷點,運行程序,
在這裏插入圖片描述
輸入用戶名和假碼,進行login
在這裏插入圖片描述
程序被斷下來。
在這裏插入圖片描述
ctrl+F9執行到返回,返回上層函數
在這裏插入圖片描述
發現所在模塊變成了一個dll,繼續ctrl+F9執行到返回。發現來到了Login主模塊
在這裏插入圖片描述
發現沒有跳過去的跳轉啥的。retn返回上層call
來到這裏
在這裏插入圖片描述
這個程序IDA的基址和OD的基址一樣,都是0x400000,用IDA配合查看
在這裏插入圖片描述
用IDA找到彈窗call地址0x00402ade
快捷鍵G打開跳轉地址窗口
在這裏插入圖片描述
F5查看僞代碼
在這裏插入圖片描述
發現判斷是否進行錯誤彈窗代碼的條件是402090函數參與的,雙擊進入查看僞代碼
在這裏插入圖片描述
加上OD調試可知此處將輸入的用戶名的每個字符取出,在35~41行的循環裏,對result進行變換最終返回result
因爲用戶名題目已經給出,所以返回的result爲一個定值0x41d26f00
返回OD,也就是eax的值爲0x41d26f00,而eax與edi進行比較,來控制下面的跳轉,edi是在0x4021d1地址處被eax賦值的。
而eax是0x4021c9地址處調用的0x401fb0call的返回值。
在這裏插入圖片描述
IDA查看401fb0()函數
在這裏插入圖片描述
使用OD調試可知這部分是對輸入的密碼進行處理。輸入只能是0~9,a~f。
(其實就是將輸入的十六進制字符串轉換爲十六進制數值然後返回

若想成功,也就是對密碼處理後的返回值是0x41d26f00,也就是密碼是字符串"41d26f00"
在這裏插入圖片描述
根據題幹輸入密碼即爲flag
最終flag爲flag{41d26f00}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章