-
目標:讓 attacker 可以成功呼叫目標合約的
ctf() -
方法:由於有限制合約大小需要介於 size > 0 && size <= 32,因此不能像平常一樣用 solidity 撰寫合約,而需要直接部署 evm opcodes 才能最小化合約大小。分成兩部分進行,第一個部分是處理 runtime code,也就是把
collatzIteration()計算 q 的邏輯,第二部分則是處理 initialization code。 -
步驟:
forge test --match-contract CollatzPuzzleTest -vvvvvWIP,尚未通過合約大小檢查