CrackRTF


這算是第一次寫ctf題目的博客把。

被這道題搞得頭大,各種沒見過的API(不過通過查資料了解到了)

 

 

 檢查了一下,沒殼,win32

然后運行

 

 

 讓你輸入第一個密碼,猜想一下,說明后面可能還會有幾個輸入,並且有strcmp類似的檢查密碼函數。

打開ida

 

 

 簡單分析一下

 

 

 輸入字符串並且長度等於6,大小大於100000

 

 

 strcmp上面有個函數,參數里有String1,所以這個應該是加密函數

點進去看看

 

 

 不知道這些是什么,查了額下發現有些函數竟然會被淘汰?(與本題無關)

CryptCreateHash哈希加密,有了解過哈希的是可以知道,哈希是很多算法放在一起,然后隨機抽一個算法來加密

查了官方文檔MSDN,發現第二個參數時加密時所用的方法標號。0x8004u是shl加密,趕緊跑去ctf wiki上面看看這個shl是否可以手動解答.....

沒有看懂。從前面的v4<100000發現有范圍限制,那么暴力破解從100000到6個字符能表達的最大數字0x393939393939不過,我看了網上的一些人博客他們到999999就可以了,不知道為啥。。

 

破解出來后發現是123321

 

接着分析

 

 

 

 

 發現又需要輸入字符串並且長度也是6

還鏈接了pbdata,就是說6+123321+"@DBApp"

然后在進行加密

進去看看

 

 

 函數與上面的差不多,只是換了個加密方式,md5加密。我在網上找了好多個md5解密網站都無法對

 

 

 這串字符串解密,不知道為啥,希望有好心人告訴我下。沒有范圍不能爆破。

 

 

 

發現這里還有個加密的函數

 

 

 這都是寫啥?

后來查了的https://blog.csdn.net/singleyellow/article/details/80308789

發現是查找一個叫AAA的文件,然后獲取資源大小等...后面還有個函數點進去看看

 

 

 異或運算,自己輸入的字符串和指向文件第一個字節的指針

看了別人博客發現要用到

 

 

 這個東西。

我不是很理解為什么密碼是6,聽別人說是加密后是一個rtf的頭,所以是6.我還沒搞清楚

 

 

 取AAA文件的前6個字節。

然后在做異或的逆向運算,與rtf頭做逆向。得出了

~!3a@0

然后該exe會在目錄下創建一個rtf文件,里面有flag

Flag{N0_M0re_Free_Bugs}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM