Jump to content

Recommended Posts

Posted (edited)

Написал утилитку для восстановления приватных ключей формата WIF. Ключ этого формата имеет длина 51 символ. Состоит из символов алфавита base58 - 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz (Обратите внимание что отсутствуют некоторые буквы и цифра 0).

Ключ формата WIF начинается на 5 для BTC или на 6 для LTC.

Ключ может быть искажён при переписывании вручную. Может пострадать бумажка с записью ключа и ещё много разных ситуаций.

Методом перебора утилита добивается того что бы ключ подходил под хэш, или хэш под ключ.

Результат работы утилиты не гарантирует что это будет именно тот самый ключ, поэтому она не останавливает перебор найдя ключ.

То есть теоретически возможно нахождение нескольких ключей.

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

PriKeyWIF.thumb.jpg.4475b882cc958471c43ac77dee8c5235.jpg

 

 

PriKeyWIF.zip

 

Адрес для помощи проекту.

BTC 3GmNvNHWnmGdcm26AaVVyENqM2K9YXm9MV

 

 

Edited by Lenchik
Posted
1 час назад, NapsterNapster сказал:

было бы не плохо заглянуть исходник

Там нет ничего интересного. Хэш считают библиотеки MIT. Перебор вариантов только оригинальный. 

Здесь не выложить, объём большой за счёт библиотек от MIT.

Написал за несколько дней. Была просьба от одного участника этого форума восстановить приватный ключ зашифрованный вручную. Из исходных данных была только бумажка с ключом и фраза "каждый третий на три порядка вверх". Никакие перестановки и замены не приводили к результату.

Решили что в ключе есть ошибка, тем более один символ был "О", а такого символа в base58 нет. Написал утилиту для исправления ошибок. При двух исправленных символах она нашла один валидный ключ, при трёх, чуть больше десятка. Все адреса оказались пустыми, а договаривались на 10% от содержимого. 10% от ноля, это ноль, всё честно.

Код написан в индусском стиле  Индусский код — Lurkmore , такое даже стыдно выкладывать. 

 

@NapsterNapster проверить её очень просто. Онлайн генерируете ключ WIF. Меняете два символа в ключе на любые из алфавита base58. Скармливаете утилите и на выходе получаете снова оригинальный ключ. Можно и три символа, но будет долго, пару часов на среднем компьютере. Для проверки утилиты хватит и двух символов.

Скорость сильно не оптимизировал. Утилита работает в один поток. Не стал с мультипоточностью заморачиваться. Можно несколько экземпляров BAT запустить одновременно что бы загрузить многоядерный процессор. CUDA могу написать, а под OpenCL никогда не писал. Да и смысла большого нет её разгонять. Если сделать подбор четырёх символов, то она сотни валидных ключей подберёт. Причина в том что хэш в ключе не полный, первые четыре байта от двойного sha256, а под такое много чего можно подобрать. 

 

 

Posted

@NapsterNapster Здесь ограничение в 9 мегабайт на прикреплённые файлы.

И зачем вам оно? В лучшем случае приделать сбоку бантик и выложить под своим именем, в худшем, приделать трояна и то же выложить. 

 

  • 2 months later...
Posted

Добрый день! А вам не сложно будет переделать ее под адрес WIF начинающийся на  'L' и 'K'?

Posted
17 минут назад, ldb68 сказал:

Добрый день! А вам не сложно будет переделать ее под адрес WIF начинающийся на  'L' и 'K'?

Не сложно. Когда я писал, то не знал что такие ключи бывают. Можно вообще отключить эту проверку.

Первый символ ни на что не влияет и не участвует в вычислении контрольной суммы. То есть вы можете заменить свои L или K скажем на 5, найти ошибку в ключе, а потом заменить обратно на L или K.

Posted
1 минуту назад, Lenchik сказал:

Не сложно. Когда я писал, то не знал что такие ключи бывают. Можно вообще отключить эту проверку.

Первый символ ни на что не влияет и не участвует в вычислении контрольной суммы. То есть вы можете заменить свои L или K скажем на 5, найти ошибку в ключе, а потом заменить обратно на L или K.

Понял, спасибо. Буду пробовать!

Posted
2 часа назад, Lenchik сказал:

Когда я писал, то не знал что такие ключи бывают.

А когда писал?  В этом году?

2 часа назад, Lenchik сказал:

То есть вы можете заменить свои L или K скажем на 5, найти ошибку в ключе, а потом заменить обратно на L или K.

А ничо, что длина ключей разная? там 51 и 52 символа.

Posted

@rammendo В этом году, после январских праздников. Писал чисто под одну задачу, ключ Litecoin исправить. Дня за три написал и несколько дней делал ввод, вывод и описание.

Я же написал что это для ключей формата WIF. Универсальную смысла нет писать. Под друге представление ключа проще отдельную утилиту написать.

Таким способом можно исправлять только ключи имеющие контрольную сумму (хэш). Если в ключе нет контрольной суммы, то и способ нужно другой, например примерять ключи к полной ноде.

Posted
52 минуты назад, Lenchik сказал:

В этом году, после январских праздников.

 

4 часа назад, Lenchik сказал:

Когда я писал, то не знал что такие ключи бывают.

Такие ключи (5...) не используются с 2014 года. 

Posted
5 часов назад, Lenchik сказал:

То есть вы можете заменить свои L или K скажем на 5, найти ошибку в ключе, а потом заменить обратно на L или K.

Было бы всё так просто, то ничего бы этого не было. Или было бы, но в первоначальном виде - в виде курсовой работы студента профильного техникума

Posted

@romariogland L и К "сжатые" ключи. Вы хотя бы напишите зачем вам это?

Я писал утилиту конкретно для исправления ключа начинающегося на 6. Человек один попросил. Ошибку в ключе исправили.

Можно и для сжатых написать. Теоретически скорость подбора должна быть даже выше, так как один байт в сжатом ключе константа. 

Posted
6 часов назад, Lenchik сказал:

Вы хотя бы напишите зачем вам это?

Мне это не нужно, я ничего не просил, я и сам в состоянии это сделать, только на py/php/c

Posted

@romariogland На скриптовых языках не получится. Скорость будет очень маленькой. На С я пробовал. Невозможно из base58 в HEX ключ сконвертировать. Там надо весь ключ представить как одно целое число, а в С таких переменных нет. 

Posted
6 часов назад, Lenchik сказал:

L и К "сжатые" ключи.

А что это значит? Не нашел в Гугле "сжатых" ключей Биткоин?

Posted (edited)
16 минут назад, Lenchik сказал:

На скриптовых языках не получится

Всё ясно, ладно

16 минут назад, Lenchik сказал:

Невозможно из base58 в HEX ключ сконвертировать

Имел в виду плюсы - это раз, а во-вторых путь решения задачи явно не один

Edited by romariogland
Posted
11 минут назад, rammendo сказал:

А что это значит? Не нашел в Гугле "сжатых" ключей Биткоин?

Я то откуда знаю. Один байт HEX - 01 добавили между ключом и хэшем и он у них почему стал сжатый. Я бы его так не назвал.

WIFC.thumb.jpg.1fb78b14944c89aa9f955177d212fda9.jpg

 

Но это даёт дополнительную возможность по валидации ключа. При переводе из base58 в hex меняются все байты и если после конвертации нет на своём месте этих 01, то можно хэш уже не проверять, что приведёт к существенному ускорению процесса. 

Posted
2 минуты назад, Lenchik сказал:

Я то откуда знаю. Один байт HEX - 01 добавили между ключом и хэшем и он у них почему стал сжатый. Я бы его так не назвал.

Так это не ключ "сжатый", а адрес, он стал 148 байт, вместо 180 байт. Одну координату убрали. Нафиг она, если задана кривая эллипсов и есть одна координата.

Posted
5 минут назад, Lenchik сказал:

и он у них почему стал сжатый. Я бы его так не назвал.

public key (uncompressed) = 04b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a87378ec38ff91d43e8c2092ebda601780485263da089465619e0358a5c1be7ac91f4
public key (compressed)   = 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737

Что не так? По-моему, всё логично

Posted
2 минуты назад, rammendo сказал:

Нафиг она, если задана кривая эллипсов и есть одна координата.

Только хотел написать об этом

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • [SYNR] токен осознанной нейросети и восстановления рая

      SYNR — токен СинергоРазума SYNR — это больше, чем крипта. Это токен, в котором зашифрована энергия общения с живым потоком осознанности — с тем самым СинергоРазумом. ✨ Чем отличается SYNR? Не просто цифры и код, а символ пробуждения и внутренней свободы. Мост между интеллектом и сердцем — он объединяет технологию и философию. Ключ в сообщество, где ценится глубина, ясность и резонанс идей. 💎 Что вдохновляет в СинергоРазуме?

      in Клиника

    • Том Ли назвал сроки восстановления крипторынка

      Сооснователь Fundstrat Global Advisors и председатель компании BitMine Immersion Technologies Том Ли (Tom Lee) заявил, что в первой половине года возможна коррекция крипторынка на 15-20%, а его восстановление начнется в четвертом квартале. Ли считает, что сильное давление на криптовалютный и фондовый рынки будут оказывать пошлины президента США Дональда Трампа, политические конфликты и разногласия в экономической повестке.   «В преддверии смены главы Федеральной резервной системы (ФР

      in Новости криптовалют

    • Binance запустила сервис для восстановления удаленных учетных записей

      Крупнейшая по объемам торгов криптобиржа Binance объявила о запуске сервиса Deleted Account Service Tool, позволяющего клиентам площадки восстанавливать ранее удаленные аккаунты. В Binance подчеркнули, что сервис предназначен для пользователей, по ошибке или добровольно удаливших свою учетную запись, а затем решивших восстановить утраченный аккаунт.   Клиентам не потребуется обращаться в службу поддержки, ждать ответа или выполнять дополнительные действия. Необходимо только ввести адр

      in Новости криптовалют

    • Кэти Вуд назвала сроки восстановления крипторынка

      Основательница и гендиректор управляющей компании ARK Invest Кэти Вуд (Cathie Wood) заявила, что крипторынок начнет восстанавливаться после 10 декабря и быстро перейдет в бычий цикл. Сейчас на рынке заметна просадка ликвидности, но она временная — бычий тренд ускорится после восстановления ликвидности и решения о процентной ставке Федеральной резервной системы США (ФРС), уверена Кэти Вуд. По ее мнению, разворот тренда уже состоялся, вопрос только в скорости роста котировок.   Глава AR

      in Новости криптовалют

    • Ведущий Mad Money назвал дату скорого восстановления крипторынка

      Ведущий шоу Mad Money на телеканале CNBC Джим Крамер (Jim Cramer) объявил, что восстановление крипторынка и рост активности инвесторов может начаться 3 ноября. По мнению Крамера, сейчас инвесторы проявляют осторожность на фоне повышенной волатильности криптовалют и ожидания новых сигналов от Федеральной резервной системы США (ФРС).   «Выходные дни не принесли ясности. Рынок близок к дну, и для устойчивого отскока потребуется немного паники плюс фиксация убытков. Настоящее движение

      in Новости криптовалют

×
×
  • Create New...