/Profanity-Crack-CUDA

Profanity-Crack-CUDA

Primary LanguageC++MIT LicenseMIT

GPU(CUDA) Profanity Crack

(Version 1.1)

Файл config.cfg

  • "folder_keys": "F:\tables_bin_sort" - папка с таблицами публичных ключей алгоритма profanity. (таблицы сгенерированы программой GeneratorProfanityPubKeys.exe)
  • "folder_8_bytes_keys_gpu": "F:\tables_bin_8_bytes_gpu" - папка с таблицами публичных ключей алгоритма profanity, первые 8 байт координаты X.(таблицы сгенерированы программой GeneratorProfanityPubKeys.exe)
  • "folder_8_bytes_keys_cpu": "F:\tables_bin_8_bytes_cpu" - папка с таблицами публичных ключей алгоритма profanity, первые 8 байт координаты X.(таблицы сгенерированы программой GeneratorProfanityPubKeys.exe)
  • "file_public_keys": "F:\public_keys.txt" - файл с искомыми публичными ключами
  • "max_rounds": 1024 - максимальное количество раундов, которые будут пройдены для одного публичного ключа

Описание

Программа GeneratorProfanityPubKeys.exe создает таблицы в двух папках "tables_bin_sort" и "tables_bin_8_bytes". Папку "tables_bin_8_bytes" можно разделить на две папки "folder_8_bytes_keys_gpu" и "folder_8_bytes_keys_cpu". В первой папке будут содержаться таблицы для поиска совпадения ключа на GPU, во второй - таблицы для поиска на CPU. В начале программы, считываются настройки из файла config.cfg. Потом предлагается ввести номер используемой видеокарты.
Функцией ReadTablesToMemory считываются таблицы в оперативную память из папок "folder_8_bytes_keys_gpu" и "folder_8_bytes_keys_cpu", общий объем 32 ГБ. Запускается функция crack_public_key(). Если папка "folder_8_bytes_keys_cpu" пуста, и все таблицы хранятся в "folder_8_bytes_keys_gpu" то поиск будет происходить только на GPU.(ВНИМАНИЕ!!! объем таблиц 32 ГБ). Если папка "folder_8_bytes_keys_gpu" пуста, и все таблицы хранятся в "folder_8_bytes_keys_cpu" то поиск будет происходить только на CPU.

Вызывается функция crack_init на GPU, в которой создаются 25516384 публичных ключей, каждый ключ равен "искомый ключ" минус G2 192*id.
Далее, постоянно вызывается функция crack(), в которой каждый ключ уменьшается на точку G. Все эти ключи выгружаются на CPU, где происходит поиск их по таблицам, по 8-ми байтам. Если найдено совпадение (в консоли появиться надпись "!!!FOUND 8 BYTES!!!"), то идет обращение к таблице "полных" ключей "folder_to_save_sort_results" и по номеру файла и позиции совпавших 8 байтах, сравниваются полностью 64-байтные ключи. Если совпало, то в функции calcKeyFromResult вычисляется искомый приватный ключ. Если нет, вызывается снова функция crack() и так далее.

Если нашли ключ

В консоли появиться надписи:

  • !!!FOUND!!!
    !!!FOUND!!!
    !!!FOUND!!!
    !!!FOUND!!!
    ROUND: 1256
    PUBLIC KEY: 7CEFE04DDBDB17E3861EC995D515BAC16CC2766CCA1D66C27ACDCEE876FB3CD2D811C410835D71C56FAB7E492084A3949AA6797AEFB38AB4B1AB1DD1B6E15F45
    FOUND PRIVATE KEY: C8505C6C876399185B499F3C1AE43E5B553496E135DBCC2CA67C4B278CD9BB18
    FOUND PRIVATE KEY: C8505C6C876399185B499F3C1AE43E5B553496E135DBCC2CA67C4B278CD9BB18
    FOUND PRIVATE KEY: C8505C6C876399185B499F3C1AE43E5B553496E135DBCC2CA67C4B278CD9BB18

Файл ProfanityCrackV11.exe находится в папке exe

ОБСУЖДЕНИЕ КОДА: https://t.me/BRUTE_FORCE_CRYPTO_WALLET