Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
30 сентября 2012, 1:57:06 AM   # 1
 
 
Сообщений: 54
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
в main.cpp вокруг линии 2,411 в v0.7 мы имеем:
Код:
// Начало строки сообщения предназначена для маловероятен в нормальных данных.
// Символы редко используются верхний ASCII, не действительный, как UTF-8, и производят
// большой 4-байтовый INT в любом выравнивании.
символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};
Что случилось бы с blockchain, если это запрограммировано в особенно запутать? Будет ли это привести к синхронизации проблемы в потоке?

Просто интересуюсь.

Благодаря,

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


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


30 сентября 2012, 2:08:39 AM   # 2
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

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





Я не понимаю вашего вопроса.

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

30 сентября 2012, 2:36:57 AM   # 3
 
 
Сообщений: 54
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Если посмотреть на блок-цепи с шестнадцатеричным редактором он появляется в начале каждого блока, я считаю. Я смотрю на BOOL LoadExternalBlockFile (FILE * fileIn) и BOOL ProcessMessages (CNode * pfrom) в main.cpp, чтобы увидеть, если неожиданный экземпляр pchMessageStart может вызвать проблемы.
Dunster сейчас офлайн Пожаловаться на Данстере   Ответить с цитированием Мультицитирование сообщения от Dunster Быстрый ответ на сообщение Данстер

30 сентября 2012, 3:12:39 AM   # 4
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Если посмотреть на блок-цепи с шестнадцатеричным редактором он появляется в начале каждого блока, я считаю. Я смотрю на BOOL LoadExternalBlockFile (FILE * fileIn) и BOOL ProcessMessages (CNode * pfrom) в main.cpp, чтобы увидеть, если неожиданный экземпляр pchMessageStart может вызвать проблемы.

Не похоже, нет.

В LoadExternalBlockFile, наиболее очевидным образом испортить его покрывается кодом уже. И таким образом, чтобы испортить его, чтобы попытаться получить анализатор, чтобы пропустить правильный блок, поставив в поддельном магическом числе и значении размера, которые сделали бы его пропустить начало реального блока следующим образом. Но код уже достаточно умен, чтобы избежать этой проблемы лишь опережения НССА, если он находит правильный блок. Если он не находит правильный блок, он пропускает только мимо несколько байт поддельного магического числа.

Это имеет смысл только, когда анализатор находится в "ищет в начале следующего блока" государство. Магическое число не имеет никакого специального значения внутри блока, и так как это только 32 бита, я думаю, что есть хорошие шансы, что некоторое количество блоков включает эту последовательность по случайности уже.

Следует также отметить, что загрузка внешних блоков файлов не является обычным делом. Люди не должны нагружать блокировать файлы из ненадежных источников, в первую очередь. Если кто-то имеет возможность изменить свой файл блока, вы, вероятно, имеют гораздо большие проблемы уже.

В ProcessMessage, контекст представляет собой сообщение, а не поток, так что синтаксический анализатор не должен быть умным. Он по-прежнему отмечают сверстникам отправки фиктивных сообщений блоков, как плохое поведение и в конечном итоге отключить и запретить их.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

30 сентября 2012, 3:37:28 AM   # 5
 
 
Сообщений: 54
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Его очень умный кусок программного обеспечения действительно для учета всех непослушных векторов.
Dunster сейчас офлайн Пожаловаться на Данстере   Ответить с цитированием Мультицитирование сообщения от Dunster Быстрый ответ на сообщение Данстер

30 сентября 2012, 5:58:57 AM   # 6
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

в main.cpp вокруг линии 2,411 в v0.7 мы имеем:
Код:
// Начало строки сообщения предназначена для маловероятен в нормальных данных.
// Символы редко используются верхний ASCII, не действительный, как UTF-8, и производят
// большой 4-байтовый INT в любом выравнивании.
символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};
Что случилось бы с blockchain, если это запрограммировано в особенно запутать? Будет ли это привести к синхронизации проблемы в потоке?

Это известно как магическое число.

В Биткойн он выполняет две основные функции:

1) гарантировать две сетевые узлы принадлежат к одной и той же сети.

2) формат Гарантировать blockchain файл соответствует активной сети.

Он выполняет вторичную функцию гарантии того, что мы всегда синхронизированы на границах сообщений в потоке TCP.

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

14 июля 2013, 7:40:27 PM   # 7
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Как это сделать все это?
Kinnardian сейчас офлайн Пожаловаться на Kinnardian   Ответить с цитированием Мультицитирование сообщения от Kinnardian Быстрый ответ на сообщение Kinnardian

14 июля 2013, 8:24:24 PM   # 8
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Как это сделать все это?

Все сообщения начинаются с этой последовательностью.

Если вы потеряете "замок" на поток, он пропускает, пока он не соответствует этой последовательности.

Затем он читает стандартное сообщение из потока.

int32 магии (уже читал)
Команда символ [12]
длина int32
int32 контрольная сумма
символ [длина] Данные

Затем он запускает ша хэш данных и делает, что он совпадает с контрольной суммой.

Это дает один в 4 миллиарда случайно, что случайные данные будут обнаруженными в сообщении.

Данные должны были бы иметь волшебную картину, а затем контрольная сумма будет соответствовать (так на самом деле 4000000000 * 4 миллиардов).

Создание сообщения будет легче, хотя. Тем не менее, это имеет значение только в случае, если соединение TCP теряет блокировку. Это должно происходить только жучки (и некоторые старые) клиентов.

Все новые клиенты имеют эту структуру для всех своих пакетов.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

21 августа 2014, 1:33:06 PM   # 9
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: символ без знака pchMessageStart [4] = {0xf9, 0xbe, 0xb4, 0xd9};

Можно затем отделить два различных цепей, которые разделяют подобные блоки генезис и контрольные точки до данного блока?
FPoBA сейчас офлайн Пожаловаться на FPoBA   Ответить с цитированием Мультицитирование сообщения от FPoBA Быстрый ответ на сообщение FPoBA



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW