c'è un wallet che possedevo con dei soldi dentro e non riesco più ad accedervi non chiedermi perché. lunga storia e un NDA... qualcuno mi ha inviato dei soldi lì per sbaglio non usavo quel wallet da più di un anno. conservo i miei seed in modo sicuro, ma in qualche modo non avevo quello per quell'indirizzo specifico. la parte strana è che sono quasi sicuro che fosse solo un normale account metamask creato con il pulsante “crea account”. quindi ho deciso di fare il detective: la prima cosa che ho controllato è stata se quel wallet fosse mai esistito nel mio computer. metamask memorizza i suoi dati di wallet crittografati localmente nel browser, quindi se il profilo del browser è ancora lì, la vault potrebbe essere ancora lì. sono andato nello storage delle estensioni di chrome e ho estratto i file del database di metamask. all'interno di quei file c'è un oggetto crittografato chiamato la vault. quella vault contiene i seed e le chiavi che metamask utilizza, ma tutto è crittografato con la tua password metamask. quindi ho estratto i dati della vault e li ho decrittografati. la crittografia che utilizza metamask è fondamentalmente una chiave derivata dalla tua password (PBKDF2) che decrittografa il payload della vault (AES). se conosci ancora la password metamask, puoi decrittografare la vault e recuperare le frasi seed memorizzate all'interno. quella parte ha effettivamente funzionato. dopo aver decrittografato la vault ho recuperato tre diverse frasi seed che erano state memorizzate in quell'installazione di metamask. poi è arrivato il passo della derivazione. metamask non memorizza ogni indirizzo ethereum individualmente. prende una frase seed e genera in modo deterministico wallet da essa utilizzando un percorso di derivazione (di solito m/44'/60'/0'/0/n). ogni volta che clicchi su “crea account” metamask incrementa semplicemente l'indice e deriva il prossimo indirizzo dalla stessa seed. quindi ho scritto uno script e ho iniziato a derivare indirizzi da quei seed. centinaia di essi. ...