Вот моя ситуация:
Я случайно удалил раздел на своем жестком диске, содержащий единственную копию моего биткойн-кошелька. Фейспалм. После запуска инструментов восстановления данных я нашел и восстановил около 150 .dat
файлов. К сожалению, программа восстановления присваивает этим файлам произвольные имена, поэтому я не могу определить, какой из них является моим BTC wallet.dat
.
Есть ли быстрый способ или утилита, которая может подтвердить, что файл .dat является действительным биткойн-кошельком? Я хотел бы запустить скрипт для повторения каждого .dat
и проверки, чтобы найти биткойн-кошелек среди всех .dat
файлов, которые я восстановил.
В худшем случае мне просто нужно будет попытаться импортировать каждый из них, один за другим ((что звучит как ужасный способ провести завтрашний день). Я все еще новичок в BTC и не знаком с набором инструментов. это связано, поэтому я надеюсь, что есть программный способ сделать это: D
Я быстро проверил свою систему, вот что может помочь вам определить:
$ file wallet.dat
wallet.dat: Berkeley DB (Btree, version 9, native byte-order)
$ file blocks/blk00233.dat
blocks/blk00233.dat: data
и если у вас есть инструмент hexdump (здесь он должен работать в системах типа Unixoide):
$ hexdump -C wallet.dat | more
00000000 00 00 00 00 01 00 00 00 00 00 00 00 62 31 05 00 |............b1..|
... many, many zeros, and from time to time some numbers :-)
00001ff0 04 00 01 00 00 00 02 00 04 00 01 6d 61 69 6e 00 |...........main.|
в то время как blooks полны чисел ...
$ hexdump -C blk00233.dat | more
00000000 f9 be b4 d9 1f ad 06 00 02 00 00 00 f2 50 36 7e |.............P6~|
00000010 af 4f e8 37 f7 2f 0f db 8b cf a1 3e 34 73 0d eb |.O.7./.....>4s..|
00000020 f9 ca 1d 05 00 00 00 00 00 00 00 00 76 89 01 91 |............v...|
00000030 46 d5 24 ed 48 bd ff ed 68 77 3e ca 28 0e b8 74 |F.$.H...hw>.(..t|
00000040 30 73 cb aa 0e 32 d9 91 9f a9 ed 73 b1 d2 e5 54 |0s...2.....s...T|
00000050 87 bb 18 18 90 7d 19 02 fd c6 02 01 00 00 00 01 |.....}..........|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
поскольку вы не хотите делать это для каждого файла, вы можете указать своей системе, что делать:
for i in *.dat; do file $i; done
Вот еще один, возможно, более быстрый вариант:
find /my/folder -exec file {} ";" | grep 'Berkeley'
Эта команда напечатает список всех файлов из /my/folder
, которые имеют тип Berkeley DB
. Кроме того, это тип файлов биткойн-кошелька.
Уильям Робинсон
file
внутри цикла for, я смог найти файл Berkeley DB.