Python

假設我忘記了種子的前兩個字,我怎麼能找到一個里面有乙太的賬戶?

  • January 13, 2022

假設我忘記了種子的前兩個詞。我想編寫一個程序,對前 2 個單詞的所有可能的 bip-39 單片語合進行暴力破解,生成私鑰/公鑰、地址,並通過前 10 個地址檢查那裡是否儲存了乙太幣,在這種情況下,收到通知。我怎樣才能實現它?我想我必須下載整個乙太坊區塊鏈,還有什麼?

對於那些想知道在最壞的情況下必須嘗試多少組合的人:

f(N) = Binomial[2048-(N-2), 2] * 2

其中2048是單詞列表中的單詞數,並且N是種子片語中的單詞數。該因素2來自兩個可能的順序,其中單詞可以出現。

對於長度為 、 和 單詞的種子片語121824將導致

f(12)= 4151406
f(18)= 4126992
f(24)= 4102650

組合,分別。

(我無法評論。)

使用ganache cli從 mnemonic 創建前 10 個帳戶。這將持續不到一秒鐘,然後您停止並以另一個排列重新開始。因此,您可以編寫一個簡單的腳本來創建種子並使用簡單的 grep 找到相應的帳戶。

$ ganache-cli -h 0.0.0.0 --mnemonic "mimic dune forward party defy island absorb insane deputy obvious brother immense"

預期輸出:

Ganache CLI v6.9.1 (ganache-core: 2.10.2)

Available Accounts
==================
(0) 0xfe84Ab89b7Fc902Ff3CfD756403a8f085B1639Aa (100 ETH)
(1) 0x9DC64b2558b458A15C7f01c192D874Ef460f0A29 (100 ETH)
(2) 0x94F57ed7e9af03A10e8EB23CE1B3c7914a182b0f (100 ETH)
(3) 0x936188f2C3C8E8c95e425b6fe41c2ac9E701585e (100 ETH)
(4) 0x95f29431AEb52C0D5DbEEEC36010b8e2CA69CB3D (100 ETH)
(5) 0x19356cc2300833E690088a5a09A2044A3CC2A1E2 (100 ETH)
(6) 0x8861CdFa38838531275cE12F9e795C3b9fF29cBE (100 ETH)
(7) 0x0712e8e819712C3bfdb098CE51C87a4Ac0296fd8 (100 ETH)
(8) 0xAA33d7188Eb4b4A51C37199eaaD2f73cf2bF0204 (100 ETH)
(9) 0xead34b583404E3Cb0C9b97C2d1C486BE67Be9F30 (100 ETH)

Private Keys
==================
(0) 0x6b657c280147dd393162442cda5f55b8af7c59986237f4c602531d1e994d5a6d
(1) 0x6c9ad2b70a3ca6e989a0715b710f3ed689b1cfe4c1494ede70241762ffb76c9b
(2) 0x50f58d79e0b89e2f4070721184eaa96fd5c3d096d4885969cf3fac70aaf522cd
(3) 0xfa30d0923973acd541d3dd3e9f8c2d253b7ecd52b316478f9dd24c88d7eff16d
(4) 0x407a6090c4b168dab2680cba8c4e6ff54b9d58ada126607b4451c9a4646f029b
(5) 0xe820b165e308ac2a2b32cc2fd4d694373b9910ce216ebeddcec10dbc2091c618
(6) 0x0402143af3ed84c7d05ce13b8601733a6e9c01d287f30e481f180bb38174aae7
(7) 0x5ca5f7763a6b5d49deca6620803ec47c4dd910380e8e9cf7780857b95318a1a3
(8) 0x6708567060a74fe47d7f9b9e7a5af1bc30ffbc641566c96f6413323591042a3c
(9) 0xf15dabfb20f3e891e7a9308bb3acb5498200b968ca4feebf8e2e9e561ee71778    

HD Wallet
==================
Mnemonic:      mimic dune forward party defy island absorb insane deputy obvious brother immense
Base HD Path:  m/44'/60'/0'/0/{account_index}

Gas Price
==================
20000000000
Gas Limit
==================
6721975

Call Gas Limit
==================
9007199254740991

Listening on 0.0.0.0:8545

引用自:https://ethereum.stackexchange.com/questions/85101