Kelman (OP)
Newbie
Offline
Activity: 4
Merit: 6
|
Hi all, I have a problem : - I resetted my Ledger Nano S by putting 3 times the wrong password. - I do have the list of word, and have 23 of the 24 words (yes this is weird but that's the problem).
So I know 23 of the 24 words, but I'm stuck to know what the last word is, and I'm not really sure about its position in the whole list...
Does someone have a solution for this?
Thanks, kel
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4420
Crypto Swap Exchange
|
|
November 21, 2020, 02:24:08 PM Last edit: November 21, 2020, 02:52:20 PM by ranochigo |
|
You'd want to explore this[1]. It's not a huge issue as long as its only one word. You should run it on an offline computer as far and possible and assume the seed to be compromised once you've found the correct word and transfer the funds into a newly resetted Ledger wallet, with the seed correctly written down of course. [1] https://github.com/gurnec/btcrecover Oof I linked the wrong one. See below.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18726
|
|
November 21, 2020, 02:51:28 PM |
|
-snip- That particular GitHub has not been updated in over 3 years. There is an active development fork of that software available here: https://github.com/3rdIteration/btcrecover/. It provides more features, more wallet support, and is optimized to run faster. It also has more thorough instructions and guides for users who might not be entirely sure what they are doing. Here are the instructions you want to run the seedrecover.py part of that software: https://github.com/3rdIteration/btcrecover/blob/master/docs/Seedrecover_Quick_Start_Guide.mdYou will need ideally the master public key from your wallet, or if you don't have that, then one of the first used addresses on that wallet. Download and run offline, follow the instructions, supply your xpub or address, supply your 23 words (in order), and let it run. If that's all too complicated, than an easier method may be to use this: The FinderOuter, a bitcoin recovery tool (v0.5.0 2020-09-17)I don't think it supports the case where you do not know which location your word is missing from, but with only 24 possibilities you can just run it 24 times until you find the correct one.
|
|
|
|
bob123
Legendary
Offline
Activity: 1624
Merit: 2481
|
|
November 21, 2020, 03:55:18 PM |
|
As long as you are sure that the order of the 23 words is correct, you are fine. btcrecover is what you are looking for to bruteforce your mnemonic code.
If you need help getting btcrecover to properly run, feel free to ask. But do not reply to PM's asking for your mnemonic.
|
|
|
|
Kelman (OP)
Newbie
Offline
Activity: 4
Merit: 6
|
|
November 21, 2020, 04:08:52 PM |
|
Hi guys, Thanks for your quick answers. I'm not a computer expert but understand what I need to do. I had found the first version of BTCrecover and managed to run it on MacOs,itbut did not help me get the missing word. I tried to install the latest version, with python 3.9 but the "installations" procedure lacks a few things... I'm actually experiencing this issue : When I try do insert this command. pip3 install -r requirements.txtIt tells me : ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' So I can not continue with it, do you know how to do it? The commands that I find here seem to not work correctly : https://github.com/3rdIteration/btcrecover/blob/master/docs/INSTALL.mdIs it because I installed python 2.7 before so it the 3.9 is not used by default? when I type "python3" in my terminal, it says it is not found... If you could help me it would be great!
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4420
Crypto Swap Exchange
|
|
November 21, 2020, 04:15:01 PM |
|
When I try do insert this command. pip3 install -r requirements.txt
It tells me : ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
So I can not continue with it, do you know how to do it?
Shouldn't be the case, you're specifying pip3 as the package installer. I think this is an obvious question but, are you in the correct directory? Is the requirements.txt inside your directory?
|
|
|
|
Kelman (OP)
Newbie
Offline
Activity: 4
Merit: 6
|
|
November 21, 2020, 04:33:26 PM |
|
Hi, I think like you said that the repertory was wrong. Now I tried to install it and it says the following (huge) error message :
ERROR: Command errored out with exit status 1: command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/setup.py'"'"'; __file__='"'"'/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-record-v5jo5820/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/coincurve cwd: /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/ Complete output (189 lines): WARNING: The wheel package is not available. WARNING: The wheel package is not available. WARNING: The wheel package is not available. WARNING: The wheel package is not available. Warning: 'keywords' should be a list, got type 'tuple' running install running build running build_py creating build creating build/lib.macosx-10.9-x86_64-3.9 creating build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/_windows_libsecp256k1.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/flags.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/__init__.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/keys.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/context.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/utils.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve copying coincurve/ecdsa.py -> build/lib.macosx-10.9-x86_64-3.9/coincurve running build_clib checking build system type... x86_64-apple-darwin19.6.0 checking host system type... x86_64-apple-darwin19.6.0 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/build-aux/install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking how to print strings... printf checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... none checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /Library/Developer/CommandLineTools/usr/bin/ld checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 196608 checking how to convert x86_64-apple-darwin19.6.0 file names to x86_64-apple-darwin19.6.0 format... func_convert_file_noop checking how to convert x86_64-apple-darwin19.6.0 file names to toolchain format... func_convert_file_noop checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dsymutil... dsymutil checking for nmedit... nmedit checking for lipo... lipo checking for otool... otool checking for otool64... no checking for -single_module linker flag... yes checking for -exported_symbols_list linker flag... yes checking for -force_load linker flag... yes checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... yes checking for gcc option to produce PIC... -fno-common -DPIC checking if gcc PIC flag -fno-common -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin19.6.0 dyld checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking whether make supports nested variables... (cached) yes checking for pkg-config... no checking for ar... /usr/bin/ar checking for ranlib... /usr/bin/ranlib checking for strip... /usr/bin/strip checking for gcc... gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) none checking how to run the C preprocessor... gcc -E checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... none checking for brew... no checking for port... no checking if gcc supports -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function -Wno-long-long -Wno-overlength-strings... yes checking if gcc supports -fvisibility=hidden... yes checking for __int128... yes checking if native gcc supports -Wall -Wextra -Wno-unused-function... yes checking for working native compiler: gcc... yes checking for x86_64 assembly availability... yes checking gmp.h usability... no checking gmp.h presence... no checking for gmp.h... no checking for CRYPTO... no checking openssl/crypto.h usability... no checking openssl/crypto.h presence... no checking for openssl/crypto.h... no checking whether byte ordering is bigendian... no configure: ****** configure: WARNING: experimental build configure: Experimental features do not have stable APIs or properties, and may not be safe for production use. configure: Building ECDH module: yes configure: ****** checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating libsecp256k1.pc config.status: creating src/libsecp256k1-config.h config.status: executing depfiles commands config.status: executing libtool commands Build Options: with endomorphism = no with ecmult precomp = yes with external callbacks = no with jni = no with benchmarks = no with coverage = no module ecdh = yes module recovery = yes asm = x86_64 bignum = no field = 64bit scalar = 64bit ecmult window size = 15 ecmult gen prec. bits = 4 CC = gcc CFLAGS = -g -O2 -W -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function -Wno-long-long -Wno-overlength-strings -fvisibility=hidden -O3 CPPFLAGS = LDFLAGS = gcc -I/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1 -I./src -g -O2 -Wall -Wextra -Wno-unused-function -c /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/src/gen_context.c -o gen_context.o gcc -g -O2 -Wall -Wextra -Wno-unused-function gen_context.o -o gen_context ./gen_context CC src/libsecp256k1_la-secp256k1.lo CCLD libsecp256k1.la CC src/tests-tests.o CCLD tests CC src/exhaustive_tests-tests_exhaustive.o CCLD exhaustive_tests /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/build-aux/install-sh -c -d '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib' /bin/sh ./libtool --mode=install /usr/bin/install -c libsecp256k1.la '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib' libtool: install: /usr/bin/install -c .libs/libsecp256k1.lai /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/libsecp256k1.la libtool: install: /usr/bin/install -c .libs/libsecp256k1.a /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/libsecp256k1.a libtool: install: chmod 644 /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/libsecp256k1.a libtool: install: /usr/bin/ranlib /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/libsecp256k1.a /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/build-aux/install-sh -c -d '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/include' /usr/bin/install -c -m 644 /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/include/secp256k1.h /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/include/secp256k1_preallocated.h /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/include/secp256k1_ecdh.h /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/include/secp256k1_recovery.h '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/include' /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/libsecp256k1/build-aux/install-sh -c -d '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/pkgconfig' /usr/bin/install -c -m 644 libsecp256k1.pc '/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/build/temp.macosx-10.9-x86_64-3.9/lib/pkgconfig' error: [Errno 2] No such file or directory: 'pkg-config' ---------------------------------------- ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/setup.py'"'"'; __file__='"'"'/private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-install-a9o6cto0/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bk/rdryq87s54n315hw4mbjp2s40000gn/T/pip-record-v5jo5820/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/coincurve Check the logs for full command output.
Do you know what could be done?
|
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4361
<insert witty quote here>
|
|
November 21, 2020, 09:23:26 PM |
|
what happens if you just use the command: Do you get the same error?
|
|
|
|
Coding Enthusiast
Legendary
Offline
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
|
|
November 22, 2020, 05:44:05 AM |
|
If that's all too complicated, than an easier method may be to use this: The FinderOuter, a bitcoin recovery tool (v0.5.0 2020-09-17)I don't think it supports the case where you do not know which location your word is missing from, but with only 24 possibilities you can just run it 24 times until you find the correct one. It does not support it yet, since I'm still working on issue #9 haven't been able to add any new features. Recovery is quite fast though (~1 second for 1 missing word), the whole thing (2048 * 24) shouldn't take more than 10 seconds if the path is hardened which I believe it is for Ledger Nano.
|
|
|
|
keychainX
Member
Offline
Activity: 378
Merit: 53
Telegram @keychainX
|
|
November 22, 2020, 07:49:48 AM |
|
Hi all, I have a problem : - I resetted my Ledger Nano S by putting 3 times the wrong password. - I do have the list of word, and have 23 of the 24 words (yes this is weird but that's the problem).
So I know 23 of the 24 words, but I'm stuck to know what the last word is, and I'm not really sure about its position in the whole list...
Does someone have a solution for this?
Thanks, kel
Btcrecover can do this but you have to know at least one of your addresses on your ledger that was previously used. It also has some compilation errors with Python3 so you could also try with python2.7 which is much more stable. There are 3 main branches of btcrecover that works differently. 1 for python2.7 one for python3 and one which is modified for segwit. So depending on your computer setup and target address you should choose accordingly. if you need a visual guide you can view a video of this guy, it gives a pretty good step by step if you are stuck https://cryptoguide.tips/2020/07/24/btcrecover-install-gpu-acceleration-on-windows-python-3-crypto-seed-wallet-password-recovery//KX
|
|
|
|
PawGo
Legendary
Offline
Activity: 952
Merit: 1385
|
|
November 22, 2020, 07:26:40 PM Last edit: November 22, 2020, 08:24:31 PM by PawGo |
|
Hi all, I have a problem : - I resetted my Ledger Nano S by putting 3 times the wrong password. - I do have the list of word, and have 23 of the 24 words (yes this is weird but that's the problem).
So I know 23 of the 24 words, but I'm stuck to know what the last word is, and I'm not really sure about its position in the whole list...
Does someone have a solution for this?
It does not look to be difficult, as long as you are sure of the order of the rest of the words. I may prepare a simple program which may check it, but you will need to know 'derivation path' (account number?) and address used (preferably the first one).
And here you are: https://github.com/PawelGorny/lostwordRequires java of course. Very simple program, could be improved in many ways, but not today Slow, but works. If your case is simple, it will help, if not - let me know, I will modify it. I have tested with examples from https://iancoleman.io/bip39/, using first address from derivation path m/0/0. Here you may download compiled .jar, or if you do not trust me, you may download sources and compile on your computer. https://github.com/PawelGorny/lostword/releases/tag/0.1
|
|
|
|
Kelman (OP)
Newbie
Offline
Activity: 4
Merit: 6
|
|
November 28, 2020, 12:41:19 PM |
|
Hello everyone, Thanks for your kind answers.
I tried several options and finally managed to make it work with BTC recover. The actual issue was that the script of BTCrecover is not encoded for Mac OS, so this needed a few adjustments to make it work.
@PawGo : Your option was easier to use, but unfortunately did not find my missing word, I don't know why.
Thanks again and have a great day, Kel
|
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4361
<insert witty quote here>
|
|
December 04, 2020, 06:43:13 AM |
|
The actual issue was that the script of BTCrecover is not encoded for Mac OS, so this needed a few adjustments to make it work.
Any chance you could be a bit more specific as to what was needed to make btcrecover work? It's a Python script, and Python is cross-platform, so the script shouldn't really have needed any mods to be "MacOS" compatible. Unless it was just that the version of Python that is included in MacOS is incompatible with btcrecover? For instance, there were "breaking" changes made to Python v3 that can cause issues with scripts designed for Python v2
|
|
|
|
|