Wallet-Recovery

損壞的舊比特幣錢包。!!!文件未知有LSN!

  • March 29, 2021

我有一個從 2013 年開始損壞的未加密比特幣錢包。

到目前為止我對兩個錢包的嘗試:

1,使用新舊版本的比特幣客戶端,錢包只是創建一個 .bak 文件,不顯示任何金額/交易。

2,我也嘗試了 bitcoin-qt.exe -salvagewallet - 這是創建一個 bak + epoch 時間。和 db.log 說

未知文件的 LSN 為 91/5547280,在 1/1042 處超過日誌結束 這通常是由於將數據庫從一個數據庫環境移動到另一個數據庫環境而未清除數據庫 LSN,或從數據庫環境 wallet.dat 中刪除所有日誌文件所致。 1608587747.bak:DB_VERIFY_BAD:數據庫驗證失敗

3,pywallet 正確安裝並且在 ubuntu 下為我工作正常,不同的錢包沒有損壞,(轉儲所有數據就好了)但是當我嘗試轉儲損壞的一次 python2 pywallet.py –dumpwallet –datadir=./ 我得到“錯誤:root:無法打開 wallet.dat/main。嘗試退出比特幣並再次執行它。”

4,我嘗試了python2 dbdump.py –wallet –wallet-tx –datadir=./(得到“錯誤:root:無法打開wallet.dat/main。嘗試退出比特幣並再次執行。” )

現在東西用完了,我如何更深入地獲取這些私鑰和地址?

如果你們中的任何人能夠成功地幫助我,肯定會發放獎勵。

我過去成功的一種技術:

db5.3_dump 損壞的錢包.dat | db5.3_load fresh_wallet.dat

(顯然替換corrupted_wallet.dat為實際文件名,並先進行備份)。

然後嘗試載入fresh_wallet.dat到現代比特幣核心

這些工具在 Ubuntu 軟體包db5.3-util中。

注意:你需要一個針對 libdb5.3++-dev 編譯的比特幣核心來打開這個文件(因為它將使用 BDB 5.3,而發布版本使用 BDB 4.8)。您可以做同樣的事情並在任何地方使用 BDB 4.8 工具,但它們更難找到。

我如何更深入地獲取這些私鑰和地址?

那麼我將開始的基本過程是

  • 不要使用包含損壞文件的電腦

  • 使用可啟動 USB 將文件複製到外部媒體

  • 鎖定電腦,直到您在新電腦上修復文件或提取密鑰

  • 製作損壞文件的副本並僅在這些副本上工作。

  • 將一些未更改的副本保存在一些安全的地方。

  • 製作 wallet.dat 文件的十六進制轉儲

  • 研究比特幣核心在 2013 年使用的定義文件格式

    • 也許通過搜尋文件格式的文件。
    • 也許通過研究 PyWallet 的來源。
    • 也許是通過從 GitHub 獲取 2013 年比特幣核心的原始碼集。
  • 將定義的文件格式與 2013 年有效 wallet.dat 的十六進制轉儲進行比較

  • 對正常工作的 2013 wallet.dat 進行小改動,製作新的十六進制轉儲並研究差異。

  • 將定義的文件格式與損壞的 wallet.dat 的十六進制轉儲進行比較

  • 嘗試修復

  • 對原始電腦硬碟或等效設備的按位副本上未分配空間中的所有數據執行一些取證恢復過程。對數據重複處理以嘗試辨識 wallet.dat 數據的片段。

這將是一項緩慢而艱鉅的工作。您會發現沒有意義的差異,您可能必鬚髮明要插入的新內容並決定要刪除哪些部分。您可能需要找到工具或創建工具,以允許您對 wallet.dat 的副本進行更改以修復它。或者您可以辨識十六進制轉儲中的私鑰並提取它們。

如果錢包裡有少量我不會打擾。如果它包含相當於一年工資的金額 - 那麼,在你的鞋子裡,我可能會花一些時間在這上面。


沒有安全的方法讓其他人來做這件事。一個陌生人很容易說他們什麼也沒找到,然後拿著你錢包裡的錢走了。騙子很容易慢慢獲得你的信任,直到你為他們支付各種費用為你做這件事。

引用自:https://bitcoin.stackexchange.com/questions/100736