前言
- 华为鲲鹏计算场区块链题目
- 一个沙箱游戏,比较简单
Source
- 题目合约如下所示
1 | pragma solidity ^0.5.10; |
- 构造函数中的真实合约如下
1 | pragma solidity ^0.5.10; |
Analyse
- 合约的
constructor
函数中部署的合约才是真正的合约,所以分析构造函数里面的字节码即可 - 其实相当于一个沙盒,过滤了
f0
f1
f2
f4
fa
ff
这些字节,即攻击合约中字节码不能出现这些字节,可以创建一个emit ForFlag(0)
的合约,中间如果有禁止的字节,转换一下即可
Exp
1 | contract pikachu { |
- 直接部署
Hack
即可