Author

Topic: извлечение смарт контрактов из блокчейн&#1072 (Read 618 times)

sr. member
Activity: 770
Merit: 305
Для байткода питоновских .pyc файлов есть ведь платные сервисы, здесь проблемы и решения точно такие же.
Я в целом понимаю. В конце концов не первый год замужем.
У меня курсовая работа на 4-ом курсе была
"Эмулятор команд контроллера массовой памяти Электроники СС-БИС"
вы думаете с тех пор я не научился байткоды разные парсить?
Эх, молодежь. Да что вы вообще знаете о том, как делать реверс-инжиниринг
байткода с помощью sourcer?
Ну ладно. Контрольный вопрос. На что надо поменять E6 61 и зачем?
Xtc
legendary
Activity: 1973
Merit: 1028
;u
Интересует такой момент, можно ли извлечь все смарт контракты из блокчейна эфира  и декомпилировать их ?
Они и так лежат у тебя на диске, вместе с блокчейном. Получить читаемый код из байт-кода невозможно, имена переменных и так далее пропадают после компиляции.
Более-менее читаемый можно, уверен что в привате есть. У меня нету, так как не надо.

Quote
Декомпилировать во что-то читаемое у меня лично не вышло, да в целом я и не особо старался, когда осознал масштаб задачи.
Для байткода питоновских .pyc файлов есть ведь платные сервисы, здесь проблемы и решения точно такие же.
member
Activity: 126
Merit: 23
Один вопрос, компиляторы имеют открытый код? И кто их пишет?

Да, открытый. Пишет команда ethereum и сообщество.
Вот здесь исходники: https://github.com/ethereum/solidity
См. solc и его импорты.
sr. member
Activity: 770
Merit: 305
Один вопрос, компиляторы имеют открытый код? И кто их пишет?
Это два вопроса.
Думаю, что на оба из них вы сможете ответить самостоятельно, проявив немного
усердия и сообразительности. (ответов я сам не знаю, но уверен что найти их несложно)
newbie
Activity: 28
Merit: 0
Один вопрос, компиляторы имеют открытый код? И кто их пишет?
sr. member
Activity: 770
Merit: 305
Встречный вопрос - а как убедиться, что в блокчейн был залит именно заявленный
смарт контракт без изменений? Или можно скомпилировать и сравнить коды?
В блокчейн заливается в виде байткода.
То есть проверка контракта сводится к тому, что надо с помощью компилятора
определенной версии получить байткод и он должен полностью совпадать.
Поэтому в текстах контрактов и указывают всегда - каким компилятором это
собиралось для создания контракта.
full member
Activity: 313
Merit: 103
Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
Скорее всего это возможно, только код будет не очень читабельный. По аналогии с Java могу сказать что байткод декомпилируется и с ним вобщем можно работать.
А зачем декомпилировать смарт контракты если в большинстве ICO смарт контракты можно итак прочитать?

Встречный вопрос - а как убедиться, что в блокчейн был залит именно заявленный смарт контракт без изменений? Или можно скомпилировать и сравнить коды?
sr. member
Activity: 770
Merit: 305
Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.

В целом, вариант по-моему только один - брать верифицированные контракты
кстати, я бы не стал доверять эзерскану на 100%, может быть стоит самостоятельно
перекомпилировать и перепроверять. Были вроде еще пара-тройка мест, где
можно встретить код в исходном виде. Декомпилировать во что-то читаемое
у меня лично не вышло, да в целом я и не особо старался, когда осознал масштаб
задачи.
sr. member
Activity: 613
Merit: 256
Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
Скорее всего это возможно, только код будет не очень читабельный. По аналогии с Java могу сказать что байткод декомпилируется и с ним вобщем можно работать.
А зачем декомпилировать смарт контракты если в большинстве ICO смарт контракты можно итак прочитать?
member
Activity: 126
Merit: 23
Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
sr. member
Activity: 420
Merit: 251
Так есть у кого готовое решение ? Если есть пишите в пм.
договоримся
full member
Activity: 138
Merit: 101
Не так все просто, но есть возможности - вот на Реддите целый топик, может что-то подскажет вам - https://www.reddit.com/r/ethereum/comments/3gpefj/decompiler/
sr. member
Activity: 420
Merit: 251
Здравствуйте

Интересует такой момент, можно ли извлечь все смарт контракты из блокчейна эфира  и декомпилировать их ?

поясните подробно этот момент. Необходимы консультации, можно и платно.
Jump to: