CISCN 2022 baby_tree
文章目录
【注意】最后更新于 May 31, 2022,文中内容可能已过时,请谨慎食用。
#reverse #swift #ast
一道基础的 swift AST 题目。
Swift AST 和 LLVM AST 差不多,照着写一下可以得到:
|
|
观察计算,发现它是对称的,观察计算的算法:
|
|
首先,b[i+2]
和 b[i+3]
的计算过程是可逆的,我们可以从后往前推出 r0
和 r1
。
有了 r0
和 r1
之后,r2
和 r3
就能相应地计算出来了,因为它的过程也是可逆的。
我们可以从后向前推出data。脚本为
|
|
得到 flag{30831242-56db-45b4-96fd-1f47e60da99d}
感觉应该可以在某些地方处理,通过编译器得到源码,或者直接翻译成二进制也好。可以尝试做一下。 #todo
文章作者 QRZ
上次更新 2022-05-31 (23d1325)