Неудачная попытка скрыть код от отладчика в сети ethereum

в 8:48, , рубрики: Ethereum, Криптовалюты

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

Код такой:
0x600556735b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

00 PUSH1 05
01 JUMP
02 PUSH20 5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

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

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


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

Автор: Tsvetik

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js