2019.10.1-RE

祝祖國 70歲生日快樂

在這裏插入圖片描述
首先祝祖國越來越強大,我寫自己的第一篇也正好在今天!!!

序言

這是我第一次在CSDN上寫博客,也是第一次怎麼正規以及正式的寫博客,可能有一些地方還會有疏忽和遺漏,希望讀者能夠指出我的問題!十分感謝!

另外同時也希望自己能夠堅持下去,自己定下的目標:每月最少要出四篇高質量的文章!加油!這裏面主要是記錄一些我做的CTF題以及復現的題目,還有就是自己的學習成長過程!

Reversing.Kr – Easy CrackMe

首先是直接雙擊運行

得到下面圖片所示:
在這裏插入圖片描述

這個時候我們嘗試輸入一些東西來幫助我們接下來的判斷
接着我們發現無論我們輸入什麼或者即使是什麼都不輸入都是一樣的!

在這裏插入圖片描述
因此直接拖進IDA裏面在這裏插入圖片描述

上去直接SHIFT+F12顯示字符串
然後能夠看到–>Incorrect Password
可以從這裏下手雙擊跟進
在這之後,可以直接F5查看==“僞代碼”的,但是我的IDA有些問題,而且大佬們的建議就是不要太過於依賴F5的“僞代碼”==,有時候會不太準確
不過在這篇文章中我會先按照F5去分析。(PS:這個並沒有太過於影響分析!)在這之後我會再寫一篇有關一些與彙編基礎的文章以及後續這個題從彙編指令轉換來。可能會出的較慢一些,並且還可能會有一些錯誤,希望路過的大佬可以指出,十分感激!!!

在這裏插入圖片描述
在這裏我們看到明顯是再sub_401080函數中是有一個判斷的,然後決定程序的走向我沒接着跟進到sub_401080函數中看看
下面的是F5後的:

在這裏插入圖片描述
通過這個我們能發現重點在if這個判斷語句這裏,if通過了就輸出密碼錯誤,因此我們需要找到使if不成立的密碼。
首先觀察聲明的部分,String v3 v4 v5 是一片連續的空間,並且String在最前面,接着是V3、V4、V5。這個我可能會在具體分析彙編指令的時候重點寫一下。
if的第一個條件是v3 != 97 ,因爲’a’的ASCII碼是97,那麼v3就是’a’,
第二個條件,是判斷v4是否等於a5y,a5y這裏存儲的是"5y"
在這裏插入圖片描述
我們需要讓strncmp輸出0,所以v4就必須是"5y"。又因爲v4 是和 v3 連在一起的,所以我們得到了 “a5y”。
後面的V5也是一樣的
最後那個因爲String的地址在最前面,並且裏面是與69對比,所以 ‘E’ 應該加到最前面。得到:
flag = Ea5yR3versing

第一次寫作,希望大家多包涵。十分感謝!哪裏有錯誤和不足也希望大家能夠指出。

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