> For the complete documentation index, see [llms.txt](https://ret2basic.gitbook.io/ctfwriteup/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ret2basic.gitbook.io/ctfwriteup/web3-ctf/evm-puzzles/puzzle-6.md).

# Puzzle 6

CALLDATALOAD

## Puzzle

```
############
# Puzzle 6 #
############

00      6000      PUSH1 00
02      35        CALLDATALOAD
03      56        JUMP
04      FD        REVERT
05      FD        REVERT
06      FD        REVERT
07      FD        REVERT
08      FD        REVERT
09      FD        REVERT
0A      5B        JUMPDEST
0B      00        STOP

? Enter the calldata: 
```

## Solution

From [evm.codes](https://www.evm.codes/):

<figure><img src="https://223316867-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWVtlSxURaW2QQu6RU5%2Fuploads%2FPYlNuvO8P23cJonGwsO3%2Fimage.png?alt=media&amp;token=c05f4e32-a9e7-4bfa-885f-a854df114a46" alt=""><figcaption><p>CALLDATALOAD</p></figcaption></figure>

`CALLDATALOAD(0x00)` loads calldata with <mark style="color:red;">**offset**</mark> 0 (LSB in this case), and `JUMP` jumps to this address.

The objective is to jump to address `0x0A`, so calldata should be `0x000000000000000000000000000000000000000000000000000000000000000A`, where 31 bytes of `0x00` are padded on the left.
