BUUCTF--[ACTF新生賽2020]Oruga


測試文件:https://lanzous.com/iPyvcddmqsh

 

 

代碼分析

前22行代碼實際就是告訴我們輸入的前5個字符為"actf{"

主要分析sub_78A函數

byte_201020為:

00 00 00 00 23 00 00 00 00 00 00 00 23 23 23 23
00 00 00 23 23 00 00 00 4F 4F 00 00 00 00 00 00
00 00 00 00 00 00 00 00 4F 4F 00 50 50 00 00 00
00 00 00 4C 00 4F 4F 00 4F 4F 00 50 50 00 00 00
00 00 00 4C 00 4F 4F 00 4F 4F 00 50 00 00 00 00
00 00 4C 4C 00 4F 4F 00 00 00 00 50 00 00 00 00
00 00 00 00 00 4F 4F 00 00 00 00 50 00 00 00 00
23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00
00 00 00 00 00 00 4D 4D 4D 00 00 00 23 00 00 00
00 00 00 00 00 00 00 4D 4D 4D 00 00 00 00 45 45
00 00 00 30 00 4D 00 4D 00 4D 00 00 00 00 45 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 45
54 54 54 49 00 4D 00 4D 00 4D 00 00 00 00 45 00
00 54 00 49 00 4D 00 4D 00 4D 00 00 00 00 45 00
00 54 00 49 00 4D 00 4D 00 4D 21 00 00 00 45 45

 

這實際也是個迷宮題

外層while循環,就是到0x21時停止,v2為當前位置,v3從輸入的第六個字符開始遍歷數組,v4實際是對v2位置的移動。

W 向上移動

E 向右移動

M 向下移動

J 向左移動

第二處,用了個循環,if條件判斷的是位置是否到達邊界,越界退出。

 

整個迷宮就是用WEMJ控制移動,0可以移動(一直移動),到達非0位置停止,返回上一位置。左上角為起點,0x21為終點。手動解迷宮

MEWEMEWJMEWJM

 

get flag!

flag{MEWEMEWJMEWJM}

 


免責聲明!

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



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