記錄一次ISCC逆向
題目:我方截獲了敵方的一款加密程序和一段密文(密文為:F2F5D39F18D762B7),嘗試通過(guò)對(duì)此程序進(jìn)行分析實(shí)現(xiàn)對(duì)密文的解密,解密后明文的32位小寫(xiě)MD5值作為flag提交。
1.先運(yùn)行一發(fā),運(yùn)行截圖:

圖片1.png
2.扔進(jìn)OD,搜索字符串,發(fā)現(xiàn),咦,內(nèi)有乾坤。

圖片2.png
3.經(jīng)過(guò)成噸的分析(本人鶸一只),發(fā)現(xiàn)題目給出的密文應(yīng)該是經(jīng)過(guò)打開(kāi)程序時(shí)的默認(rèn)加密方式加密的,那么,現(xiàn)在就要找到默認(rèn)加密方式。
4.直接肛,強(qiáng)行跳到加密的地方

圖片3.png
至于怎么跳,隨便找個(gè)地方跳過(guò)去,我選擇的改輸入選項(xiàng),把退出系統(tǒng)改成跳到自定義加密。
//反正我是來(lái)逆向的,程序boom了也沒(méi)事。(霧

圖片4.png
在這后面下斷點(diǎn),看它怎么跳的。

圖片5.png
如果輸入為2,push返回值0,call exit。
把參數(shù)干掉,call自定義加密解密:

圖片6.png

圖片7.png

圖片8.png
跳過(guò)去了,然后下斷點(diǎn)找到自定義加密是的函數(shù)。
Case 1 ,call了這個(gè)函數(shù),跟過(guò)去。

圖片9.png
加密函數(shù)就在這中間,在最后一次輸入(輸入密鑰時(shí))后面下斷點(diǎn)仔細(xì)找找,找到了就跟進(jìn)去。

圖片10.png
這密密麻麻的運(yùn)算,看來(lái)就是它了。

圖片11.png
找到return的地方,往前下斷點(diǎn)。

圖片12.png
就是這兒,下斷點(diǎn),然后重新運(yùn)行選擇默認(rèn)加密,隨便加密一個(gè)就能看到密碼是啥了。

圖片13.png
這就是密碼了。

圖片14.png
再選擇自定義解密。

圖片15.png
直接在這兒看,或者看程序運(yùn)行結(jié)果都可以。

圖片16.png
然后拿去md5大法。就可以提交flag了。