2025浙江省省赛初赛

RecoverWallet(复现)

![[task.txt]]
Mnemonic: ankle assume estate permit (???) eye fancy spring demand dial awkward hole
Ethereum Address: 0x**********************************700f80

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from eth_account import Account  
from mnemonic import Mnemonic

parts = ["ankle","assume","estate","permit", None, "eye","fancy","spring","demand","dial","awkward","hole"]
mnemo = Mnemonic("english")
wordlist = mnemo.wordlist
assert len(wordlist) == 2048

candidates = []
for w in wordlist:
candidate = parts.copy()
candidate[4] = w
phrase = " ".join(candidate)
if mnemo.check(phrase):
candidates.append(phrase)

print(len(candidates), "candidates found.")


Account.enable_unaudited_hdwallet_features()
for phrase in candidates:
acct = Account.from_mnemonic(phrase, account_path="m/44'/60'/0'/0/0")
addr = acct.address
print("phrase:", phrase)
print("address:", addr)

if addr.lower().endswith("700f80"):
print("address found:", addr)
break

![[Pasted image 20251119155848.png]]


http://example.com/2026/01/19/MISC/区块链/例题/
Author
chaye
Posted on
January 19, 2026
Licensed under