Захотелось мне сделать хитрый код, который бы не давал отладчику remix себя отлаживать.
Идея проста.
Отладчик загружает код, парсит его, получает последовательность команд.
А что если в аргумент команды PUSHnn запихнуть тоже код и на него потом прыгнуть?

Код такой:
0x600556735b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

00 PUSH1 05
01 JUMP
02 PUSH20 5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

«5b» разворачивается в JUMPDEST

Запустил я транзакцию на создание контракта и получил «Bad jump destination».

Получается, что не только отладчик, но и все клиенты сети парсят код только один единственный раз при загрузке.

Комментарии (1)


  1. alhimik45
    30.09.2018 12:32
    +3

    Отличный твит. Держите нас в курсе!