Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
14 июня 2011, 11:24:52 PM   # 1
 
 
Сообщений: 33
Цитировать по имени
цитировать ответ
по умолчанию Re: varint в клиентской версии 3210 не по спецификации?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Всем привет,

Как я восстановлять протокол в питоне и тестировании его с некоторым tcpdumps собранного с официальным клиентом, я заметил, что мой клиент (версия 3210) на сообщении GetData посылает неправильный подсчет.

Нарушитель гекс: FD9A01
После исследования я обнаружил, что для этого конкретного примера моего отсчет 663, а фактические данные являются 410

Согласно спецификации, varint должны сделать:
<= 0xFFFF 3 0xfd + uint16_t

Так что это, кажется, делает только установку общей стоимости в течение следующих двух байт без вычитания 253 него.

Это известная ошибка в этой старой сборке и она решается в новой версии (я на FreeBSD кстати)?
На стороне записки, этот форум соответствующих СМИ сообщать о таких неподтвержденных вещах, или я должен кричать где-то еще, возможно, более стабильную среду?

Приветствия и спасибо,

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


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


15 июня 2011, 12:02:32 AM   # 2
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: varint в клиентской версии 3210 не по спецификации?

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





Согласно спецификации, varint должны сделать:
<= 0xFFFF 3 0xfd + uint16_t

Так что это, кажется, делает только установку общей стоимости в течение следующих двух байт без вычитания 253 него.

Основной клиентом является единственной спецификацией, которая имеет значение в данный момент. От serialize.h
Код:
аннулированию WriteCompactSize (поток& ОС, uint64 nРазмер:)
{
    если (nРазмер: < 253)
    {
        символ без знака chSize = nРазмер:;
        WriteData (Os, chSize);
    }
    иначе если (nРазмер: <= USHRT_MAX)
    {
        символ без знака chSize = 253;
        без знака короткого XSIZE = nРазмер:;
        WriteData (Os, chSize);
        WriteData (Os, XSIZE);
    }
и т.д...

Так что да, небольшое количество имеет несколько представлений.

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

15 июня 2011, 9:18:33 AM   # 3
 
 
Сообщений: 56
Цитировать по имени
цитировать ответ
по умолчанию Re: varint в клиентской версии 3210 не по спецификации?

Согласно спецификации, varint должны сделать:
<= 0xFFFF 3 0xfd + uint16_t

Так что это, кажется, делает только установку общей стоимости в течение следующих двух байт без вычитания 253 него.

Не ошибка. "+" здесь имеется в виду как конкатенация байтов.
Один байт с 0xFD, затем 2 байта со значением.
Joan сейчас офлайн Пожаловаться на Joan   Ответить с цитированием Мультицитирование сообщения от Joan Быстрый ответ на сообщение Joan

15 июня 2011, 11:45:47 AM   # 4
 
 
Сообщений: 33
Цитировать по имени
цитировать ответ
по умолчанию Re: varint в клиентской версии 3210 не по спецификации?

Ах да, имеет смысл. Спасибо вам обоим)
Martin P. HELLWIG сейчас офлайн Пожаловаться на Martin P. HELLWIG   Ответить с цитированием Мультицитирование сообщения от Martin P. Hellwig Быстрый ответ на сообщение Martin P. Hellwig



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW