【WP】MOCTF-逆向-writeup(下)

MOCTF 逆向題 writeup

moctf平台:

http://www.moctf.com/challenges

後兩道題的 writeup,寫完後就安心去做 160個crackme了,嗯,感覺通過前幾個進步還挺大的

moctf 逆向第四題:crackme1

打開後啥都不要求輸入,出現一串字符,說是 flag,但是每次打開都不一樣

載入 OD,通過字符串找到

但是因為不知道該怎麼分析,乾脆直接段首下斷,然後單步跟蹤

找到算法部分,算法:

  1. 逐個取定義好的「2410488」
  2. 乘以 2 後減去 60 (十六進制)
  3. 除以 4 之後加上 3
  4. 對 10 取余,得到結果

在剛開始一直不知道這裡的數是怎麼出來的,在心裏把[edx+edx-0x60]當作一個地址了,後來發現,這他媽的不是存放的剛賦值的字符嘛!!

寫出腳本,跑出 flag:4533577

flag:moctf{4533577}

moctf 逆向第五題:crackme2

通過字符串定位獲取輸入的位置

然後按步跟蹤找到加密函數

步入加密 CALL,分析算法:

  1. 依次取輸入的字符串
  2. 從6開始,與輸入的字符串進行異或
  3. 異或結果與定義好的字符串進行比較

紅框圈出來的是定義好的字符串

0<1<>;?8:%w!##&#q./,x(,((

下面的那個 CALL 是進行對比的

可以看到我們輸入的進行加密後是 7F,而規定的應該是31

寫出腳本跑出應該輸入的字符串

輸入正確的後在進行測試,nice !!!

然而,這並不是 flag,需要將它轉換成字符串形式

77486572655f30735f666c4167

wHere_0s_flAg

所以 falg 是:moctf{wHere_0s_flAg}

呼~結束了,老老實實再學那 160 個 crackme 吧