Bitcoin Forum
November 13, 2024, 10:39:31 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: извлечение смарт контрактов из блокчейна  (Read 610 times)
Rubg (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 251


View Profile
September 30, 2017, 09:40:53 PM
 #1

Здравствуйте

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

поясните подробно этот момент. Необходимы консультации, можно и платно.
aleks_raiden
Full Member
***
Offline Offline

Activity: 138
Merit: 101


View Profile
October 01, 2017, 08:33:19 AM
 #2

Не так все просто, но есть возможности - вот на Реддите целый топик, может что-то подскажет вам - https://www.reddit.com/r/ethereum/comments/3gpefj/decompiler/
KostiaSA
Jr. Member
*
Offline Offline

Activity: 34
Merit: 3


View Profile
October 02, 2017, 10:59:16 AM
 #3

https://github.com/comaeio/porosity
Rubg (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 251


View Profile
December 06, 2017, 09:30:26 PM
 #4

Так есть у кого готовое решение ? Если есть пишите в пм.
договоримся
yokotoka
Member
**
Offline Offline

Activity: 126
Merit: 23


View Profile
December 11, 2017, 12:12:03 PM
 #5

Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
Jaga-Jaga
Sr. Member
****
Offline Offline

Activity: 613
Merit: 256



View Profile
December 11, 2017, 09:58:17 PM
 #6

Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
Скорее всего это возможно, только код будет не очень читабельный. По аналогии с Java могу сказать что байткод декомпилируется и с ним вобщем можно работать.
А зачем декомпилировать смарт контракты если в большинстве ICO смарт контракты можно итак прочитать?

           ▀██▄ ▄██▀
            ▐█████▌
           ▄███▀███▄
         ▄████▄  ▀███▄
       ▄███▀ ▀██▄  ▀███▄
     ▄███▀  ▄█████▄  ▀███▄
   ▄███▀  ▄███▀ ▀███▄  ▀███▄
  ███▀  ▄████▌   ▐████▄  ▀███
 ███   ██▀  ██▄ ▄██  ▀██   ███
███   ███  ███   ███  ███   ███
███   ███   ███████   ███   ███
 ███   ███▄▄       ▄▄███   ███
  ███▄   ▀▀█████████▀▀   ▄███
   ▀████▄▄           ▄▄████▀
      ▀▀███████████████▀▀
DeepOnion
███
███
███
███
███
███
███
███
███
███
   Anonymity Guaranteed
   Anonymous and Untraceable
   Guard Your Privacy
      ▄▄██████████▄▄
    ▄███▀▀      ▀▀█▀   ▄▄
   ███▀              ▄███
  ███              ▄███▀   ▄▄
 ███▌  ▄▄▄▄      ▄███▀   ▄███
▐███  ██████   ▄███▀   ▄███▀
███▌ ███  ███▄███▀   ▄███▀
███▌ ███   ████▀   ▄███▀
███▌  ███   █▀   ▄███▀  ███
▐███   ███     ▄███▀   ███
 ███▌   ███  ▄███▀     ███
  ███    ██████▀      ███
   ███▄             ▄███
    ▀███▄▄       ▄▄███▀
      ▀▀███████████▀▀
amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 367


View Profile
December 12, 2017, 03:46:19 AM
 #7

Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.

В целом, вариант по-моему только один - брать верифицированные контракты
кстати, я бы не стал доверять эзерскану на 100%, может быть стоит самостоятельно
перекомпилировать и перепроверять. Были вроде еще пара-тройка мест, где
можно встретить код в исходном виде. Декомпилировать во что-то читаемое
у меня лично не вышло, да в целом я и не особо старался, когда осознал масштаб
задачи.
ShDenis
Full Member
***
Offline Offline

Activity: 313
Merit: 103



View Profile
December 12, 2017, 07:39:20 AM
 #8

Если только из etherscan.io вытащить все заверифицированные контракты.
Декомпиляция в solidity из лапши опкодов - вряд ли на этом этапе возможна на практике.
Скорее всего это возможно, только код будет не очень читабельный. По аналогии с Java могу сказать что байткод декомпилируется и с ним вобщем можно работать.
А зачем декомпилировать смарт контракты если в большинстве ICO смарт контракты можно итак прочитать?

Встречный вопрос - а как убедиться, что в блокчейн был залит именно заявленный смарт контракт без изменений? Или можно скомпилировать и сравнить коды?
amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 367


View Profile
December 12, 2017, 07:59:14 AM
 #9

Встречный вопрос - а как убедиться, что в блокчейн был залит именно заявленный
смарт контракт без изменений? Или можно скомпилировать и сравнить коды?
В блокчейн заливается в виде байткода.
То есть проверка контракта сводится к тому, что надо с помощью компилятора
определенной версии получить байткод и он должен полностью совпадать.
Поэтому в текстах контрактов и указывают всегда - каким компилятором это
собиралось для создания контракта.
Robhayes
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
December 12, 2017, 09:43:32 AM
 #10

Один вопрос, компиляторы имеют открытый код? И кто их пишет?
amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 367


View Profile
December 12, 2017, 09:47:25 AM
 #11

Один вопрос, компиляторы имеют открытый код? И кто их пишет?
Это два вопроса.
Думаю, что на оба из них вы сможете ответить самостоятельно, проявив немного
усердия и сообразительности. (ответов я сам не знаю, но уверен что найти их несложно)
yokotoka
Member
**
Offline Offline

Activity: 126
Merit: 23


View Profile
December 12, 2017, 01:02:12 PM
 #12

Один вопрос, компиляторы имеют открытый код? И кто их пишет?

Да, открытый. Пишет команда ethereum и сообщество.
Вот здесь исходники: https://github.com/ethereum/solidity
См. solc и его импорты.
Xtc
Legendary
*
Offline Offline

Activity: 1973
Merit: 1028


;u


View Profile WWW
December 13, 2017, 10:05:19 PM
 #13

Интересует такой момент, можно ли извлечь все смарт контракты из блокчейна эфира  и декомпилировать их ?
Они и так лежат у тебя на диске, вместе с блокчейном. Получить читаемый код из байт-кода невозможно, имена переменных и так далее пропадают после компиляции.
Более-менее читаемый можно, уверен что в привате есть. У меня нету, так как не надо.

Quote
Декомпилировать во что-то читаемое у меня лично не вышло, да в целом я и не особо старался, когда осознал масштаб задачи.
Для байткода питоновских .pyc файлов есть ведь платные сервисы, здесь проблемы и решения точно такие же.
amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 367


View Profile
December 14, 2017, 03:55:59 AM
 #14

Для байткода питоновских .pyc файлов есть ведь платные сервисы, здесь проблемы и решения точно такие же.
Я в целом понимаю. В конце концов не первый год замужем.
У меня курсовая работа на 4-ом курсе была
"Эмулятор команд контроллера массовой памяти Электроники СС-БИС"
вы думаете с тех пор я не научился байткоды разные парсить?
Эх, молодежь. Да что вы вообще знаете о том, как делать реверс-инжиниринг
байткода с помощью sourcer?
Ну ладно. Контрольный вопрос. На что надо поменять E6 61 и зачем?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!