HUBUCTF 2022 新生賽——ida動調+迷宮
VSole2023-11-06 10:28:44
重點:ida動調找到地圖
附件下載
https://wwvc.lanzouj.com/i1vh91bvxtwd
查殼
64位,無殼。

分析
丟入ida64,找到main函數,F5查看偽代碼。

可以看到輸入path之后,有一個CreateMap函數,看著函數名就知道是在這創建地圖,所以我們在這里下一個斷點,進行動態調試。
ida動態調試
點這個藍色的圓圈下斷點,變紅就證明下斷點成功。

選Local Windows debugger調試器。

點擊左邊的綠色三角形運行,先隨便輸入。

回車之后,按Tab,跳到C偽代碼頁面。

F7單步調試,進入CreateMap函數。

再一直按F7單步調試,直到地圖全部出現,自動跳到最開始的main函數頁面,點OK。

雙擊進入CreateMap函數。

再雙擊map。

找到地圖。

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1
0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0
1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1
1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1
1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0
1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1
1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1
1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
再次分析
分析CreateMap函數,很明顯,地圖需要以16個為一組。

修改之后。
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1],
[1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1],
[1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,1],
[1,0,1,1,1,0,1,1,0,1,0,1,0,1,1,1],
[1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,1],
[1,0,1,1,1,1,1,1,0,1,0,1,0,1,1,1],
[1,0,1,1,1,1,1,1,0,0,0,1,0,1,1,1],
[1,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1],
[1,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1],
[1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1],
[1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,1],
[1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,1],
[1,0,0,0,0,1,1,1,1,0,1,1,0,1,0,0],
[1,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1],
[1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
main函數限定了path長度為54。

再看check函數,s就是path,x=15,y=1,分析代碼,可以確定,迷宮的初始位置是(15,1),且x,y都是從0開始數的,所以我們可以找到迷宮初始位置。

初始位置,走出迷宮,且path的長度必須是54。

使用word文檔,幫忙高光一下0,這樣就好看多了。

path:wwdddwwwaaawwwwwwwwwddddssssdddssdsssssssdddwwwwddsssd
main函數提到了,flag是path進行md5之后,加個NSSCTF{}就可以了。

md5加密,取32位小寫。

flag:NSSCTF{a8622109e2fb1296e06d5eed6f78f954}
VSole
網絡安全專家