BuringStraw

BuringStraw

被Harmony耍得團團轉

(附件在這裡https://github.com/R0IS/RCTF2021/blob/main/Recv/Harmony/Harmony/liteos

隨機到了Hi!Harmony!這題,在 xctf 上。為什麼要強調在 xctf 上呢?因為 xctf 上沒有附件。只有題目描述裡的一句:

Hello, hackers! Have you ever heard of pangu, the creator of the world in Chinese mythology?

盯著這句話思考了幾十秒(可能沒那麼久),我想,這題忘給附件的可能性,還是要比,這句話就是題面的可能性要大一些。

從網上找到文件。cutter, ida 都沒法反編譯 risc-v,看彙編是不可能看彙編的。ghidra 可以看偽代碼。

入口點進去,好複雜,看輸出,像是在加載系統。看 WP,根據字串定位檢測函數。天哪我竟然忘了。我是紙張。

進函數一大段賦值。看來要把某變量類型改成數組。右鍵。怎麼沒選項???算了,硬看吧。。。

two thousand years later. 要不把函數名改成 main 吧。他為什麼叫 undefined function??右鍵定義函數。好的可以改變量了。。。

哈哈哈,他直接把 flag 輸出了,怎麼還有題自己解密然後輸出 flag 的啊,太遜啦。

copy 偽代碼,改數組賦值部分。依稀記得 flag 有個格式。打開 wp,怎麼 flag 跟我不一樣。好的,小端。倒過來。

搗鼓了半天 vim 的塊編輯,終於,倒一行 = 倒全部。輸出。

怎麼長度不對,差了幾位?有些字符解密出來是空白字符。編輯變量類型的時候數組長度沒有填對,後面的數據的賦值就不顯示了。要根據 for 循環推斷數組的真實長度。

以上。總得來說是很簡單的。大概沒有標註的難度那麼高。官方題解裡有運行和調試系統鏡像的教程,這就非常值得學習了。(https://blog.rois.io/2021/rctf-2021-official-writeup-2/#Harmony)

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。