2 сентября 2011, 12:33:04 AM   # 1
 
 
Сообщения: 588
Цитировать по имени
цитировать ответ
по умолчанию Re: Как прочитать блок-файл?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я просто хочу, чтобы прочитать информацию заголовка блока из файла блока. Есть ли простой C / C ++ сегмент кода, связанный с этой простой задачей? Так что я могу сделать некоторые изменения кода, чтобы использовать его для этой цели. Благодаря!
Jimmy2011 сейчас офлайн Пожаловаться на Jimmy2011   Ответить с цитированием Мультицитирование сообщения от Jimmy2011 Быстрый ответ на сообщение Jimmy2011


Как заработать Биткоины?
Без вложений. Не майнинг.


2 сентября 2011, 7:45:37 AM   # 2
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как прочитать блок-файл?

Получил 1806 Биткоинов
Реальная история.





У меня нет кода непосредственно передо мной, и я очень мало времени. Но если это поможет, я делал это раньше, и это на самом деле довольно просто. Я просто не хватает времени, чтобы пойти выкопать свой исходный код прямо сейчас ... возможно, завтра, если у вас нет еще.

В blk0001.dat, первые четыре байта каждого блока является магическим числом (f9beb4d9). Далее следуют 4 байта, который является количество байтов в блоке, Н. Ниже 80 байт является заголовком. Тогда следующие N-80 является блок данных, которые могут быть проигнорированы.

Промыть, повторите.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

4 сентября 2011, 1:04:34 AM   # 3
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как прочитать блок-файл?

Вот соответствующий код в моем проекте, хотя я вытащил много проверки vailidity и использую свои собственные структуры данных, так что это не напрямую использовать ... только в информационных целях. Но вы должны быть в состоянии адаптировать его к вашему проекту. Структура blk0001.dat на самом деле довольно проста:

Код:
4 | 4 | 80 | TxData | 4 | 4 | 80 | TxData | 4 | 4 | 80 | TxData | ...

Первые 4 байта - волшебные байты (определение того, какие сети вы находитесь)
Вторые 4 bytes- числа байт оставшегося блока
Следующие 80 байт - сам блок заголовка
NumBlockBytes-80 - Операционные данные в этом блоке [numTx | Прд1 | Tx2 | Tx3 | ...]


Код:
uint32_t importHeadersFromBlockFile (станд :: строка файла)
{

      BinaryData thisHash (32);
      BinaryData magicNum (4);
      BinaryData thisHeaderSer (80)
      BlockHeader thisHeader;

      // Пока есть данные остаются в потоке (файл) ...
      в то время как (! bsb.isEof ())
      {
            // Получить магические байты
            magicNum = bsb.reader () get_BinaryData (4).

            // Получить общее количество байтов в этом блоке (включая заголовок)
            numBlockBytes = bsb.reader () get_uint32_t ().

            // В случае, если я хочу, чтобы извлечь блок данных из файла позже
            uint64_t blkByteOffset = bsb.getFileByteLocation ();

            // Извлекает заголовок из данных блока
            thisHeaderSer = bsb.reader () get_BinaryData (80).

            // Интерпретировать данные заголовка и вычисления хэш
            thisHeader.unserialize (thisHeaderSer);
            thisHash = thisHeaderSer.getHash256Digest ();

            // Наконец, пропустить оставшуюся часть блока данных, потому что только потянув заголовки
            . Bsb.reader () заранее (numBlockBytes-80);
 
      }
   }
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

4 сентября 2011, 6:43:31 AM   # 4
 
 
Сообщения: 588
Цитировать по имени
цитировать ответ
по умолчанию Re: Как прочитать блок-файл?

etotheipi, спасибо за объяснение детали.

Jimmy2011 сейчас офлайн Пожаловаться на Jimmy2011   Ответить с цитированием Мультицитирование сообщения от Jimmy2011 Быстрый ответ на сообщение Jimmy2011

7 сентября 2011, 4:57:10 AM   # 5
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как прочитать блок-файл?

Кстати, одна незначительная деталь я ушел из был тот факт, что btween заголовка и TxData это var_int дает вам количество сделок, включенных в этот блок. 

Если вы заинтересованы в изучении других файлов, вы можете рассмотреть возможность использования моего инструмента mysteryHex, который поможет вам извлечь неизвестные форматы файлов: 

Проверьте связанный GIT репозиторий с помощью "мерзавец клон мерзавец: //github.com/etotheipi/PyBtcEngine.git" и запустить что-то вроде:

Код:
Python mysteryHex.py -b --byterange = 0,1000 -f ~ / .bitcoin / blk0001.dat

Это позволит открыть файл blk0001.dat (-f) в двоичных (-b), и прочитать байты 0-1000. Затем он будет найти все узнаваемый в этой порции данных и отображение результатов визуально. Это весьма полезно для выявления случайных файлов / сериализованные фрагментов, или собирания помимо BTC форматов данных.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW