2022 | BalsnCTF | smart contract
Cairo Reverse
题目¶
Simple cairo reverse
starknet-compile 0.9.1
解题思路¶
get_flag
需要知道t
的值,试图直接在contract_compiled.json
找t
来获得对应值无果- Cairo Playground 可以进行编译调试,发现
Memory
部分与contract_compiled.json
中program
的data
部分高度相似 -
替换
CENSORED
部分为任意值,使用 Playground 调试get_flag
,可知0x800000000000010fffffffffffffffffffffffffffe2919e3d696087d12173e
对应t
的负值 -
Cairo 中整型的范围在 \([0, P)\),其中 \(P\) 为素数,标准值为 \(2^{251}+17\cdot 2^{192} + 1\)1
-
通过模 \(P\) 来求
t
-
当然也可以使用 thoth 来 Decompile
Flag¶
BALSN{read_data_from_cairo}
最后更新:
2022年9月9日 17:13:50
Contributors: