破解以太坊 EVM 谜题9
破解以太坊 EVM 谜题9
学习Solidity 的同学,欢迎订阅我的另一个专栏[Ethernaut 题库闯关](https://learnblockchain.cn/column/19), 了解常用的 Hacker 方法,可以帮助我们写出更安全的代码。
![articles-2022-10-neKkkmze6341450631c18.jpg](https://img.learnblockchain.cn/attachments/2022/10/k025urMt63579fae5e4fe.jpg!/scale/60)
## EVM 谜题9
```bash
00 36 CALLDATASIZE
01 6003 PUSH1 03
03 10 LT
04 6009 PUSH1 09
06 57 JUMPI
07 FD REVERT
08 FD REVERT
09 5B JUMPDEST
0A 34 CALLVALUE
0B 36 CALLDATASIZE
0C 02 MUL
0D 6008 PUSH1 08
0F 14 EQ
10 6014 PUSH1 14
12 57 JUMPI
13 FD REVERT
14 5B JUMPDEST
15 00 STOP
```
以上是 EVM 谜题 9 的操作码, 这个谜题比上一个谜题相比要简单的多。它只是一道解决一些数学方程式的问题。
让我们看看引入了哪些新的操作码:
- [LT](https://www.evm.codes/#10): 从堆栈中弹出2个值,并将`value0 < value1`的结果推到堆栈中。如果结果为真,则推送`1`,否则推送`0`。
- [CALLVALUE](https://www.evm.codes/#34):将当前调用的值推到堆栈中, 以`wei`为...
通过以太坊 EVM 谜题深入学习 EVM,了解 EVM 可以帮助我们写出更高效的代码。
学习Solidity 的同学,欢迎订阅我的另一个专栏Ethernaut 题库闯关, 了解常用的 Hacker 方法,可以帮助我们写出更安全的代码。
EVM 谜题9
00 36 CALLDATASIZE
01 6003 PUSH1 03
03 10 LT
04 6009 PUSH1 09
06 57 JUMPI
07 FD REVERT
08 FD REVERT
09 5B JUMPDEST
0A 34 CALLVALUE
0B 36 CALLDATASIZE
0C 02 MUL
0D 6008 PUSH1 08
0F 14 EQ
10 6014 PUSH1 14
12 57 JUMPI
13 FD REVERT
14 5B JUMPDEST
15 00 STOP
以上是 EVM 谜题 9 的操作码, 这个谜题比上一个谜题相比要简单的多。它只是一道解决一些数学方程式的问题。
让我们看看引入了哪些新的操作码:
-
LT: 从堆栈中弹出2个值,并将
value0 < value1
的结果推到堆栈中。如果结果为真,则推送1
,否则推送0
。 -
CALLVALUE:将当前调用的值推到堆栈中, 以
wei
为...
剩余50%的内容订阅专栏后可查看
- 发表于 2022-10-25 16:25
- 阅读 ( 135 )
- 学分 ( 0 )
- 分类:Solidity
- 专栏:以太坊 EVM 谜题破解
评论