- PVSM.RU - https://www.pvsm.ru -

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

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

Код такой:
0x600556735b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

00 PUSH1 05
01 JUMP
02 PUSH20 5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b

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

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


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

Автор: Tsvetik

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/kriptovalyuty/294388

Ссылки в тексте:

[1] Источник: https://habr.com/post/424883/?utm_source=habrahabr&utm_medium=rss&utm_campaign=424883