{"id":18453410,"url":"https://github.com/glv2/bruteforce-wallet","last_synced_at":"2025-04-05T02:11:48.356Z","repository":{"id":53832098,"uuid":"21093381","full_name":"glv2/bruteforce-wallet","owner":"glv2","description":"Try to find the password of an encrypted Peercoin (or Bitcoin, Litecoin, etc...) wallet file.","archived":false,"fork":false,"pushed_at":"2024-03-01T13:27:59.000Z","size":88,"stargazers_count":397,"open_issues_count":11,"forks_count":138,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-03-29T01:13:57.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glv2.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2014-06-22T12:39:49.000Z","updated_at":"2025-03-26T21:01:53.000Z","dependencies_parsed_at":"2024-04-17T21:42:39.772Z","dependency_job_id":"cc84bac3-3405-4ee1-a791-d6ac740f16c1","html_url":"https://github.com/glv2/bruteforce-wallet","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glv2%2Fbruteforce-wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glv2%2Fbruteforce-wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glv2%2Fbruteforce-wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glv2%2Fbruteforce-wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glv2","download_url":"https://codeload.github.com/glv2/bruteforce-wallet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T07:36:04.688Z","updated_at":"2025-04-05T02:11:48.338Z","avatar_url":"https://github.com/glv2.png","language":"C","funding_links":[],"categories":["Tools","Hash Cracking Tools"],"sub_categories":["Hash Cracking Tools","Forensics","Docker Containers of Penetration Testing Distributions and Tools","Zealandia"],"readme":"# bruteforce-wallet\n\nThe purpose of this program is to try to find the password of an encrypted\nPeercoin (or Bitcoin, Litecoin, etc...) wallet file (i.e. wallet.dat).\n\nIt can be used in two ways:\n\n - try all the possible passwords given a charset\n - try all the passwords in a file\n\nThere is a command line option to specify the  number of threads to use.\n\nSending a USR1 signal to a running bruteforce-wallet process makes it print\nprogress and continue.\n\n\n## Exhaustive mode\n\nThe program tries to decrypt one of the encrypted addresses in the wallet by\ntrying all the possible passwords. It is especially useful if you know\nsomething about the password (i.e. you forgot a part of your password but still\nremember most of it). Finding the password of a wallet without knowing\nanything about it would take way too much time (unless the password is really\nshort and/or weak).\n\nThere are command line options to specify:\n\n - the minimum password length to try\n - the maximum password length to try\n - the beginning of the password\n - the end of the password\n - the character set to use (among the characters of the current locale)\n\n\n## Dictionary mode\n\nThe program tries to decrypt one of the encrypted addresses in the wallet by\ntrying all the passwords contained in a file. The file must have one password\nper line.\n\n\n## Dependencies\n\nThe program requires the OpenSSL and BerkeleyDB libraries. Installation on Debian \u0026 Ubuntu:\n\n\n\tapt install libdb-dev libssl-dev -y\n\n\n## Compilation\n\nIf you are building from the raw sources, you must first generate the\nconfiguration script:\n\n    ./autogen.sh\n\n\nThen, build the program with the commands:\n\n    ./configure\n    make\n\n\nTo install it on your system, use the command:\n\n    make install\n\n\n## Limitations\n\nThe program currently only works on unix-like POSIX systems (e.g. GNU/Linux).\n\nDifferent versions of BerkeleyDB are usually not compatible with each other.\nTherefore, for the program to work, you will have to check that the BerkeleyDB\nversion you are using can read the databases created by the BerkeleyDB version\nyour wallet was created with.\n\n\n## Examples\n\nTry to find the password of an encrypted wallet file using 4 threads, trying\nonly passwords with 5 characters:\n\n    bruteforce-wallet -t 4 -l 5 -m 5 wallet.dat\n\n\nTry to find the password of an encrypted wallet file using 8 threads, trying\nonly passwords with 5 to 10 characters beginning with \"W4l\" and ending with \"z\":\n\n    bruteforce-wallet -t 8 -l 5 -m 10 -b \"W4l\" -e \"z\" wallet.dat\n\n\nTry to find the password of an encrypted wallet file using 8 threads, trying\nonly passwords with 10 characters using the character set \"P情8ŭ\":\n\n    bruteforce-wallet -t 8 -l 10 -m 10 -s \"P情8ŭ\" wallet.dat\n\n\nTry to find the password of an encrypted wallet file using 6 threads, trying\nthe passwords contained in a dictionary file:\n\n    bruteforce-wallet -t 6 -f dictionary.txt wallet.dat\n\n\nPrint progress info:\n\n    pkill -USR1 -f bruteforce-wallet\n\n\nPrint progress info every 30 seconds:\n\n    bruteforce-wallet -t 6 -f dictionary.txt -v 30 wallet.dat\n\n\nSave/restore state between sessions:\n\n    bruteforce-wallet -t 6 -f dictionary.txt -w state.txt wallet.dat\n      (Let the program run for a few minutes and stop it)\n    bruteforce-wallet -t 6 -w state.txt wallet.dat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglv2%2Fbruteforce-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglv2%2Fbruteforce-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglv2%2Fbruteforce-wallet/lists"}