Title: Come ritrovare parola mancante
Post by: dende93 on May 26, 2019, 09:40:37 AM
Ciao a tutti, ho fatto un errore stupido ossia, ho inviato da un paper wallet 1 LTC ad un mio indirizzo su block.io, il problema è che non mi ricordavo che su questo benedetto sito, oltre la password per accedere ti viene chiesto un pin quando devi fare transazioni, io non mi ricordo neanche di averlo creato quel pin ma vabè. Il pin lo posso cambiare a patto di avere le 12 paroline magiche, ci ho provato ma con sorpresa noto che (stupido che sono) ne ho scritte solo 11.
Quindi il mio quesito è: c'è qualche modo per recuperare la parola mancante? Ricompenserò chiunque riesca a farmi riavere i miei fondi.
Title: Re: Come ritrovare parola mancante
Post by: Piggy on May 26, 2019, 10:32:37 AM
Ciao a tutti, ho fatto un errore stupido ossia, ho inviato da un paper wallet 1 LTC ad un mio indirizzo su block.io, il problema è che non mi ricordavo che su questo benedetto sito, oltre la password per accedere ti viene chiesto un pin quando devi fare transazioni, io non mi ricordo neanche di averlo creato quel pin ma vabè. Il pin lo posso cambiare a patto di avere le 12 paroline magiche, ci ho provato ma con sorpresa noto che (stupido che sono) ne ho scritte solo 11.
Quindi il mio quesito è: c'è qualche modo per recuperare la parola mancante? Ricompenserò chiunque riesca a farmi riavere i miei fondi.
Non credo sia possibile, se si fosse trattato di cifre più alte e sapessi esattamente in qualche posizione si trovasse la parola mancante un tentativo lo si sarebbe anche potuto fare, usando qualche vocabolario e controllando se salta fuori il tuo indirizzo e quindi chiave privata annessa. Il problema qui è che la parola mancante può trovarsi in qualsiasi posizione visto che copiando te ne sei persa una chissa dove. edit: Leggo solo ora che il PIN è indispensabile quindi non credo sia nemmeno possibile far girare qualche programma per indovinare la parola, quindi le 12 parole non bastano da sole per avere accesso al tuo account (anche se non mi è chiaro come, magari è solo un ostacolo "artificiale" che mettono loro). Do not share your secrets. Your Secret PIN is the key that controls your coins, and your Secret Mnemonic is the only key to reset your Secret PIN in an emergency. You should never, ever share your Secret PIN and Secret Mnemonic with anyone.
Title: Re: Come ritrovare parola mancante
Post by: dende93 on May 27, 2019, 11:28:42 AM
Aspetterò la prossima bull run e allora mi converrà provare magari! Va be non è un grosso problema perchè quel LTC lo pagai veramente poco, però mi girano comunque. E si non so quale fosse la posizione della parola mancante, il che rende la cosa più difficile. Il pin serve perchè a quanto ho capito è una sorta di multisig con le 12 parole + il pin. Comunque una volta trovate le parole il pin lo potrei cambiare. Spero che il sito regga qualche anno ancora ;D
Title: Re: Come ritrovare parola mancante
Post by: Piggy on May 28, 2019, 04:49:24 AM
Aspetterò la prossima bull run e allora mi converrà provare magari! Va be non è un grosso problema perchè quel LTC lo pagai veramente poco, però mi girano comunque. E si non so quale fosse la posizione della parola mancante, il che rende la cosa più difficile. Il pin serve perchè a quanto ho capito è una sorta di multisig con le 12 parole + il pin. Comunque una volta trovate le parole il pin lo potrei cambiare. Spero che il sito regga qualche anno ancora ;D
Capisco, quindi se non altro puoi sempre utilizzare un programma esterno per cercare la parola mancante (rimane sempre complicata la cosa), senza dover passare dalla loro interfaccia web fino a quando non la trovi. Per lo meno no hai grosse cifre in ballo. Ricordati sempre di fare qualche test per verificare che tu possa accedere all'indirizzo prima di cancellare le parole e metterci fondi dentro, che sia hardware o paper wallet ;)
Title: Re: Come ritrovare parola mancante
Post by: LordStapy on May 28, 2019, 06:43:49 AM
In realtà ritrovare la parola potrebbe non essere così complicato, mancano alcune incognite all'equazione per poterlo dire con certezza. Inizio chiedendo qualche info in più: - quelle 12 parole dove e come vanno utilizzate? tramite API/sito/app/altro? Ho provato a dare un'occhiata al sito e alla documentazione delle API, ma essendo sveglio da ieri diciamo che non sono lucidissimo
- senza dirci le parole in tuo possesso, hai provato a controllare se fanno tutte parte di una wordlist bip39? (link (https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md))
Tralasciando il primo punto per cui non ho abbastanza informazioni (ancora), pensiamo un secondo alla parola mancante. Se il seed usa bip39: a te manca una parola che può andare in 12 diverse posizioni e le wordlist hanno 2048 parole, quindi 12*2048 = 24576 combinazioni di cui una dovrebbe essere quella giusta. In realtà potrebbero essere di meno, ma sono stanco per mettermi a cercare e quindi ci accontenteremo del valore massimo :) Incrociando le dita il seed è un bip39 e ora hai solo "qualche" prova da fare, c'è da capire come farle... A mano non esiste, è ridicolo anche solo pensarlo (per il valore attuale ovviamente), ma uno script potrebbe fare al caso tuo: sono più veloci dell'uomo e non devono dormire, però ci sono varie possibilità: - puoi farlo in locale: scenario migliore anche se improbabile per quello che ho capito
- tramite API: c'è da vedere come funzionano e se ci sono dei limiti, ma direi comunque fattibile
- tramite sito: anche qua bisogna capire come ed eventuali limiti, l'automazione di un browser si fa, ma ci vuole un po' di sbattimento in più
- tramite app: qua non saprei dove sbattere la testa sinceramente :/
Title: Re: Come ritrovare parola mancante
Post by: Piggy on May 28, 2019, 08:46:51 AM
Tralasciando il primo punto per cui non ho abbastanza informazioni (ancora), pensiamo un secondo alla parola mancante. Se il seed usa bip39: a te manca una parola che può andare in 12 diverse posizioni e le wordlist hanno 2048 parole, quindi 12*48 = 24576 combinazioni di cui una dovrebbe essere quella giusta. In realtà potrebbero essere di meno, ma sono stanco per mettermi a cercare e quindi ci accontenteremo del valore massimo :)
effettivamente si tratta di "solo" di 2048 parole direi che e' fattibile, le combinazioni possibili sono quelle che hai scritto. Bisognerebbe prima di tutto provare a creare un nuovo account su block.io ed usare le 12 parole qui per esempio https://iancoleman.io/bip39/ per riuscire a trovare lo stesso indirizzo. Una volta verificato, testare tutte le posizioni per la parola mancante con le stesse impostazioni non dovrebbe essere un problema.
Title: Re: Come ritrovare parola mancante
Post by: duesoldi on May 28, 2019, 10:51:17 AM
effettivamente si tratta di "solo" di 2048 parole direi che e' fattibile, le combinazioni possibili sono quelle che hai scritto.
Bisognerebbe prima di tutto provare a creare un nuovo account su block.io ed usare le 12 parole qui per esempio https://iancoleman.io/bip39/ per riuscire a trovare lo stesso indirizzo. Una volta verificato, testare tutte le posizioni per la parola mancante con le stesse impostazioni non dovrebbe essere un problema.
Tendenzialmente escluderei dalle 2048 le 11 che già conosce, non penso che una parola possa essere ripetuta, dico bene ? Così abbiamo già abbassato drasticamente il numero ;D Per fare le prove: se si potesse in locale ok (ma non è questo il caso), tuttavia facendo le prove da sito web o via API mi stupirei se consentissero un brute force senza introdurre dei ritardi dopo 3 o 5 tentativi (un po' come avviene con Unix/Linux) e questo (cioè il tempo di attesa dopo n tentativi) temo diventi il vero ostacolo dell'andare a tentativi. Sbaglio ?
Title: Re: Come ritrovare parola mancante
Post by: Piggy on May 28, 2019, 11:07:04 AM
Tendenzialmente escluderei dalle 2048 le 11 che già conosce, non penso che una parola possa essere ripetuta, dico bene ? Così abbiamo già abbassato drasticamente il numero ;D
Per fare le prove: se si potesse in locale ok (ma non è questo il caso), tuttavia facendo le prove da sito web o via API mi stupirei se consentissero un brute force senza introdurre dei ritardi dopo 3 o 5 tentativi (un po' come avviene con Unix/Linux) e questo (cioè il tempo di attesa dopo n tentativi) temo diventi il vero ostacolo dell'andare a tentativi. Sbaglio ?
Dipende da come hanno implementato loro il passaggio da frase mnemonica a chiave privata, se ci hanno infilato qualche altro passaggio intermedio allora bisogna per forza fare i tentativi attraverso la loro interfaccia. Ad esempio oltre alle parole puoi usare una password in fase di generazione. Se invece le parole possono essere usate direttamente per riottenere la chiave privata con tool o programmi esterni allora quel numero di tentativi per trovare la parola giusta sembrerebbe abbastanza semplice. Comunque non conosco molto bene questi sistemi. :-\ Potremmo comunque fare un esperimento, ho creato un account su block.io, le parole segrete sono: bless wage during setup review cupboard symbol lake release coin live championil pin non ci interessa Questi sono gli indirizzi ottenuti: BTC: 3EY5TTmLDm2oRMudVPPwbUX3dHdvtVWeWa LTC: 37WXhx8oJAP39S1WMeyWLqe2L9ifkGFBmo Or bisogna provare a vedere se si riesce ad ottenere quegli indirizzi usando quelle parole. ;D
Title: Re: Come ritrovare parola mancante
Post by: LordStapy on May 28, 2019, 11:57:33 AM
le combinazioni possibili sono quelle che hai scritto.
L'ultima parola del seed è un checksum, per questo dicevo che potrebbero essere di meno (404 voglia di calcolare not found) Tendenzialmente escluderei dalle 2048 le 11 che già conosce, non penso che una parola possa essere ripetuta, dico bene ? Così abbiamo già abbassato drasticamente il numero ;D
In realtà non c'è nulla che vieti la ripetizione di una parola all'interno di un seed, non ricordo in che occasione ma l'ho già visto succedere. Anzi, magari è stato proprio un doppione a fargli perdere una parola e diventa un attimo provare 132 combinazioni! ;D Leggendo qua (https://bitcoin.stackexchange.com/questions/59904/does-bip39-mnemonic-construction-avoid-repeating-words), applicando il paradosso del compleanno al bip39 si può anche calcolare la probabilità di avere un doppione, per 12 parole la probabilità è del ~3% bless wage during setup review cupboard symbol lake release coin live champion
il pin non ci interessa
Questi sono gli indirizzi ottenuti:
BTC: 3EY5TTmLDm2oRMudVPPwbUX3dHdvtVWeWa LTC: 37WXhx8oJAP39S1WMeyWLqe2L9ifkGFBmo
Or bisogna provare a vedere se si riesce ad ottenere quegli indirizzi usando quelle parole. ;D
Le parole le hai inserite tu o te le ha date il sito? Gli indirizzi di block.io sono dei multisig, senza le loro chiavi pubbliche non c'è modo di fare delle prove :-\
Title: Re: Come ritrovare parola mancante
Post by: Piggy on May 29, 2019, 05:13:17 AM
Le parole le hai inserite tu o te le ha date il sito? Gli indirizzi di block.io sono dei multisig, senza le loro chiavi pubbliche non c'è modo di fare delle prove :-\
Le parole sono quelle del sito, te le da dopo l'iscrizione. Quindi temo senza la loro interfaccia ci sia ben poco da fare, a meno che le parole vengano utilizzate per generare gli indirizzi o almeno uno dei due indirizzi che controllano quello multisig. dende93 se LTC raggiunge $10k può valere la pena scrivere un programma che manda le richieste direttamente al sito, in automatico, fino a quando non trova quella giusta, nel caso fammi sapere che ti do una mano ;D
Title: Re: Come ritrovare parola mancante
Post by: CryptoReggae on May 29, 2019, 08:26:33 AM
Basterebbe un bot che vada in automatico ad inserire la parola mancante presa dal dizionario, per me non sarebbe un problema, ma come si dice in questi casi "la spesa non vale l'impresa".
Title: Re: Come ritrovare parola mancante
Post by: jack0m on May 29, 2019, 09:45:26 AM
Le parole le hai inserite tu o te le ha date il sito? Gli indirizzi di block.io sono dei multisig, senza le loro chiavi pubbliche non c'è modo di fare delle prove :-\
Le parole sono quelle del sito, te le da dopo l'iscrizione. Quindi temo senza la loro interfaccia ci sia ben poco da fare, a meno che le parole vengano utilizzate per generare gli indirizzi o almeno uno dei due indirizzi che controllano quello multisig. dende93 se LTC raggiunge $10k può valere la pena scrivere un programma che manda le richieste direttamente al sito, in automatico, fino a quando non trova quella giusta, nel caso fammi sapere che ti do una mano ;D si potrebbe sfruttare qualche utility già esistente che fa fuzzing sul sito, tipo burp ad esempio, dandogli in pasto una wordlist con tutte le combinazioni da provare. Questo almeno in teoria, perché mi aspetto che se il sito ha delle policy decenti di sicurezza, dopo un certo numero di tentativi sbagliati faccia scattare un blocco temporaneo dell'account o metta un captcha nella pagina
Title: Re: Come ritrovare parola mancante
Post by: alexrossi on May 31, 2019, 05:35:07 PM
Secondo me riesci a recupeare l'LTC solo se la parola mancante era all'inizio o alla fine del seed, altrimenti davvero non ha senso sbattere la testa
Title: Re: Come ritrovare parola mancante
Post by: duesoldi on May 31, 2019, 08:07:36 PM
Secondo me riesci a recupeare l'LTC solo se la parola mancante era all'inizio o alla fine del seed, altrimenti davvero non ha senso sbattere la testa
Perché ? cosa cambia tra l'inizio/fine ed una qualsiasi posizione intermedia in termini probabilistici ? ??? (ovviamente a parità di numero di posizioni da provare, cioè che ne so la terza e la quarta al posto della prima e dell'ultima)
Title: Re: Come ritrovare parola mancante
Post by: jack0m on May 31, 2019, 09:31:41 PM
Per curiosità mi sono registrato e ho fatto una prova di modifica del PIN inserendo un mnemonic sbagliato. Sembra che ci sia una buona notizia: la validazione avviene lato client, senza inviare nessuna richiesta al server. Quindi in teoria si potrebbe prendere il javascript della pagina e fare un brute-force in locale. Immagino però che il codice sia offuscato, e al momento non ho proprio tempo di verificare.
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 01, 2019, 04:12:31 AM
Per curiosità mi sono registrato e ho fatto una prova di modifica del PIN inserendo un mnemonic sbagliato. Sembra che ci sia una buona notizia: la validazione avviene lato client, senza inviare nessuna richiesta al server. Quindi in teoria si potrebbe prendere il javascript della pagina e fare un brute-force in locale. Immagino però che il codice sia offuscato, e al momento non ho proprio tempo di verificare.
Interessante, magari fa solo una verifica sull'ordine delle parole usando il checksum. Non ho tempo nemmeno io di controllare prima di lunedì, ma dovrebbe essere possibile usare il codice così com'è per trovare la parola anche se offuscato.
Title: Re: Come ritrovare parola mancante
Post by: jack0m on June 01, 2019, 10:36:27 AM
Eccolo qua lo script: non è neanche offuscato! https://block.io/js/secure/secrets_worker.js?v=7 (https://block.io/js/secure/secrets_worker.js?v=7) // import all the cryptojs and bitcoinjs goodness we need importScripts('/js/secure/crypto-js.min.js'); importScripts('/js/secure/bitcoinjs-3.3.2-custom.js'); importScripts('/js/secure/bip39-min.js'); importScripts('/js/secure/secrets_helper.js');
function removeJunkSpaces(str) { // trim()s the string, and removes all but a single spaces from in between words
var nSplits = str.split(' '); var iData = nSplits.pop(); var mSplits = []; while (iData != undefined) { if (iData.length > 0) { mSplits.push(iData); } iData = nSplits.pop(); }
str = mSplits.reverse().join(' ');
return str; }
function changeSecrets(pin_set, curPin, mnemonic, newPin, newPinConfirm, secrets, pubkeys, csrf_token) { // inputs: does this user's secret exist?, array of API Keys
// notify that we're starting postMessage({message: 'Initiating PIN change...', mType: 'success', layout: 'bottomRight'}); // validate the new secret pin mnemonicSeed = pinToAesKey(newPin)['mnemonicSeed'];
// console.log(mnemonicSeed); newMnemonic = BIP39.entropyToMnemonic(mnemonicSeed); // console.log(BIP39.entropyToMnemonic(mnemonicSeed)); // console.log(BIP39.mnemonicToEntropy(BIP39.entropyToMnemonic(mnemonicSeed))); // console.log(CryptoJS.enc.Hex.parse(BIP39.mnemonicToEntropy(mnemonic)).toString(CryptoJS.enc.Utf8)); if (newPin != newPinConfirm) { postMessage({message: 'New PINs do not match!', mType: 'error'}); return false; } if (newPin.length < 8) { postMessage({message: "New PIN is too short, must be at least 8 characters long.", mType: 'error'}); return false; } if (!isAlphaNumeric(newPin)) { postMessage({message: "New PIN is not alpha-numeric. PINs can only contain letters, and digits. PINs are case-sensitive.", mType: 'error'}); return false; } signatures = new Array(); data_to_sign = CryptoJS.SHA256(csrf_token).toString(CryptoJS.enc.Hex); // the sha256 hash of our csrf_token will be signed whenever changing secrets on block.io // console.log("CSRF Token: "+csrf_token); // console.log("Data to Sign: "+data_to_sign); seeds = new Array();
// parse the scripts from the arguments secrets = JSON.parse(secrets); pubkeys = JSON.parse(pubkeys); // validate the old secret pin if pin_set == true if (pin_set) { // validate existing PIN for all networks postMessage({message: 'Decrypting Secrets with Current PIN...', mType: 'warning', layout: 'bottomRight'});
if (mnemonic.length > 0) { try {
// sanitize the mnemonic first mnemonic = removeJunkSpaces(mnemonic); // postMessage({message: 'True Mnemonic: ' + mnemonic, mType: 'warning', layout: 'bottomRight'});
curPin = BIP39.mnemonicToEntropy(mnemonic); } catch (err) { postMessage({message: 'Invalid Mnemonic provided.', mType: 'error', layout: 'topCenter'}); return false; } } for (var network in secrets) { // validate each secret try { seeds[network] = decrypt(secrets[network], curPin, (mnemonic.length > 0));
// test the decrypted seed key = bitcoin.ECPair.fromPassphrase(seeds[network]); pubkey = key.getPublicKeyBuffer().toString('hex'); if (pubkeys[network].length > 0 && pubkeys[network] != pubkey) { postMessage({message: "Invalid PIN provided.", mType: 'error'}); return false; } //pubkey MISMATCH: "+pubkey+" vs. "+pubkeys[network]); } } catch (err) { // an exception occurred, assume the decryption did not succeed postMessage({message: 'PIN is incorrect.', mType: 'error'}); return false; } } } else { // generate new seeds, we're first timers
postMessage({message: 'Generating Secrets...', mType: 'warning', layout: 'bottomRight'});
for (var network in secrets) { var newSeed = CryptoJS.lib.WordArray.random(512/8).toString(CryptoJS.enc.Hex); seeds[network] = newSeed; } } // decrypt("P5AN/N+3zeG2LSbDuDvlQWk4d7QCKFyXPISTREBZTkdad6VTs/xxxSoxsX7hMqG2", "alpha"); postMessage({message: 'Encrypting Secrets with New PIN...', mType: 'warning', layout: 'bottomRight'});
for (var network in secrets) { // generate seed strings for each network // encrypt them using the new PIN key_pre = bitcoin.ECPair.fromPassphrase(seeds[network]); encryptedB64 = encrypt(seeds[network], newPin); encryptedHex = CryptoJS.enc.Base64.parse(encryptedB64).toString(CryptoJS.enc.Hex); // console.log("seed: "+seeds[network]); // console.log("encrypted: "+encryptedB64); key = bitcoin.ECPair.fromPassphrase(seeds[network]); pubkey = key.getPublicKeyBuffer().toString('hex'); // if (pubkeys[network].length > 0 && pubkeys[network] === pubkey) { console.log("pubkey match confirmed for "+pubkey); } if (pubkeys[network].length > 0 && pubkeys[network] != pubkey) { postMessage({message: "Invalid PIN provided.", mType: 'error'}); return false; } //pubkey MISMATCH: "+pubkey+" vs. "+pubkeys[network]); } // update the encrypted secrets and pubkeys secrets[network] = encryptedB64; pubkeys[network] = pubkey; // sign the encryptedB64 string with this pubkey new_signature = key.signHex(data_to_sign); signatures[network] = new_signature // console.log("signature: " + new_signature); } // create the post data var postData = ""; for (var key in secrets) { if (postData.length > 1) { postData += "&" } postData += "passphrases["+key+"]="+ encodeURIComponent(secrets[key]); postData += "&signatures["+key+"]="+ encodeURIComponent(signatures[key]); postData += "&pubkeys["+key+"]="+ encodeURIComponent(pubkeys[key]); } // console.log("Post Data: " + postData); // console.log(JSON.stringify(secrets)); // console.log(pubkeys); // console.log(signatures); // tell the master thread to save this data at Block.io
postMessage({message: postData, mType: 'save', csrf_token: csrf_token, mnemonic: newMnemonic, pin_set: pin_set});
}
self.addEventListener('message', function(e) { var data = e.data; changeSecrets(data.pin_set, data.pin_current, data.mnemonic, data.pin_new, data.pin_new_confirm, data.secrets, data.pubkeys, data.csrf_token); }, false);
//console.log("Worker loaded!");
Direi che con poche linee di codice, si cracca con brute-force.
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 01, 2019, 01:00:23 PM
Eccolo qua lo script: non è neanche offuscato!
Direi che con poche linee di codice, si cracca con brute-force.
Bravo, magari tornerà utile anche a qualcun'altro in futuro, nel caso dovessero offuscare o cambiare qualcosa nel codice. Quelle che usa li sembrano librerie standard.
Title: Re: Come ritrovare parola mancante
Post by: jack0m on June 01, 2019, 03:54:23 PM
Il sorgente da modificare è questo: https://block.io/js/secure/secrets.js (https://block.io/js/secure/secrets.js) Sto facendo un test in Chrome con il codice modificato così (per semplificare il test, le combinazioni cambiano solo l'ultima word, ma si può generalizzare con un ciclo esterno): ma vaffanculo l'array è troppo lungo e mi sega il codice >:( va bè, si copia da qui: https://raw.githubusercontent.com/bitcoinjs/bip39/master/src/wordlists/english.json (https://raw.githubusercontent.com/bitcoinjs/bip39/master/src/wordlists/english.json) // secrets
var worker = new Worker("/js/secure/secrets_worker.js?v=7");
function goChanger(data) { // make the worker change the secret pin $('#changeSecretButton').addClass('disabled');
$('#spinlabel').addClass('hidden'); $('#spinner').removeClass('hidden'); $('#spinner').addClass('fa-spin');
var wlist = [ "abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract", "absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid", "acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual", "adapt", "add", "addict", "address", "adjust", "admit", "adult", "advance", "advice", "aerobic", "affair", "afford", "afraid", "again", "age", "agent", "agree", "ahead", "aim", "air", "airport", "aisle", "alarm", "album", "alcohol", "alert", "alien", "all", "alley", "allow", "almost", "alone", "alpha", "already", "also", "alter", "always", "amateur", "amazing", "among", "amount", "amused", "analyst", "anchor", "ancient", "anger", "angle", "angry", "animal", "ankle", "announce", "annual", "another", "answer", "antenna", "antique", "anxiety", "any", "apart", "apology", "appear", "apple", "approve", "april", "arch", "arctic", "area", "arena", "argue", "arm", "armed", "armor", "army", "around", "arrange", "arrest", "arrive", "arrow", "art", "artefact", "artist", "artwork", "ask", "aspect", "assault", "asset", "assist", "assume", "asthma", "athlete", "atom", "attack", "attend", "attitude", "attract", "auction", "audit", "august", "aunt", "author", "auto", "autumn", "average", "avocado", "avoid", "awake", "aware", "away", "awesome", "awful", "awkward", "axis", "baby", "bachelor", "bacon", "badge", "bag", "balance", "balcony", "ball", "bamboo", "banana", "banner", "bar", "barely", "bargain", "barrel", "base", "basic", "basket", "battle", "beach", "bean", "beauty", "because", "become", "beef", "before", "begin", "behave", "behind", "believe", "below", "belt", "bench", "benefit", "best", "betray", "better", "between", "beyond", "bicycle", "bid", "bike", "bind", "biology", "bird", "birth", "bitter", "black", "blade", "blame", "blanket", "blast", "bleak", "bless", "blind", "blood", "blossom", "blouse", "blue", "blur", "blush", "board", "boat", "body", "boil", "bomb", "bone", "bonus", "book", "boost", "border", "boring", "borrow", "boss", "bottom", "bounce", "box", "boy", "bracket", "brain", "brand", "brass", "brave", "bread", "breeze", "brick", "bridge", "brief", "bright", "bring", "brisk", "broccoli", "broken", "bronze", "broom", "brother", "brown", "brush", "bubble", "buddy", "budget", "buffalo", "build", "bulb", "bulk", "bullet", "bundle", "bunker", "burden", "burger", "burst", "bus", "business", "busy", "butter", "buyer", "buzz", "cabbage", "cabin", "cable", "cactus", "cage", "cake", "call", "calm", "camera", "camp", "can", "canal", "cancel", "candy", "cannon", "canoe", "canvas", "canyon", "capable", "capital", "captain", "car", "carbon", "card", "cargo", "carpet", "carry", "cart", "case", "cash", "casino", "castle", "casual", "cat", "catalog", "catch", "category", "cattle", "caught", "cause", "caution", "cave", "ceiling", "celery", "cement", "census", "century", "cereal", "certain", "chair", "chalk", "champion", "change", "chaos", "chapter", "charge", "chase", "chat", "cheap", "check", "cheese", "chef", "cherry", "chest", "chicken", "chief", "child", "chimney", "choice", "choose", "chronic", "chuckle", "chunk", "churn", "cigar", "cinnamon", "circle", "citizen", "city", "civil", "claim", "clap", "clarify", "claw", "clay", "clean", "clerk", "clever", "click", "client", "cliff", "climb", "clinic", "clip", "clock", "clog", "close", "cloth", "cloud", "clown", "club", "clump", "cluster", "clutch", "coach", "coast", "coconut", "code", "coffee", "coil", "coin", "collect", "color", "column", "combine", "come", "comfort", "comic", "common", "company", "concert", "conduct", "confirm", "congress", "connect", "consider", "control", "convince", "cook", "cool", "copper", "copy", "coral", "core", "corn", "correct", "cost", "cotton", "couch", "country", "couple", "course", "cousin", "cover", "coyote", "crack", "cradle", "craft", "cram", "crane", "crash", "crater", "crawl", "crazy", "cream", "credit", "creek", "crew", "cricket", "crime", "crisp", "critic", "crop", "cross", "crouch", "crowd", "crucial", "cruel", "cruise", "crumble", "crunch", "crush", "cry", "crystal", "cube", "culture", "cup", "cupboard", "curious", "current", "curtain", "curve", "cushion", "custom", "cute", "cycle", "dad", "damage", "damp", "dance", "danger", "daring", "dash", "daughter", "dawn", "day", "deal", "debate", "debris", "decade", "december", "decide", "decline", "decorate", "decrease", "deer", "defense", "define", "defy", "degree", "delay", "deliver", "demand", "demise", "denial", "dentist", "deny", "depart", "depend", "deposit", "depth", "deputy", "derive", "describe", "desert", "design", "desk", "despair", "destroy", "detail", "detect", "develop", "device", "devote", "diagram", "dial", "diamond", "diary", "dice", "diesel", "diet", "differ", "digital", "dignity", "dilemma", "dinner", "dinosaur", "direct", "dirt", "disagree", "discover", "disease", "dish", "dismiss", "disorder", "display", "distance", "divert", "divide", "divorce", "dizzy", "doctor", "document", "dog", "doll", "dolphin", "domain", "donate", "donkey", "donor", "door", "dose", "double", "dove", "draft", "dragon", "drama", "drastic", "draw", "dream", "dress", "drift", "drill", "drink", "drip", "drive", "drop", "drum", "dry", "duck", "dumb", "dune", "during", "dust", "dutch", "duty", "dwarf", "dynamic", "eager", "eagle", "early", "earn", "earth", "easily", "east", "easy", "echo", "ecology", "economy", "edge", "edit", "educate", "effort", "egg", "eight", "either", "elbow", "elder", "electric", "elegant", "element", "elephant", "elevator", "elite", "else", "embark", "embody", "embrace", "emerge", "emotion", "employ", "empower", "empty", "enable", "enact", "end", "endless", "endorse", "enemy", "energy", "enforce", "engage", "engine", "enhance", "enjoy", "enlist", "enough", "enrich", "enroll", "ensure", "enter", "entire", "entry", "envelope", "episode", "equal", "equip", "era", "erase", "erode", "erosion", "error", "erupt", "escape", "essay", "essence", "estate", "eternal", "ethics", "evidence", "evil", "evoke", "evolve", "exact", "example", "excess", "exchange", "excite", "exclude", "excuse", "execute", "exercise", "exhaust", "exhibit", "exile", "exist", "exit", "exotic", "expand", "expect", "expire", "explain", "expose", "express", "extend", "extra", "eye", "eyebrow", "fabric", "face", "faculty", "fade", "faint", "faith", "fall", "false", "fame", "family", "famous", "fan", "fancy", "fantasy", "farm", "fashion", "fat", "fatal", "father", "fatigue", "fault", "favorite", "feature", "february", "federal", "fee", "feed", "feel", "female", "fence", "festival", "fetch", "fever", "few", "fiber", "fiction", "field", "figure", "file", "film", "filter", "final", "find", "fine", "finger", "finish", "fire", "firm", "first", "fiscal", "fish", "fit", "fitness", "fix", "flag", "flame", "flash", "flat", "flavor", "flee", "flight", "flip", "float", "flock", "floor", "flower", "fluid", "flush", "fly", "foam", "focus", "fog", "foil", "fold", "follow", "food", "foot", "force", "forest", "forget", "fork", "fortune", "forum", "forward", "fossil", "foster", "found", "fox", "fragile", "frame", "frequent", "fresh", "friend", "fringe", "frog", "front", "frost", "frown", "frozen", "fruit", "fuel", "fun", "funny", "furnace", "fury", "future", "gadget", "gain", "galaxy", "gallery", "game", "gap", "garage", "garbage", "garden", "garlic", "garment", "gas", "gasp", "gate", "gather", "gauge", "gaze", "general", "genius", "genre", "gentle", "genuine", "gesture", "ghost", "giant", "gift", "giggle", "ginger", "giraffe", "girl", "give", "glad", "glance", "glare", "glass", "glide", "glimpse", "globe", "gloom", "glory", "glove", "glow", "glue", "goat", "goddess", "gold", "good", "goose", "gorilla", "gospel", "gossip", "govern", "gown", "grab", "grace", "grain", "grant", "grape", "grass", "gravity", "great", "green", "grid", "grief", "grit", "grocery", "group", "grow", "grunt", "guard", "guess", "guide", "guilt", "guitar", "gun", "gym", "habit", "hair", "half", "hammer", "hamster", "hand", "happy", "harbor", "hard", "harsh", "harvest", "hat", "have", "hawk", "hazard", "head", "health", "heart", "heavy", "hedgehog", "height", "hello", "helmet", "help", "hen", "hero", "hidden", "high", "hill", "hint", "hip", "hire", "history", "hobby", "hockey", "hold", "hole", "holiday", "hollow", "home", "honey", "hood", "hope", "horn", "horror", "horse", "hospital", "host", "hotel", "hour", "hover", "hub", "huge", "human", "humble", "humor", "hundred", "hungry", "hunt", "hurdle", "hurry", "hurt", "husband", "hybrid", "ice", "icon", "idea", "identify", "idle", "ignore", "ill", "illegal", "illness", "image", "imitate", "immense", "immune", "impact", "impose", "improve", "impulse", "inch", "include", "income", "increase", "index", "indicate", "indoor", "industry", "infant", "inflict", "inform", "inhale", "inherit", "initial", "inject", "injury", "inmate", "inner", "innocent", "input", "inquiry", "insane", "insect", "inside", "inspire", "install", "intact", "interest", "into", "invest", "invite", "involve", "iron", "island", "isolate", "issue", "item", "ivory", "jacket", "jaguar", "jar", "jazz", "jealous", "jeans", "jelly", "jewel", "job", "join", "joke", "journey", "joy", "judge", "juice", "jump", "jungle", "junior", "junk", "just", "kangaroo", "keen", "keep", "ketchup", "key", "kick", "kid", "kidney", "kind", "kingdom", "kiss", "kit", "kitchen", "kite", "kitten", "kiwi", "knee", "knife", "knock", "know", "lab", "label", "labor", "ladder", "lady", "lake", "lamp", "language", "laptop", "large", "later", "latin", "laugh", "laundry", "lava", "law", "lawn", "lawsuit", "layer", "lazy", "leader", "leaf", "learn", "leave", "lecture", "left", "leg", "legal", "legend", "leisure", "lemon", "lend", "length", "lens", "leopard", "lesson", "letter", "level", "liar", "liberty", "library", "license", "life", "lift", "light", "like", "limb", "limit", "link", "lion", "liquid", "list", "little", "live", "lizard", "load", "loan", "lobster", "local", "lock", "logic", "lonely", "long", "loop", "lottery", "loud", "lounge", "love", "loyal", "lucky", "luggage", "lumber", "lunar", "lunch", "luxury", "lyrics", "machine", [...] "zebra", "zero", "zone", "zoo"];
var m=data.mnemonic; for (var i = 0; i < wlist.length; i++) { data.mnemonic=m+" "+wlist[i]; worker.postMessage(data); } }
var savedPostData = ""; var savedCSRFToken = ""; var savedMnemonic = ""; var firstTime = false;
worker.addEventListener('message', function(event) { if (event.data.mType == 'save') { // show user the mnemonic
savedPostData = event.data.message; savedCSRFToken = event.data.csrf_token; savedMnemonic = event.data.mnemonic; firstTime = !(event.data.pin_set);
$('#spinlabel').removeClass('hidden'); $('#spinner').addClass('hidden'); $('#spinner').removeClass('fa-spin');
// show mnemonic showMnemonic();
} else { if (event.data.mType == 'error') { $('#changeSecretButton').removeClass('disabled'); $('#spinlabel').removeClass('hidden'); $('#spinner').addClass('hidden'); $('#spinner').removeClass('fa-spin'); }
if ('layout' in event.data && event.data.layout == 'topCenter') { noty({text: event.data.message, type: event.data.mType, layout: event.data.layout}); } else { noty({text: event.data.message, type: event.data.mType, layout: 'topCenter'}); } } }, false);
function overwriteMnemonic() { savedMnemonic = CryptoJS.lib.WordArray.random(512/8).toString(CryptoJS.enc.Hex); }
function showMnemonic() { // show the mnemonic to the user
$('#mnemonicText').html('<em>'+savedMnemonic+'</em>'); $('#modalMnemonic').modal('show');
}
function sendSecrets() { // send the secrets we generated to Block.io
$('#saveSecretsButton').addClass("disabled"); $('#cancelSecretsButton').addClass('hidden'); $("#isPayingAttention").attr("disabled", true); $('#senderSpinlabel').addClass('hidden'); $('#senderSpinner').removeClass('hidden'); $('#senderSpinner').addClass('fa-spin'); // the user was indeed paying attention, let's save their secrets noty({text: 'Sending Signed Secrets...', type: 'warning', layout: 'topCenter'}); base_url = String(window.location).replace(String(window.location.pathname), '').split('?')[0];
$.ajax({ type: "POST", beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', savedCSRFToken)}, url: "/api/v2/change_secrets", // (base_url+"/api/v2/change_secrets/"), data: savedPostData, // post data dataType: "json", // data: { secrets: secrets, pubkeys: pubkeys, signatures: signatures }, success: function(data, textStatus, jqXHR) { // successful response
// overwrite the mnemonic, we don't need it anymore overwriteMnemonic();
// show the appropriate notifications noty({text: 'PIN changed successfully', type: 'success', layout: 'topCenter'}); noty({text: 'Please wait...', type: 'warning', layout: 'topCenter'}); setTimeout(reloadPage,5000,firstTime); }, error: function (jqXHR, textStatus, errorThrown) { // error occurred
$('#saveSecretsButton').removeClass("disabled"); $("#isPayingAttention").removeAttr("disabled"); $('#cancelSecretsButton').removeClass('hidden');
$('#senderSpinlabel').removeClass('hidden'); $('#senderSpinner').addClass('hidden'); $('#senderSpinner').removeClass('fa-spin'); try { parsedError = JSON.parse(jqXHR.responseText); noty({text: parsedError.data.error_message, type: 'error', layout: 'topCenter'}); } catch (err) { noty({text: 'Unable to change secrets. Please report this error.', type: 'error', layout: 'topCenter'}); } } }); }
ci mette una decina di secondi per ogni combinazione, quindi ci vorrà un po' ;) EDIT: confermo: PIN craccato :D
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 02, 2019, 09:24:17 AM
ci si può anche aiutare con questo codice in python per verificare quale combinazioni sono corrette (tutto aiuta :)), ci mette pochi secondi: import mnemonic
english = ["abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract", "absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid", "acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual", "adapt", "add", "addict", "address", "adjust", "admit", "adult", "advance", "advice", "aerobic", "affair", "afford", "afraid", "again", "age", "agent", "agree", "ahead", "aim", "air", "airport", "aisle", "alarm", "album", "alcohol", "alert", "alien", "all", "alley", "allow", "almost", "alone", "alpha", "already", "also", "alter", "always", "amateur", "amazing", "among", "amount", "amused", "analyst", "anchor", "ancient", "anger", "angle", "angry", "animal", "ankle", "announce", "annual", "another", "answer", "antenna", "antique", "anxiety", "any", "apart", "apology", "appear", "apple", "approve", "april", "arch", "arctic", "area", "arena", "argue", "arm", "armed", "armor", "army", "around", "arrange", "arrest", "arrive", "arrow", "art", "artefact", "artist", "artwork", "ask", "aspect", "assault", "asset", "assist", "assume", "asthma", "athlete", "atom", "attack", "attend", "attitude", "attract", "auction", "audit", "august", "aunt", "author", "auto", "autumn", "average", "avocado", "avoid", "awake", "aware", "away", "awesome", "awful", "awkward", "axis", "baby", "bachelor", "bacon", "badge", "bag", "balance", "balcony", "ball", "bamboo", "banana", "banner", "bar", "barely", "bargain", "barrel", "base", "basic", "basket", "battle", "beach", "bean", "beauty", "because", "become", "beef", "before", "begin", "behave", "behind", "believe", "below", "belt", "bench", "benefit", "best", "betray", "better", "between", "beyond", "bicycle", "bid", "bike", "bind", "biology", "bird", "birth", "bitter", "black", "blade", "blame", "blanket", "blast", "bleak", "bless", "blind", "blood", "blossom", "blouse", "blue", "blur", "blush", "board", "boat", "body", "boil", "bomb", "bone", "bonus", "book", "boost", "border", "boring", "borrow", "boss", "bottom", "bounce", "box", "boy", "bracket", "brain", "brand", "brass", "brave", "bread", "breeze", "brick", "bridge", "brief", "bright", "bring", "brisk", "broccoli", "broken", "bronze", "broom", "brother", "brown", "brush", "bubble", "buddy", "budget", "buffalo", "build", "bulb", "bulk", "bullet", "bundle", "bunker", "burden", "burger", "burst", "bus", "business", "busy", "butter", "buyer", "buzz", "cabbage", "cabin", "cable", "cactus", "cage", "cake", "call", "calm", "camera", "camp", "can", "canal", "cancel", "candy", "cannon", "canoe", "canvas", "canyon", "capable", "capital", "captain", "car", "carbon", "card", "cargo", "carpet", "carry", "cart", "case", "cash", "casino", "castle", "casual", "cat", "catalog", "catch", "category", "cattle", "caught", "cause", "caution", "cave", "ceiling", "celery", "cement", "census", "century", "cereal", "certain", "chair", "chalk", "champion", "change", "chaos", "chapter", "charge", "chase", "chat", "cheap", "check", "cheese", "chef", "cherry", "chest", "chicken", "chief", "child", "chimney", "choice", "choose", "chronic", "chuckle", "chunk", "churn", "cigar", "cinnamon", "circle", "citizen", "city", "civil", "claim", "clap", "clarify", "claw", "clay", "clean", "clerk", "clever", "click", "client", "cliff", "climb", "clinic", "clip", "clock", "clog", "close", "cloth", "cloud", "clown", "club", "clump", "cluster", "clutch", "coach", "coast", "coconut", "code", "coffee", "coil", "coin", "collect", "color", "column", "combine", "come", "comfort", "comic", "common", "company", "concert", "conduct", "confirm", "congress", "connect", "consider", "control", "convince", "cook", "cool", "copper", "copy", "coral", "core", "corn", "correct", "cost", "cotton", "couch", "country", "couple", "course", "cousin", "cover", "coyote", "crack", "cradle", "craft", "cram", "crane", "crash", "crater", "crawl", "crazy", "cream", "credit", "creek", "crew", "cricket", "crime", "crisp", "critic", "crop", "cross", "crouch", "crowd", "crucial", "cruel", "cruise", "crumble", "crunch", "crush", "cry", "crystal", "cube", "culture", "cup", "cupboard", "curious", "current", "curtain", "curve", "cushion", "custom", "cute", "cycle", "dad", "damage", "damp", "dance", "danger", "daring", "dash", "daughter", "dawn", "day", "deal", "debate", "debris", "decade", "december", "decide", "decline", "decorate", "decrease", "deer", "defense", "define", "defy", "degree", "delay", "deliver", "demand", "demise", "denial", "dentist", "deny", "depart", "depend", "deposit", "depth", "deputy", "derive", "describe", "desert", "design", "desk", "despair", "destroy", "detail", "detect", "develop", "device", "devote", "diagram", "dial", "diamond", "diary", "dice", "diesel", "diet", "differ", "digital", "dignity", "dilemma", "dinner", "dinosaur", "direct", "dirt", "disagree", "discover", "disease", "dish", "dismiss", "disorder", "display", "distance", "divert", "divide", "divorce", "dizzy", "doctor", "document", "dog", "doll", "dolphin", "domain", "donate", "donkey", "donor", "door", "dose", "double", "dove", "draft", "dragon", "drama", "drastic", "draw", "dream", "dress", "drift", "drill", "drink", "drip", "drive", "drop", "drum", "dry", "duck", "dumb", "dune", "during", "dust", "dutch", "duty", "dwarf", "dynamic", "eager", "eagle", "early", "earn", "earth", "easily", "east", "easy", "echo", "ecology", "economy", "edge", "edit", "educate", "effort", "egg", "eight", "either", "elbow", "elder", "electric", "elegant", "element", "elephant", "elevator", "elite", "else", "embark", "embody", "embrace", "emerge", "emotion", "employ", "empower", "empty", "enable", "enact", "end", "endless", "endorse", "enemy", "energy", "enforce", "engage", "engine", "enhance", "enjoy", "enlist", "enough", "enrich", "enroll", "ensure", "enter", "entire", "entry", "envelope", "episode", "equal", "equip", "era", "erase", "erode", "erosion", "error", "erupt", "escape", "essay", "essence", "estate", "eternal", "ethics", "evidence", "evil", "evoke", "evolve", "exact", "example", "excess", "exchange", "excite", "exclude", "excuse", "execute", "exercise", "exhaust", "exhibit", "exile", "exist", "exit", "exotic", "expand", "expect", "expire", "explain", "expose", "express", "extend", "extra", "eye", "eyebrow", "fabric", "face", "faculty", "fade", "faint", "faith", "fall", "false", "fame", "family", "famous", "fan", "fancy", "fantasy", "farm", "fashion", "fat", "fatal", "father", "fatigue", "fault", "favorite", "feature", "february", "federal", "fee", "feed", "feel", "female", "fence", "festival", "fetch", "fever", "few", "fiber", "fiction", "field", "figure", "file", "film", "filter", "final", "find", "fine", "finger", "finish", "fire", "firm", "first", "fiscal", "fish", "fit", "fitness", "fix", "flag", "flame", "flash", "flat", "flavor", "flee", "flight", "flip", "float", "flock", "floor", "flower", "fluid", "flush", "fly", "foam", "focus", "fog", "foil", "fold", "follow", "food", "foot", "force", "forest", "forget", "fork", "fortune", "forum", "forward", "fossil", "foster", "found", "fox", "fragile", "frame", "frequent", "fresh", "friend", "fringe", "frog", "front", "frost", "frown", "frozen", "fruit", "fuel", "fun", "funny", "furnace", "fury", "future", "gadget", "gain", "galaxy", "gallery", "game", "gap", "garage", "garbage", "garden", "garlic", "garment", "gas", "gasp", "gate", "gather", "gauge", "gaze", "general", "genius", "genre", "gentle", "genuine", "gesture", "ghost", "giant", "gift", "giggle", "ginger", "giraffe", "girl", "give", "glad", "glance", "glare", "glass", "glide", "glimpse", "globe", "gloom", "glory", "glove", "glow", "glue", "goat", "goddess", "gold", "good", "goose", "gorilla", "gospel", "gossip", "govern", "gown", "grab", "grace", "grain", "grant", "grape", "grass", "gravity", "great", "green", "grid", "grief", "grit", "grocery", "group", "grow", "grunt", "guard", "guess", "guide", "guilt", "guitar", "gun", "gym", "habit", "hair", "half", "hammer", "hamster", "hand", "happy", "harbor", "hard", "harsh", "harvest", "hat", "have", "hawk", "hazard", "head", "health", "heart", "heavy", "hedgehog", "height", "hello", "helmet", "help", "hen", "hero", "hidden", "high", "hill", "hint", "hip", "hire", "history", "hobby", "hockey", "hold", "hole", "holiday", "hollow", "home", "honey", "hood", "hope", "horn", "horror", "horse", "hospital", "host", "hotel", "hour", "hover", "hub", "huge", "human", "humble", "humor", "hundred", "hungry", "hunt", "hurdle", "hurry", "hurt", "husband", "hybrid", "ice", "icon", "idea", "identify", "idle", "ignore", "ill", "illegal", "illness", "image", "imitate", "immense", "immune", "impact", "impose", "improve", "impulse", "inch", "include", "income", "increase", "index", "indicate", "indoor", "industry", "infant", "inflict", "inform", "inhale", "inherit", "initial", "inject", "injury", "inmate", "inner", "innocent", "input", "inquiry", "insane", "insect", "inside", "inspire", "install", "intact", "interest", "into", "invest", "invite", "involve", "iron", "island", "isolate", "issue", "item", "ivory", "jacket", "jaguar", "jar", "jazz", "jealous", "jeans", "jelly", "jewel", "job", "join", "joke", "journey", "joy", "judge", "juice", "jump", "jungle", "junior", "junk", "just", "kangaroo", "keen", "keep", "ketchup", "key", "kick", "kid", "kidney", "kind", "kingdom", "kiss", "kit", "kitchen", "kite", "kitten", "kiwi", "knee", "knife", "knock", "know", "lab", "label", "labor", "ladder", "lady", "lake", "lamp", "language", "laptop", "large", "later", "latin", "laugh", "laundry", "lava", "law", "lawn", "lawsuit", "layer", "lazy", "leader", "leaf", "learn", "leave", "lecture", "left", "leg", "legal", "legend", "leisure", "lemon", "lend", "length", "lens", "leopard", "lesson", "letter", "level", "liar", "liberty", "library", "license", "life", "lift", "light", "like", "limb", "limit", "link", "lion", "liquid", "list", "little", "live", "lizard", "load", "loan", "lobster", "local", "lock", "logic", "lonely", "long", "loop", "lottery", "loud", "lounge", "love", "loyal", "lucky", "luggage", "lumber", "lunar", "lunch", "luxury", "lyrics", "machine", "mad", "magic", "magnet", "maid", "mail", "main", "major", "make", "mammal", "man", "manage", "mandate", "mango", "mansion", "manual", "maple", "marble", "march", "margin", "marine", "market", "marriage", "mask", "mass", "master", "match", "material", "math", "matrix", "matter", "maximum", "maze", "meadow", "mean", "measure", "meat", "mechanic", "medal", "media", "melody", "melt", "member", "memory", "mention", "menu", "mercy", "merge", "merit", "merry", "mesh", "message", "metal", "method", "middle", "midnight", "milk", "million", "mimic", "mind", "minimum", "minor", "minute", "miracle", "mirror", "misery", "miss", "mistake", "mix", "mixed", "mixture", "mobile", "model", "modify", "mom", "moment", "monitor", "monkey", "monster", "month", "moon", "moral", "more", "morning", "mosquito", "mother", "motion", "motor", "mountain", "mouse", "move", "movie", "much", "muffin", "mule", "multiply", "muscle", "museum", "mushroom", "music", "must", "mutual", "myself", "mystery", "myth", "naive", "name", "napkin", "narrow", "nasty", "nation", "nature", "near", "neck", "need", "negative", "neglect", "neither", "nephew", "nerve", "nest", "net", "network", "neutral", "never", "news", "next", "nice", "night", "noble", "noise", "nominee", "noodle", "normal", "north", "nose", "notable", "note", "nothing", "notice", "novel", "now", "nuclear", "number", "nurse", "nut", "oak", "obey", "object", "oblige", "obscure", "observe", "obtain", "obvious", "occur", "ocean", "october", "odor", "off", "offer", "office", "often", "oil", "okay", "old", "olive", "olympic", "omit", "once", "one", "onion", "online", "only", "open", "opera", "opinion", "oppose", "option", "orange", "orbit", "orchard", "order", "ordinary", "organ", "orient", "original", "orphan", "ostrich", "other", "outdoor", "outer", "output", "outside", "oval", "oven", "over", "own", "owner", "oxygen", "oyster", "ozone", "pact", "paddle", "page", "pair", "palace", "palm", "panda", "panel", "panic", "panther", "paper", "parade", "parent", "park", "parrot", "party", "pass", "patch", "path", "patient", "patrol", "pattern", "pause", "pave", "payment", "peace", "peanut", "pear", "peasant", "pelican", "pen", "penalty", "pencil", "people", "pepper", "perfect", "permit", "person", "pet", "phone", "photo", "phrase", "physical", "piano", "picnic", "picture", "piece", "pig", "pigeon", "pill", "pilot", "pink", "pioneer", "pipe", "pistol", "pitch", "pizza", "place", "planet", "plastic", "plate", "play", "please", "pledge", "pluck", "plug", "plunge", "poem", "poet", "point", "polar", "pole", "police", "pond", "pony", "pool", "popular", "portion", "position", "possible", "post", "potato", "pottery", "poverty", "powder", "power", "practice", "praise", "predict", "prefer", "prepare", "present", "pretty", "prevent", "price", "pride", "primary", "print", "priority", "prison", "private", "prize", "problem", "process", "produce", "profit", "program", "project", "promote", "proof", "property", "prosper", "protect", "proud", "provide", "public", "pudding", "pull", "pulp", "pulse", "pumpkin", "punch", "pupil", "puppy", "purchase", "purity", "purpose", "purse", "push", "put", "puzzle", "pyramid", "quality", "quantum", "quarter", "question", "quick", "quit", "quiz", "quote", "rabbit", "raccoon", "race", "rack", "radar", "radio", "rail", "rain", "raise", "rally", "ramp", "ranch", "random", "range", "rapid", "rare", "rate", "rather", "raven", "raw", "razor", "ready", "real", "reason", "rebel", "rebuild", "recall", "receive", "recipe", "record", "recycle", "reduce", "reflect", "reform", "refuse", "region", "regret", "regular", "reject", "relax", "release", "relief", "rely", "remain", "remember", "remind", "remove", "render", "renew", "rent", "reopen", "repair", "repeat", "replace", "report", "require", "rescue", "resemble", "resist", "resource", "response", "result", "retire", "retreat", "return", "reunion", "reveal", "review", "reward", "rhythm", "rib", "ribbon", "rice", "rich", "ride", "ridge", "rifle", "right", "rigid", "ring", "riot", "ripple", "risk", "ritual", "rival", "river", "road", "roast", "robot", "robust", "rocket", "romance", "roof", "rookie", "room", "rose", "rotate", "rough", "round", "route", "royal", "rubber", "rude", "rug", "rule", "run", "runway", "rural", "sad", "saddle", "sadness", "safe", "sail", "salad", "salmon", "salon", "salt", "salute", "same", "sample", "sand", "satisfy", "satoshi", "sauce", "sausage", "save", "say", "scale", "scan", "scare", "scatter", "scene", "scheme", "school", "science", "scissors", "scorpion", "scout", "scrap", "screen", "script", "scrub", "sea", "search", "season", "seat", "second", "secret", "section", "security", "seed", "seek", "segment", "select", "sell", "seminar", "senior", "sense", "sentence", "series", "service", "session", "settle", "setup", "seven", "shadow", "shaft", "shallow", "share", "shed", "shell", "sheriff", "shield", "shift", "shine", "ship", "shiver", "shock", "shoe", "shoot", "shop", "short", "shoulder", "shove", "shrimp", "shrug", "shuffle", "shy", "sibling", "sick", "side", "siege", "sight", "sign", "silent", "silk", "silly", "silver", "similar", "simple", "since", "sing", "siren", "sister", "situate", "six", "size", "skate", "sketch", "ski", "skill", "skin", "skirt", "skull", "slab", "slam", "sleep", "slender", "slice", "slide", "slight", "slim", "slogan", "slot", "slow", "slush", "small", "smart", "smile", "smoke", "smooth", "snack", "snake", "snap", "sniff", "snow", "soap", "soccer", "social", "sock", "soda", "soft", "solar", "soldier", "solid", "solution", "solve", "someone", "song", "soon", "sorry", "sort", "soul", "sound", "soup", "source", "south", "space", "spare", "spatial", "spawn", "speak", "special", "speed", "spell", "spend", "sphere", "spice", "spider", "spike", "spin", "spirit", "split", "spoil", "sponsor", "spoon", "sport", "spot", "spray", "spread", "spring", "spy", "square", "squeeze", "squirrel", "stable", "stadium", "staff", "stage", "stairs", "stamp", "stand", "start", "state", "stay", "steak", "steel", "stem", "step", "stereo", "stick", "still", "sting", "stock", "stomach", "stone", "stool", "story", "stove", "strategy", "street", "strike", "strong", "struggle", "student", "stuff", "stumble", "style", "subject", "submit", "subway", "success", "such", "sudden", "suffer", "sugar", "suggest", "suit", "summer", "sun", "sunny", "sunset", "super", "supply", "supreme", "sure", "surface", "surge", "surprise", "surround", "survey", "suspect", "sustain", "swallow", "swamp", "swap", "swarm", "swear", "sweet", "swift", "swim", "swing", "switch", "sword", "symbol", "symptom", "syrup", "system", "table", "tackle", "tag", "tail", "talent", "talk", "tank", "tape", "target", "task", "taste", "tattoo", "taxi", "teach", "team", "tell", "ten", "tenant", "tennis", "tent", "term", "test", "text", "thank", "that", "theme", "then", "theory", "there", "they", "thing", "this", "thought", "three", "thrive", "throw", "thumb", "thunder", "ticket", "tide", "tiger", "tilt", "timber", "time", "tiny", "tip", "tired", "tissue", "title", "toast", "tobacco", "today", "toddler", "toe", "together", "toilet", "token", "tomato", "tomorrow", "tone", "tongue", "tonight", "tool", "tooth", "top", "topic", "topple", "torch", "tornado", "tortoise", "toss", "total", "tourist", "toward", "tower", "town", "toy", "track", "trade", "traffic", "tragic", "train", "transfer", "trap", "trash", "travel", "tray", "treat", "tree", "trend", "trial", "tribe", "trick", "trigger", "trim", "trip", "trophy", "trouble", "truck", "true", "truly", "trumpet", "trust", "truth", "try", "tube", "tuition", "tumble", "tuna", "tunnel", "turkey", "turn", "turtle", "twelve", "twenty", "twice", "twin", "twist", "two", "type", "typical", "ugly", "umbrella", "unable", "unaware", "uncle", "uncover", "under", "undo", "unfair", "unfold", "unhappy", "uniform", "unique", "unit", "universe", "unknown", "unlock", "until", "unusual", "unveil", "update", "upgrade", "uphold", "upon", "upper", "upset", "urban", "urge", "usage", "use", "used", "useful", "useless", "usual", "utility", "vacant", "vacuum", "vague", "valid", "valley", "valve", "van", "vanish", "vapor", "various", "vast", "vault", "vehicle", "velvet", "vendor", "venture", "venue", "verb", "verify", "version", "very", "vessel", "veteran", "viable", "vibrant", "vicious", "victory", "video", "view", "village", "vintage", "violin", "virtual", "virus", "visa", "visit", "visual", "vital", "vivid", "vocal", "voice", "void", "volcano", "volume", "vote", "voyage", "wage", "wagon", "wait", "walk", "wall", "walnut", "want", "warfare", "warm", "warrior", "wash", "wasp", "waste", "water", "wave", "way", "wealth", "weapon", "wear", "weasel", "weather", "web", "wedding", "weekend", "weird", "welcome", "west", "wet", "whale", "what", "wheat", "wheel", "when", "where", "whip", "whisper", "wide", "width", "wife", "wild", "will", "win", "window", "wine", "wing", "wink", "winner", "winter", "wire", "wisdom", "wise", "wish", "witness", "wolf", "woman", "wonder", "wood", "wool", "word", "work", "world", "worry", "worth", "wrap", "wreck", "wrestle", "wrist", "write", "wrong", "yard", "year", "yellow", "you", "young", "youth", "zebra", "zero", "zone", "zoo"]
mnemonicphrase = "wage during setup review cupboard symbol lake release coin live champion"
m = mnemonic.Mnemonic('english') for word in english: tested = word + ' ' + mnemonicphrase if m.check(tested): print tested usa questa libreria https://github.com/trezor/python-mnemonic facendo finta che non mi ricordassi l'ultima parola del mio mnemonic seed, ha tirato fuori questa lista di seed validi che include la parola mancante (in bold): bless wage during setup review cupboard symbol lake release coin live abstract bless wage during setup review cupboard symbol lake release coin live acoustic bless wage during setup review cupboard symbol lake release coin live affair bless wage during setup review cupboard symbol lake release coin live almost bless wage during setup review cupboard symbol lake release coin live antique bless wage during setup review cupboard symbol lake release coin live apology bless wage during setup review cupboard symbol lake release coin live art bless wage during setup review cupboard symbol lake release coin live asthma bless wage during setup review cupboard symbol lake release coin live bachelor bless wage during setup review cupboard symbol lake release coin live battle bless wage during setup review cupboard symbol lake release coin live better bless wage during setup review cupboard symbol lake release coin live blame bless wage during setup review cupboard symbol lake release coin live body bless wage during setup review cupboard symbol lake release coin live brick bless wage during setup review cupboard symbol lake release coin live broccoli bless wage during setup review cupboard symbol lake release coin live buyer bless wage during setup review cupboard symbol lake release coin live cage bless wage during setup review cupboard symbol lake release coin live cart bless wage during setup review cupboard symbol lake release coin live cause bless wage during setup review cupboard symbol lake release coin live champion bless wage during setup review cupboard symbol lake release coin live citizen bless wage during setup review cupboard symbol lake release coin live clay bless wage during setup review cupboard symbol lake release coin live collect bless wage during setup review cupboard symbol lake release coin live connect bless wage during setup review cupboard symbol lake release coin live cost bless wage during setup review cupboard symbol lake release coin live cricket bless wage during setup review cupboard symbol lake release coin live cup bless wage during setup review cupboard symbol lake release coin live daring bless wage during setup review cupboard symbol lake release coin live defy bless wage during setup review cupboard symbol lake release coin live depend bless wage during setup review cupboard symbol lake release coin live despair bless wage during setup review cupboard symbol lake release coin live dinner bless wage during setup review cupboard symbol lake release coin live dose bless wage during setup review cupboard symbol lake release coin live draw bless wage during setup review cupboard symbol lake release coin live east bless wage during setup review cupboard symbol lake release coin live eight bless wage during setup review cupboard symbol lake release coin live enact bless wage during setup review cupboard symbol lake release coin live ensure bless wage during setup review cupboard symbol lake release coin live ethics bless wage during setup review cupboard symbol lake release coin live example bless wage during setup review cupboard symbol lake release coin live fade bless wage during setup review cupboard symbol lake release coin live farm bless wage during setup review cupboard symbol lake release coin live few bless wage during setup review cupboard symbol lake release coin live finger bless wage during setup review cupboard symbol lake release coin live flip bless wage during setup review cupboard symbol lake release coin live forum bless wage during setup review cupboard symbol lake release coin live frame bless wage during setup review cupboard symbol lake release coin live fun bless wage during setup review cupboard symbol lake release coin live gather bless wage during setup review cupboard symbol lake release coin live girl bless wage during setup review cupboard symbol lake release coin live gospel bless wage during setup review cupboard symbol lake release coin live green bless wage during setup review cupboard symbol lake release coin live hamster bless wage during setup review cupboard symbol lake release coin live head bless wage during setup review cupboard symbol lake release coin live honey bless wage during setup review cupboard symbol lake release coin live human bless wage during setup review cupboard symbol lake release coin live identify bless wage during setup review cupboard symbol lake release coin live indoor bless wage during setup review cupboard symbol lake release coin live intact bless wage during setup review cupboard symbol lake release coin live island bless wage during setup review cupboard symbol lake release coin live joy bless wage during setup review cupboard symbol lake release coin live kit bless wage during setup review cupboard symbol lake release coin live law bless wage during setup review cupboard symbol lake release coin live leg bless wage during setup review cupboard symbol lake release coin live leopard bless wage during setup review cupboard symbol lake release coin live long bless wage during setup review cupboard symbol lake release coin live magnet bless wage during setup review cupboard symbol lake release coin live manual bless wage during setup review cupboard symbol lake release coin live math bless wage during setup review cupboard symbol lake release coin live mesh bless wage during setup review cupboard symbol lake release coin live mind bless wage during setup review cupboard symbol lake release coin live moral bless wage during setup review cupboard symbol lake release coin live movie bless wage during setup review cupboard symbol lake release coin live name bless wage during setup review cupboard symbol lake release coin live news bless wage during setup review cupboard symbol lake release coin live number bless wage during setup review cupboard symbol lake release coin live obtain bless wage during setup review cupboard symbol lake release coin live opera bless wage during setup review cupboard symbol lake release coin live oven bless wage during setup review cupboard symbol lake release coin live page bless wage during setup review cupboard symbol lake release coin live pattern bless wage during setup review cupboard symbol lake release coin live pear bless wage during setup review cupboard symbol lake release coin live pizza bless wage during setup review cupboard symbol lake release coin live pony bless wage during setup review cupboard symbol lake release coin live popular bless wage during setup review cupboard symbol lake release coin live profit bless wage during setup review cupboard symbol lake release coin live pull bless wage during setup review cupboard symbol lake release coin live purity bless wage during setup review cupboard symbol lake release coin live ranch bless wage during setup review cupboard symbol lake release coin live rare bless wage during setup review cupboard symbol lake release coin live relief bless wage during setup review cupboard symbol lake release coin live response bless wage during setup review cupboard symbol lake release coin live ridge bless wage during setup review cupboard symbol lake release coin live road bless wage during setup review cupboard symbol lake release coin live saddle bless wage during setup review cupboard symbol lake release coin live say bless wage during setup review cupboard symbol lake release coin live sea bless wage during setup review cupboard symbol lake release coin live secret bless wage during setup review cupboard symbol lake release coin live shift bless wage during setup review cupboard symbol lake release coin live shrug bless wage during setup review cupboard symbol lake release coin live sign bless wage during setup review cupboard symbol lake release coin live skirt bless wage during setup review cupboard symbol lake release coin live snake bless wage during setup review cupboard symbol lake release coin live sock bless wage during setup review cupboard symbol lake release coin live spatial bless wage during setup review cupboard symbol lake release coin live spray bless wage during setup review cupboard symbol lake release coin live steak bless wage during setup review cupboard symbol lake release coin live stool bless wage during setup review cupboard symbol lake release coin live sugar bless wage during setup review cupboard symbol lake release coin live swear bless wage during setup review cupboard symbol lake release coin live tank bless wage during setup review cupboard symbol lake release coin live thank bless wage during setup review cupboard symbol lake release coin live this bless wage during setup review cupboard symbol lake release coin live tissue bless wage during setup review cupboard symbol lake release coin live top bless wage during setup review cupboard symbol lake release coin live track bless wage during setup review cupboard symbol lake release coin live true bless wage during setup review cupboard symbol lake release coin live turkey bless wage during setup review cupboard symbol lake release coin live unit bless wage during setup review cupboard symbol lake release coin live upper bless wage during setup review cupboard symbol lake release coin live valley bless wage during setup review cupboard symbol lake release coin live verify bless wage during setup review cupboard symbol lake release coin live visa bless wage during setup review cupboard symbol lake release coin live wash bless wage during setup review cupboard symbol lake release coin live weekend bless wage during setup review cupboard symbol lake release coin live whisper bless wage during setup review cupboard symbol lake release coin live woman bless wage during setup review cupboard symbol lake release coin live zoo
Title: Re: Come ritrovare parola mancante
Post by: jack0m on June 02, 2019, 01:05:33 PM
ci si può anche aiutare con questo codice in python per verificare quale combinazioni sono corrette (tutto aiuta :)), ci mette pochi secondi: import mnemonic
english = ["abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract", "absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid", "acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual", "adapt", "add", "addict", "address", "adjust", "admit", "adult", "advance", "advice", "aerobic", "affair", "afford", "afraid", "again", "age", "agent", "agree", "ahead", "aim", "air", "airport", "aisle", "alarm", "album", "alcohol", "alert", "alien", "all", "alley", "allow", "almost", "alone", "alpha", "already", "also", "alter", "always", "amateur", "amazing", "among", "amount", "amused", "analyst", "anchor", "ancient", "anger", "angle", "angry", "animal", "ankle", "announce", "annual", "another", "answer", "antenna", "antique", "anxiety", "any", "apart", "apology", "appear", "apple", "approve", "april", "arch", "arctic", "area", "arena", "argue", "arm", "armed", "armor", "army", "around", "arrange", "arrest", "arrive", "arrow", "art", "artefact", "artist", "artwork", "ask", "aspect", "assault", "asset", "assist", "assume", "asthma", "athlete", "atom", "attack", "attend", "attitude", "attract", "auction", "audit", "august", "aunt", "author", "auto", "autumn", "average", "avocado", "avoid", "awake", "aware", "away", "awesome", "awful", "awkward", "axis", "baby", "bachelor", "bacon", "badge", "bag", "balance", "balcony", "ball", "bamboo", "banana", "banner", "bar", "barely", "bargain", "barrel", "base", "basic", "basket", "battle", "beach", "bean", "beauty", "because", "become", "beef", "before", "begin", "behave", "behind", "believe", "below", "belt", "bench", "benefit", "best", "betray", "better", "between", "beyond", "bicycle", "bid", "bike", "bind", "biology", "bird", "birth", "bitter", "black", "blade", "blame", "blanket", "blast", "bleak", "bless", "blind", "blood", "blossom", "blouse", "blue", "blur", "blush", "board", "boat", "body", "boil", "bomb", "bone", "bonus", "book", "boost", "border", "boring", "borrow", "boss", "bottom", "bounce", "box", "boy", "bracket", "brain", "brand", "brass", "brave", "bread", "breeze", "brick", "bridge", "brief", "bright", "bring", "brisk", "broccoli", "broken", "bronze", "broom", "brother", "brown", "brush", "bubble", "buddy", "budget", "buffalo", "build", "bulb", "bulk", "bullet", "bundle", "bunker", "burden", "burger", "burst", "bus", "business", "busy", "butter", "buyer", "buzz", "cabbage", "cabin", "cable", "cactus", "cage", "cake", "call", "calm", "camera", "camp", "can", "canal", "cancel", "candy", "cannon", "canoe", "canvas", "canyon", "capable", "capital", "captain", "car", "carbon", "card", "cargo", "carpet", "carry", "cart", "case", "cash", "casino", "castle", "casual", "cat", "catalog", "catch", "category", "cattle", "caught", "cause", "caution", "cave", "ceiling", "celery", "cement", "census", "century", "cereal", "certain", "chair", "chalk", "champion", "change", "chaos", "chapter", "charge", "chase", "chat", "cheap", "check", "cheese", "chef", "cherry", "chest", "chicken", "chief", "child", "chimney", "choice", "choose", "chronic", "chuckle", "chunk", "churn", "cigar", "cinnamon", "circle", "citizen", "city", "civil", "claim", "clap", "clarify", "claw", "clay", "clean", "clerk", "clever", "click", "client", "cliff", "climb", "clinic", "clip", "clock", "clog", "close", "cloth", "cloud", "clown", "club", "clump", "cluster", "clutch", "coach", "coast", "coconut", "code", "coffee", "coil", "coin", "collect", "color", "column", "combine", "come", "comfort", "comic", "common", "company", "concert", "conduct", "confirm", "congress", "connect", "consider", "control", "convince", "cook", "cool", "copper", "copy", "coral", "core", "corn", "correct", "cost", "cotton", "couch", "country", "couple", "course", "cousin", "cover", "coyote", "crack", "cradle", "craft", "cram", "crane", "crash", "crater", "crawl", "crazy", "cream", "credit", "creek", "crew", "cricket", "crime", "crisp", "critic", "crop", "cross", "crouch", "crowd", "crucial", "cruel", "cruise", "crumble", "crunch", "crush", "cry", "crystal", "cube", "culture", "cup", "cupboard", "curious", "current", "curtain", "curve", "cushion", "custom", "cute", "cycle", "dad", "damage", "damp", "dance", "danger", "daring", "dash", "daughter", "dawn", "day", "deal", "debate", "debris", "decade", "december", "decide", "decline", "decorate", "decrease", "deer", "defense", "define", "defy", "degree", "delay", "deliver", "demand", "demise", "denial", "dentist", "deny", "depart", "depend", "deposit", "depth", "deputy", "derive", "describe", "desert", "design", "desk", "despair", "destroy", "detail", "detect", "develop", "device", "devote", "diagram", "dial", "diamond", "diary", "dice", "diesel", "diet", "differ", "digital", "dignity", "dilemma", "dinner", "dinosaur", "direct", "dirt", "disagree", "discover", "disease", "dish", "dismiss", "disorder", "display", "distance", "divert", "divide", "divorce", "dizzy", "doctor", "document", "dog", "doll", "dolphin", "domain", "donate", "donkey", "donor", "door", "dose", "double", "dove", "draft", "dragon", "drama", "drastic", "draw", "dream", "dress", "drift", "drill", "drink", "drip", "drive", "drop", "drum", "dry", "duck", "dumb", "dune", "during", "dust", "dutch", "duty", "dwarf", "dynamic", "eager", "eagle", "early", "earn", "earth", "easily", "east", "easy", "echo", "ecology", "economy", "edge", "edit", "educate", "effort", "egg", "eight", "either", "elbow", "elder", "electric", "elegant", "element", "elephant", "elevator", "elite", "else", "embark", "embody", "embrace", "emerge", "emotion", "employ", "empower", "empty", "enable", "enact", "end", "endless", "endorse", "enemy", "energy", "enforce", "engage", "engine", "enhance", "enjoy", "enlist", "enough", "enrich", "enroll", "ensure", "enter", "entire", "entry", "envelope", "episode", "equal", "equip", "era", "erase", "erode", "erosion", "error", "erupt", "escape", "essay", "essence", "estate", "eternal", "ethics", "evidence", "evil", "evoke", "evolve", "exact", "example", "excess", "exchange", "excite", "exclude", "excuse", "execute", "exercise", "exhaust", "exhibit", "exile", "exist", "exit", "exotic", "expand", "expect", "expire", "explain", "expose", "express", "extend", "extra", "eye", "eyebrow", "fabric", "face", "faculty", "fade", "faint", "faith", "fall", "false", "fame", "family", "famous", "fan", "fancy", "fantasy", "farm", "fashion", "fat", "fatal", "father", "fatigue", "fault", "favorite", "feature", "february", "federal", "fee", "feed", "feel", "female", "fence", "festival", "fetch", "fever", "few", "fiber", "fiction", "field", "figure", "file", "film", "filter", "final", "find", "fine", "finger", "finish", "fire", "firm", "first", "fiscal", "fish", "fit", "fitness", "fix", "flag", "flame", "flash", "flat", "flavor", "flee", "flight", "flip", "float", "flock", "floor", "flower", "fluid", "flush", "fly", "foam", "focus", "fog", "foil", "fold", "follow", "food", "foot", "force", "forest", "forget", "fork", "fortune", "forum", "forward", "fossil", "foster", "found", "fox", "fragile", "frame", "frequent", "fresh", "friend", "fringe", "frog", "front", "frost", "frown", "frozen", "fruit", "fuel", "fun", "funny", "furnace", "fury", "future", "gadget", "gain", "galaxy", "gallery", "game", "gap", "garage", "garbage", "garden", "garlic", "garment", "gas", "gasp", "gate", "gather", "gauge", "gaze", "general", "genius", "genre", "gentle", "genuine", "gesture", "ghost", "giant", "gift", "giggle", "ginger", "giraffe", "girl", "give", "glad", "glance", "glare", "glass", "glide", "glimpse", "globe", "gloom", "glory", "glove", "glow", "glue", "goat", "goddess", "gold", "good", "goose", "gorilla", "gospel", "gossip", "govern", "gown", "grab", "grace", "grain", "grant", "grape", "grass", "gravity", "great", "green", "grid", "grief", "grit", "grocery", "group", "grow", "grunt", "guard", "guess", "guide", "guilt", "guitar", "gun", "gym", "habit", "hair", "half", "hammer", "hamster", "hand", "happy", "harbor", "hard", "harsh", "harvest", "hat", "have", "hawk", "hazard", "head", "health", "heart", "heavy", "hedgehog", "height", "hello", "helmet", "help", "hen", "hero", "hidden", "high", "hill", "hint", "hip", "hire", "history", "hobby", "hockey", "hold", "hole", "holiday", "hollow", "home", "honey", "hood", "hope", "horn", "horror", "horse", "hospital", "host", "hotel", "hour", "hover", "hub", "huge", "human", "humble", "humor", "hundred", "hungry", "hunt", "hurdle", "hurry", "hurt", "husband", "hybrid", "ice", "icon", "idea", "identify", "idle", "ignore", "ill", "illegal", "illness", "image", "imitate", "immense", "immune", "impact", "impose", "improve", "impulse", "inch", "include", "income", "increase", "index", "indicate", "indoor", "industry", "infant", "inflict", "inform", "inhale", "inherit", "initial", "inject", "injury", "inmate", "inner", "innocent", "input", "inquiry", "insane", "insect", "inside", "inspire", "install", "intact", "interest", "into", "invest", "invite", "involve", "iron", "island", "isolate", "issue", "item", "ivory", "jacket", "jaguar", "jar", "jazz", "jealous", "jeans", "jelly", "jewel", "job", "join", "joke", "journey", "joy", "judge", "juice", "jump", "jungle", "junior", "junk", "just", "kangaroo", "keen", "keep", "ketchup", "key", "kick", "kid", "kidney", "kind", "kingdom", "kiss", "kit", "kitchen", "kite", "kitten", "kiwi", "knee", "knife", "knock", "know", "lab", "label", "labor", "ladder", "lady", "lake", "lamp", "language", "laptop", "large", "later", "latin", "laugh", "laundry", "lava", "law", "lawn", "lawsuit", "layer", "lazy", "leader", "leaf", "learn", "leave", "lecture", "left", "leg", "legal", "legend", "leisure", "lemon", "lend", "length", "lens", "leopard", "lesson", "letter", "level", "liar", "liberty", "library", "license", "life", "lift", "light", "like", "limb", "limit", "link", "lion", "liquid", "list", "little", "live", "lizard", "load", "loan", "lobster", "local", "lock", "logic", "lonely", "long", "loop", "lottery", "loud", "lounge", "love", "loyal", "lucky", "luggage", "lumber", "lunar", "lunch", "luxury", "lyrics", "machine", "mad", "magic", "magnet", "maid", "mail", "main", "major", "make", "mammal", "man", "manage", "mandate", "mango", "mansion", "manual", "maple", "marble", "march", "margin", "marine", "market", "marriage", "mask", "mass", "master", "match", "material", "math", "matrix", "matter", "maximum", "maze", "meadow", "mean", "measure", "meat", "mechanic", "medal", "media", "melody", "melt", "member", "memory", "mention", "menu", "mercy", "merge", "merit", "merry", "mesh", "message", "metal", "method", "middle", "midnight", "milk", "million", "mimic", "mind", "minimum", "minor", "minute", "miracle", "mirror", "misery", "miss", "mistake", "mix", "mixed", "mixture", "mobile", "model", "modify", "mom", "moment", "monitor", "monkey", "monster", "month", "moon", "moral", "more", "morning", "mosquito", "mother", "motion", "motor", "mountain", "mouse", "move", "movie", "much", "muffin", "mule", "multiply", "muscle", "museum", "mushroom", "music", "must", "mutual", "myself", "mystery", "myth", "naive", "name", "napkin", "narrow", "nasty", "nation", "nature", "near", "neck", "need", "negative", "neglect", "neither", "nephew", "nerve", "nest", "net", "network", "neutral", "never", "news", "next", "nice", "night", "noble", "noise", "nominee", "noodle", "normal", "north", "nose", "notable", "note", "nothing", "notice", "novel", "now", "nuclear", "number", "nurse", "nut", "oak", "obey", "object", "oblige", "obscure", "observe", "obtain", "obvious", "occur", "ocean", "october", "odor", "off", "offer", "office", "often", "oil", "okay", "old", "olive", "olympic", "omit", "once", "one", "onion", "online", "only", "open", "opera", "opinion", "oppose", "option", "orange", "orbit", "orchard", "order", "ordinary", "organ", "orient", "original", "orphan", "ostrich", "other", "outdoor", "outer", "output", "outside", "oval", "oven", "over", "own", "owner", "oxygen", "oyster", "ozone", "pact", "paddle", "page", "pair", "palace", "palm", "panda", "panel", "panic", "panther", "paper", "parade", "parent", "park", "parrot", "party", "pass", "patch", "path", "patient", "patrol", "pattern", "pause", "pave", "payment", "peace", "peanut", "pear", "peasant", "pelican", "pen", "penalty", "pencil", "people", "pepper", "perfect", "permit", "person", "pet", "phone", "photo", "phrase", "physical", "piano", "picnic", "picture", "piece", "pig", "pigeon", "pill", "pilot", "pink", "pioneer", "pipe", "pistol", "pitch", "pizza", "place", "planet", "plastic", "plate", "play", "please", "pledge", "pluck", "plug", "plunge", "poem", "poet", "point", "polar", "pole", "police", "pond", "pony", "pool", "popular", "portion", "position", "possible", "post", "potato", "pottery", "poverty", "powder", "power", "practice", "praise", "predict", "prefer", "prepare", "present", "pretty", "prevent", "price", "pride", "primary", "print", "priority", "prison", "private", "prize", "problem", "process", "produce", "profit", "program", "project", "promote", "proof", "property", "prosper", "protect", "proud", "provide", "public", "pudding", "pull", "pulp", "pulse", "pumpkin", "punch", "pupil", "puppy", "purchase", "purity", "purpose", "purse", "push", "put", "puzzle", "pyramid", "quality", "quantum", "quarter", "question", "quick", "quit", "quiz", "quote", "rabbit", "raccoon", "race", "rack", "radar", "radio", "rail", "rain", "raise", "rally", "ramp", "ranch", "random", "range", "rapid", "rare", "rate", "rather", "raven", "raw", "razor", "ready", "real", "reason", "rebel", "rebuild", "recall", "receive", "recipe", "record", "recycle", "reduce", "reflect", "reform", "refuse", "region", "regret", "regular", "reject", "relax", "release", "relief", "rely", "remain", "remember", "remind", "remove", "render", "renew", "rent", "reopen", "repair", "repeat", "replace", "report", "require", "rescue", "resemble", "resist", "resource", "response", "result", "retire", "retreat", "return", "reunion", "reveal", "review", "reward", "rhythm", "rib", "ribbon", "rice", "rich", "ride", "ridge", "rifle", "right", "rigid", "ring", "riot", "ripple", "risk", "ritual", "rival", "river", "road", "roast", "robot", "robust", "rocket", "romance", "roof", "rookie", "room", "rose", "rotate", "rough", "round", "route", "royal", "rubber", "rude", "rug", "rule", "run", "runway", "rural", "sad", "saddle", "sadness", "safe", "sail", "salad", "salmon", "salon", "salt", "salute", "same", "sample", "sand", "satisfy", "satoshi", "sauce", "sausage", "save", "say", "scale", "scan", "scare", "scatter", "scene", "scheme", "school", "science", "scissors", "scorpion", "scout", "scrap", "screen", "script", "scrub", "sea", "search", "season", "seat", "second", "secret", "section", "security", "seed", "seek", "segment", "select", "sell", "seminar", "senior", "sense", "sentence", "series", "service", "session", "settle", "setup", "seven", "shadow", "shaft", "shallow", "share", "shed", "shell", "sheriff", "shield", "shift", "shine", "ship", "shiver", "shock", "shoe", "shoot", "shop", "short", "shoulder", "shove", "shrimp", "shrug", "shuffle", "shy", "sibling", "sick", "side", "siege", "sight", "sign", "silent", "silk", "silly", "silver", "similar", "simple", "since", "sing", "siren", "sister", "situate", "six", "size", "skate", "sketch", "ski", "skill", "skin", "skirt", "skull", "slab", "slam", "sleep", "slender", "slice", "slide", "slight", "slim", "slogan", "slot", "slow", "slush", "small", "smart", "smile", "smoke", "smooth", "snack", "snake", "snap", "sniff", "snow", "soap", "soccer", "social", "sock", "soda", "soft", "solar", "soldier", "solid", "solution", "solve", "someone", "song", "soon", "sorry", "sort", "soul", "sound", "soup", "source", "south", "space", "spare", "spatial", "spawn", "speak", "special", "speed", "spell", "spend", "sphere", "spice", "spider", "spike", "spin", "spirit", "split", "spoil", "sponsor", "spoon", "sport", "spot", "spray", "spread", "spring", "spy", "square", "squeeze", "squirrel", "stable", "stadium", "staff", "stage", "stairs", "stamp", "stand", "start", "state", "stay", "steak", "steel", "stem", "step", "stereo", "stick", "still", "sting", "stock", "stomach", "stone", "stool", "story", "stove", "strategy", "street", "strike", "strong", "struggle", "student", "stuff", "stumble", "style", "subject", "submit", "subway", "success", "such", "sudden", "suffer", "sugar", "suggest", "suit", "summer", "sun", "sunny", "sunset", "super", "supply", "supreme", "sure", "surface", "surge", "surprise", "surround", "survey", "suspect", "sustain", "swallow", "swamp", "swap", "swarm", "swear", "sweet", "swift", "swim", "swing", "switch", "sword", "symbol", "symptom", "syrup", "system", "table", "tackle", "tag", "tail", "talent", "talk", "tank", "tape", "target", "task", "taste", "tattoo", "taxi", "teach", "team", "tell", "ten", "tenant", "tennis", "tent", "term", "test", "text", "thank", "that", "theme", "then", "theory", "there", "they", "thing", "this", "thought", "three", "thrive", "throw", "thumb", "thunder", "ticket", "tide", "tiger", "tilt", "timber", "time", "tiny", "tip", "tired", "tissue", "title", "toast", "tobacco", "today", "toddler", "toe", "together", "toilet", "token", "tomato", "tomorrow", "tone", "tongue", "tonight", "tool", "tooth", "top", "topic", "topple", "torch", "tornado", "tortoise", "toss", "total", "tourist", "toward", "tower", "town", "toy", "track", "trade", "traffic", "tragic", "train", "transfer", "trap", "trash", "travel", "tray", "treat", "tree", "trend", "trial", "tribe", "trick", "trigger", "trim", "trip", "trophy", "trouble", "truck", "true", "truly", "trumpet", "trust", "truth", "try", "tube", "tuition", "tumble", "tuna", "tunnel", "turkey", "turn", "turtle", "twelve", "twenty", "twice", "twin", "twist", "two", "type", "typical", "ugly", "umbrella", "unable", "unaware", "uncle", "uncover", "under", "undo", "unfair", "unfold", "unhappy", "uniform", "unique", "unit", "universe", "unknown", "unlock", "until", "unusual", "unveil", "update", "upgrade", "uphold", "upon", "upper", "upset", "urban", "urge", "usage", "use", "used", "useful", "useless", "usual", "utility", "vacant", "vacuum", "vague", "valid", "valley", "valve", "van", "vanish", "vapor", "various", "vast", "vault", "vehicle", "velvet", "vendor", "venture", "venue", "verb", "verify", "version", "very", "vessel", "veteran", "viable", "vibrant", "vicious", "victory", "video", "view", "village", "vintage", "violin", "virtual", "virus", "visa", "visit", "visual", "vital", "vivid", "vocal", "voice", "void", "volcano", "volume", "vote", "voyage", "wage", "wagon", "wait", "walk", "wall", "walnut", "want", "warfare", "warm", "warrior", "wash", "wasp", "waste", "water", "wave", "way", "wealth", "weapon", "wear", "weasel", "weather", "web", "wedding", "weekend", "weird", "welcome", "west", "wet", "whale", "what", "wheat", "wheel", "when", "where", "whip", "whisper", "wide", "width", "wife", "wild", "will", "win", "window", "wine", "wing", "wink", "winner", "winter", "wire", "wisdom", "wise", "wish", "witness", "wolf", "woman", "wonder", "wood", "wool", "word", "work", "world", "worry", "worth", "wrap", "wreck", "wrestle", "wrist", "write", "wrong", "yard", "year", "yellow", "you", "young", "youth", "zebra", "zero", "zone", "zoo"]
mnemonicphrase = "wage during setup review cupboard symbol lake release coin live champion"
m = mnemonic.Mnemonic('english') for word in english: tested = word + ' ' + mnemonicphrase if m.check(tested): print tested usa questa libreria https://github.com/trezor/python-mnemonic facendo finta che non mi ricordassi l'ultima parola del mio mnemonic seed, ha tirato fuori questa lista di seed validi che include la parola mancante (in bold): bless wage during setup review cupboard symbol lake release coin live abstract bless wage during setup review cupboard symbol lake release coin live acoustic bless wage during setup review cupboard symbol lake release coin live affair bless wage during setup review cupboard symbol lake release coin live almost bless wage during setup review cupboard symbol lake release coin live antique bless wage during setup review cupboard symbol lake release coin live apology bless wage during setup review cupboard symbol lake release coin live art bless wage during setup review cupboard symbol lake release coin live asthma bless wage during setup review cupboard symbol lake release coin live bachelor bless wage during setup review cupboard symbol lake release coin live battle bless wage during setup review cupboard symbol lake release coin live better bless wage during setup review cupboard symbol lake release coin live blame bless wage during setup review cupboard symbol lake release coin live body bless wage during setup review cupboard symbol lake release coin live brick bless wage during setup review cupboard symbol lake release coin live broccoli bless wage during setup review cupboard symbol lake release coin live buyer bless wage during setup review cupboard symbol lake release coin live cage bless wage during setup review cupboard symbol lake release coin live cart bless wage during setup review cupboard symbol lake release coin live cause bless wage during setup review cupboard symbol lake release coin live champion bless wage during setup review cupboard symbol lake release coin live citizen bless wage during setup review cupboard symbol lake release coin live clay bless wage during setup review cupboard symbol lake release coin live collect bless wage during setup review cupboard symbol lake release coin live connect bless wage during setup review cupboard symbol lake release coin live cost bless wage during setup review cupboard symbol lake release coin live cricket bless wage during setup review cupboard symbol lake release coin live cup bless wage during setup review cupboard symbol lake release coin live daring bless wage during setup review cupboard symbol lake release coin live defy bless wage during setup review cupboard symbol lake release coin live depend bless wage during setup review cupboard symbol lake release coin live despair bless wage during setup review cupboard symbol lake release coin live dinner bless wage during setup review cupboard symbol lake release coin live dose bless wage during setup review cupboard symbol lake release coin live draw bless wage during setup review cupboard symbol lake release coin live east bless wage during setup review cupboard symbol lake release coin live eight bless wage during setup review cupboard symbol lake release coin live enact bless wage during setup review cupboard symbol lake release coin live ensure bless wage during setup review cupboard symbol lake release coin live ethics bless wage during setup review cupboard symbol lake release coin live example bless wage during setup review cupboard symbol lake release coin live fade bless wage during setup review cupboard symbol lake release coin live farm bless wage during setup review cupboard symbol lake release coin live few bless wage during setup review cupboard symbol lake release coin live finger bless wage during setup review cupboard symbol lake release coin live flip bless wage during setup review cupboard symbol lake release coin live forum bless wage during setup review cupboard symbol lake release coin live frame bless wage during setup review cupboard symbol lake release coin live fun bless wage during setup review cupboard symbol lake release coin live gather bless wage during setup review cupboard symbol lake release coin live girl bless wage during setup review cupboard symbol lake release coin live gospel bless wage during setup review cupboard symbol lake release coin live green bless wage during setup review cupboard symbol lake release coin live hamster bless wage during setup review cupboard symbol lake release coin live head bless wage during setup review cupboard symbol lake release coin live honey bless wage during setup review cupboard symbol lake release coin live human bless wage during setup review cupboard symbol lake release coin live identify bless wage during setup review cupboard symbol lake release coin live indoor bless wage during setup review cupboard symbol lake release coin live intact bless wage during setup review cupboard symbol lake release coin live island bless wage during setup review cupboard symbol lake release coin live joy bless wage during setup review cupboard symbol lake release coin live kit bless wage during setup review cupboard symbol lake release coin live law bless wage during setup review cupboard symbol lake release coin live leg bless wage during setup review cupboard symbol lake release coin live leopard bless wage during setup review cupboard symbol lake release coin live long bless wage during setup review cupboard symbol lake release coin live magnet bless wage during setup review cupboard symbol lake release coin live manual bless wage during setup review cupboard symbol lake release coin live math bless wage during setup review cupboard symbol lake release coin live mesh bless wage during setup review cupboard symbol lake release coin live mind bless wage during setup review cupboard symbol lake release coin live moral bless wage during setup review cupboard symbol lake release coin live movie bless wage during setup review cupboard symbol lake release coin live name bless wage during setup review cupboard symbol lake release coin live news bless wage during setup review cupboard symbol lake release coin live number bless wage during setup review cupboard symbol lake release coin live obtain bless wage during setup review cupboard symbol lake release coin live opera bless wage during setup review cupboard symbol lake release coin live oven bless wage during setup review cupboard symbol lake release coin live page bless wage during setup review cupboard symbol lake release coin live pattern bless wage during setup review cupboard symbol lake release coin live pear bless wage during setup review cupboard symbol lake release coin live pizza bless wage during setup review cupboard symbol lake release coin live pony bless wage during setup review cupboard symbol lake release coin live popular bless wage during setup review cupboard symbol lake release coin live profit bless wage during setup review cupboard symbol lake release coin live pull bless wage during setup review cupboard symbol lake release coin live purity bless wage during setup review cupboard symbol lake release coin live ranch bless wage during setup review cupboard symbol lake release coin live rare bless wage during setup review cupboard symbol lake release coin live relief bless wage during setup review cupboard symbol lake release coin live response bless wage during setup review cupboard symbol lake release coin live ridge bless wage during setup review cupboard symbol lake release coin live road bless wage during setup review cupboard symbol lake release coin live saddle bless wage during setup review cupboard symbol lake release coin live say bless wage during setup review cupboard symbol lake release coin live sea bless wage during setup review cupboard symbol lake release coin live secret bless wage during setup review cupboard symbol lake release coin live shift bless wage during setup review cupboard symbol lake release coin live shrug bless wage during setup review cupboard symbol lake release coin live sign bless wage during setup review cupboard symbol lake release coin live skirt bless wage during setup review cupboard symbol lake release coin live snake bless wage during setup review cupboard symbol lake release coin live sock bless wage during setup review cupboard symbol lake release coin live spatial bless wage during setup review cupboard symbol lake release coin live spray bless wage during setup review cupboard symbol lake release coin live steak bless wage during setup review cupboard symbol lake release coin live stool bless wage during setup review cupboard symbol lake release coin live sugar bless wage during setup review cupboard symbol lake release coin live swear bless wage during setup review cupboard symbol lake release coin live tank bless wage during setup review cupboard symbol lake release coin live thank bless wage during setup review cupboard symbol lake release coin live this bless wage during setup review cupboard symbol lake release coin live tissue bless wage during setup review cupboard symbol lake release coin live top bless wage during setup review cupboard symbol lake release coin live track bless wage during setup review cupboard symbol lake release coin live true bless wage during setup review cupboard symbol lake release coin live turkey bless wage during setup review cupboard symbol lake release coin live unit bless wage during setup review cupboard symbol lake release coin live upper bless wage during setup review cupboard symbol lake release coin live valley bless wage during setup review cupboard symbol lake release coin live verify bless wage during setup review cupboard symbol lake release coin live visa bless wage during setup review cupboard symbol lake release coin live wash bless wage during setup review cupboard symbol lake release coin live weekend bless wage during setup review cupboard symbol lake release coin live whisper bless wage during setup review cupboard symbol lake release coin live woman bless wage during setup review cupboard symbol lake release coin live zoo eh ma come fai a verificare qual è quella corretta in questo caso? Il seed serve a criptare il pin, non hai un indirizzo o una chiave pubblica da confrontare
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 02, 2019, 02:14:59 PM
L'op non ha il pin quindi penso sia il massimo che si può fare, se non sbaglio il codice modificato di quel sito assume che tu lo abbia giusto?
Title: Re: Come ritrovare parola mancante
Post by: jack0m on June 02, 2019, 03:06:54 PM
L'op non ha il pin quindi penso sia il massimo che si può fare, se non sbaglio il codice modificato di quel sito assume che tu lo abbia giusto?
no, il codice nella pagina funziona così: dal seed calcola il pin, il pin è poi usato per decrittare un altro seed, da cui sono ricavate le chiavi. Il check è sulla corrispondenza delle chiavi pubbliche (presenti in campi hidden del form) con quelle calcolate col secondo seed. La modifica che ho fatto io è un semplice ciclo sul primo seed, che prova tutte le combinazioni con l'ultima parola cambiata
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 03, 2019, 05:56:57 PM
no, il codice nella pagina funziona così: dal seed calcola il pin, il pin è poi usato per decrittare un altro seed, da cui sono ricavate le chiavi. Il check è sulla corrispondenza delle chiavi pubbliche (presenti in campi hidden del form) con quelle calcolate col secondo seed. La modifica che ho fatto io è un semplice ciclo sul primo seed, che prova tutte le combinazioni con l'ultima parola cambiata
oggi ho provato a debuggare un pò il codice da chrome e ho capito un po meglio cosa fà, per curiosità domani (tempo permettendo) vedo se si riesce a fare la stessa cosa al di fuori, ad esempio con python, visto che effettivamente ti da già tutto quello che serve per verificare se la sequenza mnemonica è corretta.
Title: Re: Come ritrovare parola mancante
Post by: jack0m on June 04, 2019, 10:13:26 AM
no, il codice nella pagina funziona così: dal seed calcola il pin, il pin è poi usato per decrittare un altro seed, da cui sono ricavate le chiavi. Il check è sulla corrispondenza delle chiavi pubbliche (presenti in campi hidden del form) con quelle calcolate col secondo seed. La modifica che ho fatto io è un semplice ciclo sul primo seed, che prova tutte le combinazioni con l'ultima parola cambiata
oggi ho provato a debuggare un pò il codice da chrome e ho capito un po meglio cosa fà, per curiosità domani (tempo permettendo) vedo se si riesce a fare la stessa cosa al di fuori, ad esempio con python, visto che effettivamente ti da già tutto quello che serve per verificare se la sequenza mnemonica è corretta. chiaro, trovi librerie crittografiche open source per fare tutto, il più è avere tempo da perderci... io al momento non ne ho purtroppo
Title: Re: Come ritrovare parola mancante
Post by: Piggy on June 06, 2019, 09:06:35 AM
Sono andato un pò avanti con un'implementazione in Python che riporto sotto alla fine del messaggio, i passaggi combaciano rispetto a block.io fino al punto in cui dovrebbe creare la chiave privata, ottengo correttamente il contenuto della variabile buffer https://block.io/js/secure/bitcoinjs-3.3.2-custom.js linea 5637 ECPair.fromPassphrase = function (passphrase, options) { var buffer = new Buffer(passphrase, 'hex') options = options || {} buffer = bcrypto.sha256(buffer) var d = BigInteger.fromBuffer(buffer).mod(secp256k1.n) return new ECPair(d, null, {compressed: true, network: options.network || NETWORKS.bitcoin}) } ma dopo non riesco a a capire cosa succede in questi due passaggi, ho provato a calcolare la chiave privata e poi quella pubblica con quello che avevo ma non ottengo lo stesso risultato: var d = BigInteger.fromBuffer(buffer).mod(secp256k1.n) return new ECPair(d, null, {compressed: true, network: options.network || NETWORKS.bitcoin})
Se qualcuno ha qualche idea :-\ Codice funzionante fino al punto sopra descritto https://pastebin.com/awk67zqF import mnemonic import sys import hashlib import re import pbkdf2 import os import base64 import binascii from Crypto.Protocol.KDF import PBKDF2 from Crypto.Hash import SHA256, HMAC from Crypto.Cipher import AES
english = ["abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract", "absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid", "acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual", "adapt", "add", "addict", "address", "adjust", "admit", "adult", "advance", "advice", "aerobic", "affair", "afford", "afraid", "again", "age", "agent", "agree", "ahead", "aim", "air", "airport", "aisle", "alarm", "album", "alcohol", "alert", "alien", "all", "alley", "allow", "almost", "alone", "alpha", "already", "also", "alter", "always", "amateur", "amazing", "among", "amount", "amused", "analyst", "anchor", "ancient", "anger", "angle", "angry", "animal", "ankle", "announce", "annual", "another", "answer", "antenna", "antique", "anxiety", "any", "apart", "apology", "appear", "apple", "approve", "april", "arch", "arctic", "area", "arena", "argue", "arm", "armed", "armor", "army", "around", "arrange", "arrest", "arrive", "arrow", "art", "artefact", "artist", "artwork", "ask", "aspect", "assault", "asset", "assist", "assume", "asthma", "athlete", "atom", "attack", "attend", "attitude", "attract", "auction", "audit", "august", "aunt", "author", "auto", "autumn", "average", "avocado", "avoid", "awake", "aware", "away", "awesome", "awful", "awkward", "axis", "baby", "bachelor", "bacon", "badge", "bag", "balance", "balcony", "ball", "bamboo", "banana", "banner", "bar", "barely", "bargain", "barrel", "base", "basic", "basket", "battle", "beach", "bean", "beauty", "because", "become", "beef", "before", "begin", "behave", "behind", "believe", "below", "belt", "bench", "benefit", "best", "betray", "better", "between", "beyond", "bicycle", "bid", "bike", "bind", "biology", "bird", "birth", "bitter", "black", "blade", "blame", "blanket", "blast", "bleak", "bless", "blind", "blood", "blossom", "blouse", "blue", "blur", "blush", "board", "boat", "body", "boil", "bomb", "bone", "bonus", "book", "boost", "border", "boring", "borrow", "boss", "bottom", "bounce", "box", "boy", "bracket", "brain", "brand", "brass", "brave", "bread", "breeze", "brick", "bridge", "brief", "bright", "bring", "brisk", "broccoli", "broken", "bronze", "broom", "brother", "brown", "brush", "bubble", "buddy", "budget", "buffalo", "build", "bulb", "bulk", "bullet", "bundle", "bunker", "burden", "burger", "burst", "bus", "business", "busy", "butter", "buyer", "buzz", "cabbage", "cabin", "cable", "cactus", "cage", "cake", "call", "calm", "camera", "camp", "can", "canal", "cancel", "candy", "cannon", "canoe", "canvas", "canyon", "capable", "capital", "captain", "car", "carbon", "card", "cargo", "carpet", "carry", "cart", "case", "cash", "casino", "castle", "casual", "cat", "catalog", "catch", "category", "cattle", "caught", "cause", "caution", "cave", "ceiling", "celery", "cement", "census", "century", "cereal", "certain", "chair", "chalk", "champion", "change", "chaos", "chapter", "charge", "chase", "chat", "cheap", "check", "cheese", "chef", "cherry", "chest", "chicken", "chief", "child", "chimney", "choice", "choose", "chronic", "chuckle", "chunk", "churn", "cigar", "cinnamon", "circle", "citizen", "city", "civil", "claim", "clap", "clarify", "claw", "clay", "clean", "clerk", "clever", "click", "client", "cliff", "climb", "clinic", "clip", "clock", "clog", "close", "cloth", "cloud", "clown", "club", "clump", "cluster", "clutch", "coach", "coast", "coconut", "code", "coffee", "coil", "coin", "collect", "color", "column", "combine", "come", "comfort", "comic", "common", "company", "concert", "conduct", "confirm", "congress", "connect", "consider", "control", "convince", "cook", "cool", "copper", "copy", "coral", "core", "corn", "correct", "cost", "cotton", "couch", "country", "couple", "course", "cousin", "cover", "coyote", "crack", "cradle", "craft", "cram", "crane", "crash", "crater", "crawl", "crazy", "cream", "credit", "creek", "crew", "cricket", "crime", "crisp", "critic", "crop", "cross", "crouch", "crowd", "crucial", "cruel", "cruise", "crumble", "crunch", "crush", "cry", "crystal", "cube", "culture", "cup", "cupboard", "curious", "current", "curtain", "curve", "cushion", "custom", "cute", "cycle", "dad", "damage", "damp", "dance", "danger", "daring", "dash", "daughter", "dawn", "day", "deal", "debate", "debris", "decade", "december", "decide", "decline", "decorate", "decrease", "deer", "defense", "define", "defy", "degree", "delay", "deliver", "demand", "demise", "denial", "dentist", "deny", "depart", "depend", "deposit", "depth", "deputy", "derive", "describe", "desert", "design", "desk", "despair", "destroy", "detail", "detect", "develop", "device", "devote", "diagram", "dial", "diamond", "diary", "dice", "diesel", "diet", "differ", "digital", "dignity", "dilemma", "dinner", "dinosaur", "direct", "dirt", "disagree", "discover", "disease", "dish", "dismiss", "disorder", "display", "distance", "divert", "divide", "divorce", "dizzy", "doctor", "document", "dog", "doll", "dolphin", "domain", "donate", "donkey", "donor", "door", "dose", "double", "dove", "draft", "dragon", "drama", "drastic", "draw", "dream", "dress", "drift", "drill", "drink", "drip", "drive", "drop", "drum", "dry", "duck", "dumb", "dune", "during", "dust", "dutch", "duty", "dwarf", "dynamic", "eager", "eagle", "early", "earn", "earth", "easily", "east", "easy", "echo", "ecology", "economy", "edge", "edit", "educate", "effort", "egg", "eight", "either", "elbow", "elder", "electric", "elegant", "element", "elephant", "elevator", "elite", "else", "embark", "embody", "embrace", "emerge", "emotion", "employ", "empower", "empty", "enable", "enact", "end", "endless", "endorse", "enemy", "energy", "enforce", "engage", "engine", "enhance", "enjoy", "enlist", "enough", "enrich", "enroll", "ensure", "enter", "entire", "entry", "envelope", "episode", "equal", "equip", "era", "erase", "erode", "erosion", "error", "erupt", "escape", "essay", "essence", "estate", "eternal", "ethics", "evidence", "evil", "evoke", "evolve", "exact", "example", "excess", "exchange", "excite", "exclude", "excuse", "execute", "exercise", "exhaust", "exhibit", "exile", "exist", "exit", "exotic", "expand", "expect", "expire", "explain", "expose", "express", "extend", "extra", "eye", "eyebrow", "fabric", "face", "faculty", "fade", "faint", "faith", "fall", "false", "fame", "family", "famous", "fan", "fancy", "fantasy", "farm", "fashion", "fat", "fatal", "father", "fatigue", "fault", "favorite", "feature", "february", "federal", "fee", "feed", "feel", "female", "fence", "festival", "fetch", "fever", "few", "fiber", "fiction", "field", "figure", "file", "film", "filter", "final", "find", "fine", "finger", "finish", "fire", "firm", "first", "fiscal", "fish", "fit", "fitness", "fix", "flag", "flame", "flash", "flat", "flavor", "flee", "flight", "flip", "float", "flock", "floor", "flower", "fluid", "flush", "fly", "foam", "focus", "fog", "foil", "fold", "follow", "food", "foot", "force", "forest", "forget", "fork", "fortune", "forum", "forward", "fossil", "foster", "found", "fox", "fragile", "frame", "frequent", "fresh", "friend", "fringe", "frog", "front", "frost", "frown", "frozen", "fruit", "fuel", "fun", "funny", "furnace", "fury", "future", "gadget", "gain", "galaxy", "gallery", "game", "gap", "garage", "garbage", "garden", "garlic", "garment", "gas", "gasp", "gate", "gather", "gauge", "gaze", "general", "genius", "genre", "gentle", "genuine", "gesture", "ghost", "giant", "gift", "giggle", "ginger", "giraffe", "girl", "give", "glad", "glance", "glare", "glass", "glide", "glimpse", "globe", "gloom", "glory", "glove", "glow", "glue", "goat", "goddess", "gold", "good", "goose", "gorilla", "gospel", "gossip", "govern", "gown", "grab", "grace", "grain", "grant", "grape", "grass", "gravity", "great", "green", "grid", "grief", "grit", "grocery", "group", "grow", "grunt", "guard", "guess", "guide", "guilt", "guitar", "gun", "gym", "habit", "hair", "half", "hammer", "hamster", "hand", "happy", "harbor", "hard", "harsh", "harvest", "hat", "have", "hawk", "hazard", "head", "health", "heart", "heavy", "hedgehog", "height", "hello", "helmet", "help", "hen", "hero", "hidden", "high", "hill", "hint", "hip", "hire", "history", "hobby", "hockey", "hold", "hole", "holiday", "hollow", "home", "honey", "hood", "hope", "horn", "horror", "horse", "hospital", "host", "hotel", "hour", "hover", "hub", "huge", "human", "humble", "humor", "hundred", "hungry", "hunt", "hurdle", "hurry", "hurt", "husband", "hybrid", "ice", "icon", "idea", "identify", "idle", "ignore", "ill", "illegal", "illness", "image", "imitate", "immense", "immune", "impact", "impose", "improve", "impulse", "inch", "include", "income", "increase", "index", "indicate", "indoor", "industry", "infant", "inflict", "inform", "inhale", "inherit", "initial", "inject", "injury", "inmate", "inner", "innocent", "input", "inquiry", "insane", "insect", "inside", "inspire", "install", "intact", "interest", "into", "invest", "invite", "involve", "iron", "island", "isolate", "issue", "item", "ivory", "jacket", "jaguar", "jar", "jazz", "jealous", "jeans", "jelly", "jewel", "job", "join", "joke", "journey", "joy", "judge", "juice", "jump", "jungle", "junior", "junk", "just", "kangaroo", "keen", "keep", "ketchup", "key", "kick", "kid", "kidney", "kind", "kingdom", "kiss", "kit", "kitchen", "kite", "kitten", "kiwi", "knee", "knife", "knock", "know", "lab", "label", "labor", "ladder", "lady", "lake", "lamp", "language", "laptop", "large", "later", "latin", "laugh", "laundry", "lava", "law", "lawn", "lawsuit", "layer", "lazy", "leader", "leaf", "learn", "leave", "lecture", "left", "leg", "legal", "legend", "leisure", "lemon", "lend", "length", "lens", "leopard", "lesson", "letter", "level", "liar", "liberty", "library", "license", "life", "lift", "light", "like", "limb", "limit", "link", "lion", "liquid", "list", "little", "live", "lizard", "load", "loan", "lobster", "local", "lock", "logic", "lonely", "long", "loop", "lottery", "loud", "lounge", "love", "loyal", "lucky", "luggage", "lumber", "lunar", "lunch", "luxury", "lyrics", "machine", "mad", "magic", "magnet", "maid", "mail", "main", "major", "make", "mammal", "man", "manage", "mandate", "mango", "mansion", "manual", "maple", "marble", "march", "margin", "marine", "market", "marriage", "mask", "mass", "master", "match", "material", "math", "matrix", "matter", "maximum", "maze", "meadow", "mean", "measure", "meat", "mechanic", "medal", "media", "melody", "melt", "member", "memory", "mention", "menu", "mercy", "merge", "merit", "merry", "mesh", "message", "metal", "method", "middle", "midnight", "milk", "million", "mimic", "mind", "minimum", "minor", "minute", "miracle", "mirror", "misery", "miss", "mistake", "mix", "mixed", "mixture", "mobile", "model", "modify", "mom", "moment", "monitor", "monkey", "monster", "month", "moon", "moral", "more", "morning", "mosquito", "mother", "motion", "motor", "mountain", "mouse", "move", "movie", "much", "muffin", "mule", "multiply", "muscle", "museum", "mushroom", "music", "must", "mutual", "myself", "mystery", "myth", "naive", "name", "napkin", "narrow", "nasty", "nation", "nature", "near", "neck", "need", "negative", "neglect", "neither", "nephew", "nerve", "nest", "net", "network", "neutral", "never", "news", "next", "nice", "night", "noble", "noise", "nominee", "noodle", "normal", "north", "nose", "notable", "note", "nothing", "notice", "novel", "now", "nuclear", "number", "nurse", "nut", "oak", "obey", "object", "oblige", "obscure", "observe", "obtain", "obvious", "occur", "ocean", "october", "odor", "off", "offer", "office", "often", "oil", "okay", "old", "olive", "olympic", "omit", "once", "one", "onion", "online", "only", "open", "opera", "opinion", "oppose", "option", "orange", "orbit", "orchard", "order", "ordinary", "organ", "orient", "original", "orphan", "ostrich", "other", "outdoor", "outer", "output", "outside", "oval", "oven", "over", "own", "owner", "oxygen", "oyster", "ozone", "pact", "paddle", "page", "pair", "palace", "palm", "panda", "panel", "panic", "panther", "paper", "parade", "parent", "park", "parrot", "party", "pass", "patch", "path", "patient", "patrol", "pattern", "pause", "pave", "payment", "peace", "peanut", "pear", "peasant", "pelican", "pen", "penalty", "pencil", "people", "pepper", "perfect", "permit", "person", "pet", "phone", "photo", "phrase", "physical", "piano", "picnic", "picture", "piece", "pig", "pigeon", "pill", "pilot", "pink", "pioneer", "pipe", "pistol", "pitch", "pizza", "place", "planet", "plastic", "plate", "play", "please", "pledge", "pluck", "plug", "plunge", "poem", "poet", "point", "polar", "pole", "police", "pond", "pony", "pool", "popular", "portion", "position", "possible", "post", "potato", "pottery", "poverty", "powder", "power", "practice", "praise", "predict", "prefer", "prepare", "present", "pretty", "prevent", "price", "pride", "primary", "print", "priority", "prison", "private", "prize", "problem", "process", "produce", "profit", "program", "project", "promote", "proof", "property", "prosper", "protect", "proud", "provide", "public", "pudding", "pull", "pulp", "pulse", "pumpkin", "punch", "pupil", "puppy", "purchase", "purity", "purpose", "purse", "push", "put", "puzzle", "pyramid", "quality", "quantum", "quarter", "question", "quick", "quit", "quiz", "quote", "rabbit", "raccoon", "race", "rack", "radar", "radio", "rail", "rain", "raise", "rally", "ramp", "ranch", "random", "range", "rapid", "rare", "rate", "rather", "raven", "raw", "razor", "ready", "real", "reason", "rebel", "rebuild", "recall", "receive", "recipe", "record", "recycle", "reduce", "reflect", "reform", "refuse", "region", "regret", "regular", "reject", "relax", "release", "relief", "rely", "remain", "remember", "remind", "remove", "render", "renew", "rent", "reopen", "repair", "repeat", "replace", "report", "require", "rescue", "resemble", "resist", "resource", "response", "result", "retire", "retreat", "return", "reunion", "reveal", "review", "reward", "rhythm", "rib", "ribbon", "rice", "rich", "ride", "ridge", "rifle", "right", "rigid", "ring", "riot", "ripple", "risk", "ritual", "rival", "river", "road", "roast", "robot", "robust", "rocket", "romance", "roof", "rookie", "room", "rose", "rotate", "rough", "round", "route", "royal", "rubber", "rude", "rug", "rule", "run", "runway", "rural", "sad", "saddle", "sadness", "safe", "sail", "salad", "salmon", "salon", "salt", "salute", "same", "sample", "sand", "satisfy", "satoshi", "sauce", "sausage", "save", "say", "scale", "scan", "scare", "scatter", "scene", "scheme", "school", "science", "scissors", "scorpion", "scout", "scrap", "screen", "script", "scrub", "sea", "search", "season", "seat", "second", "secret", "section", "security", "seed", "seek", "segment", "select", "sell", "seminar", "senior", "sense", "sentence", "series", "service", "session", "settle", "setup", "seven", "shadow", "shaft", "shallow", "share", "shed", "shell", "sheriff", "shield", "shift", "shine", "ship", "shiver", "shock", "shoe", "shoot", "shop", "short", "shoulder", "shove", "shrimp", "shrug", "shuffle", "shy", "sibling", "sick", "side", "siege", "sight", "sign", "silent", "silk", "silly", "silver", "similar", "simple", "since", "sing", "siren", "sister", "situate", "six", "size", "skate", "sketch", "ski", "skill", "skin", "skirt", "skull", "slab", "slam", "sleep", "slender", "slice", "slide", "slight", "slim", "slogan", "slot", "slow", "slush", "small", "smart", "smile", "smoke", "smooth", "snack", "snake", "snap", "sniff", "snow", "soap", "soccer", "social", "sock", "soda", "soft", "solar", "soldier", "solid", "solution", "solve", "someone", "song", "soon", "sorry", "sort", "soul", "sound", "soup", "source", "south", "space", "spare", "spatial", "spawn", "speak", "special", "speed", "spell", "spend", "sphere", "spice", "spider", "spike", "spin", "spirit", "split", "spoil", "sponsor", "spoon", "sport", "spot", "spray", "spread", "spring", "spy", "square", "squeeze", "squirrel", "stable", "stadium", "staff", "stage", "stairs", "stamp", "stand", "start", "state", "stay", "steak", "steel", "stem", "step", "stereo", "stick", "still", "sting", "stock", "stomach", "stone", "stool", "story", "stove", "strategy", "street", "strike", "strong", "struggle", "student", "stuff", "stumble", "style", "subject", "submit", "subway", "success", "such", "sudden", "suffer", "sugar", "suggest", "suit", "summer", "sun", "sunny", "sunset", "super", "supply", "supreme", "sure", "surface", "surge", "surprise", "surround", "survey", "suspect", "sustain", "swallow", "swamp", "swap", "swarm", "swear", "sweet", "swift", "swim", "swing", "switch", "sword", "symbol", "symptom", "syrup", "system", "table", "tackle", "tag", "tail", "talent", "talk", "tank", "tape", "target", "task", "taste", "tattoo", "taxi", "teach", "team", "tell", "ten", "tenant", "tennis", "tent", "term", "test", "text", "thank", "that", "theme", "then", "theory", "there", "they", "thing", "this", "thought", "three", "thrive", "throw", "thumb", "thunder", "ticket", "tide", "tiger", "tilt", "timber", "time", "tiny", "tip", "tired", "tissue", "title", "toast", "tobacco", "today", "toddler", "toe", "together", "toilet", "token", "tomato", "tomorrow", "tone", "tongue", "tonight", "tool", "tooth", "top", "topic", "topple", "torch", "tornado", "tortoise", "toss", "total", "tourist", "toward", "tower", "town", "toy", "track", "trade", "traffic", "tragic", "train", "transfer", "trap", "trash", "travel", "tray", "treat", "tree", "trend", "trial", "tribe", "trick", "trigger", "trim", "trip", "trophy", "trouble", "truck", "true", "truly", "trumpet", "trust", "truth", "try", "tube", "tuition", "tumble", "tuna", "tunnel", "turkey", "turn", "turtle", "twelve", "twenty", "twice", "twin", "twist", "two", "type", "typical", "ugly", "umbrella", "unable", "unaware", "uncle", "uncover", "under", "undo", "unfair", "unfold", "unhappy", "uniform", "unique", "unit", "universe", "unknown", "unlock", "until", "unusual", "unveil", "update", "upgrade", "uphold", "upon", "upper", "upset", "urban", "urge", "usage", "use", "used", "useful", "useless", "usual", "utility", "vacant", "vacuum", "vague", "valid", "valley", "valve", "van", "vanish", "vapor", "various", "vast", "vault", "vehicle", "velvet", "vendor", "venture", "venue", "verb", "verify", "version", "very", "vessel", "veteran", "viable", "vibrant", "vicious", "victory", "video", "view", "village", "vintage", "violin", "virtual", "virus", "visa", "visit", "visual", "vital", "vivid", "vocal", "voice", "void", "volcano", "volume", "vote", "voyage", "wage", "wagon", "wait", "walk", "wall", "walnut", "want", "warfare", "warm", "warrior", "wash", "wasp", "waste", "water", "wave", "way", "wealth", "weapon", "wear", "weasel", "weather", "web", "wedding", "weekend", "weird", "welcome", "west", "wet", "whale", "what", "wheat", "wheel", "when", "where", "whip", "whisper", "wide", "width", "wife", "wild", "will", "win", "window", "wine", "wing", "wink", "winner", "winter", "wire", "wisdom", "wise", "wish", "witness", "wolf", "woman", "wonder", "wood", "wool", "word", "work", "world", "worry", "worth", "wrap", "wreck", "wrestle", "wrist", "write", "wrong", "yard", "year", "yellow", "you", "young", "youth", "zebra", "zero", "zone", "zoo"]
import os, binascii, hashlib, base58, ecdsa def ripemd160(x): d = hashlib.new('ripemd160') d.update(x) return d def generate_addr(seed): bytearray_seed = HexToByte(seed) seed_hash = hashlib.sha256(bytearray_seed).digest() seed_hex = binascii.hexlify(seed_hash).decode() seed_fullkey = '80' + seed_hex # till here is fine def ByteToHex( byteStr ): return ''.join( [ "%02X " % ord( x ) for x in byteStr ] ).strip()
def HexToByte( hexStr ): bytes = []
hexStr = ''.join( hexStr.split(" ") )
for i in range(0, len(hexStr), 2): bytes.append( chr( int (hexStr[i:i+2], 16 ) ) )
return ''.join( bytes )
def entropy(words): entropystring="" wordlist= re.split(" ",words) for word in wordlist: index=0 for englishword in english: if englishword == word: entropystring += int_to_padded_binary(index,11) break index+=1 print("entropystring", entropystring) entropy_ex = binary_to_padded_hex(entropystring[:-4], 32) return entropy_ex
def int_to_padded_binary(num, padding): return bin(num)[2:].zfill(padding)
def binary_to_padded_hex(bin, padding): num = int(bin, 2) return '0x{0:0{1}x}'.format(num, padding)
def pinToAesKey(passphrase, isMnemonicSeed): mnemonicSeed = passphrase;
if (isMnemonicSeed == False): mnemonicSeed = PBKDF2( passphrase, "", 16, 2048/2, lambda p,s: HMAC.new(p,s,SHA256).digest()) mnemonicSeed=ByteToHex(mnemonicSeed).replace(" ", "").lower()
encryptionKey = PBKDF2( mnemonicSeed, "", 32, 2048/2, lambda p,s: HMAC.new(p,s,SHA256).digest()) encryptionKey = ByteToHex(encryptionKey).replace(" ", "").lower()
print(encryptionKey) return encryptionKey
def decrypt(secret, passphrase, isMnemonic): HEX_KEY = pinToAesKey(passphrase, isMnemonic); key = HexToByte(HEX_KEY) cipher = AES.new(key, AES.MODE_ECB) #CryptoJS.lib.CipherParams.create({ ciphertext: CryptoJS.enc.Base64.parse(b64ciph) }); dec = cipher.decrypt(binascii.a2b_base64(secret).rstrip()) #dec = CryptoJS.AES.decrypt(cipher, key, { mode: CryptoJS.mode.ECB }); dec = dec.replace("\x10","") print(dec) return dec;
m = mnemonic.Mnemonic('english')
mnemphrase = "bless wage during setup review cupboard symbol lake release coin live champion" entropy_hex = entropy(mnemphrase)
print("Entropy hex:", entropy_hex) print("Entropy:", entropy_hex[2:])
BTC_Seed = "nCMd4GWsqRuakijg2EakDHTXuTow3jXfQfO38AU7c449/XPqgjTb+EEhyOPSazZtiQiCzpVKGUoPK2wgY6CkmjZDK/NC2KBB0rFEGF+OVtNSUqMUfwFQOkbm2E96rGiquH7FZPcoD8Gtcmk+qL+KBxQi2izx5aPUxLWVux8QCogPvagMUe/FfIp0jcxipS4b" seed = decrypt(BTC_Seed, entropy_hex[2:], True)
generate_addr(seed)
#key = bitcoin.ECPair.fromPassphrase(seed); #pubkey = key.getPublicKeyBuffer().toString('hex');
#if ("" != pubkey): # print("Confirmed") #else: # print("wrong")
#Secrets: #BTC: "nCMd4GWsqRuakijg2EakDHTXuTow3jXfQfO38AU7c449/XPqgjTb+EEhyOPSazZtiQiCzpVKGUoPK2wgY6CkmjZDK/NC2KBB0rFEGF+OVtNSUqMUfwFQOkbm2E96rGiquH7FZPcoD8Gtcmk+qL+KBxQi2izx5aPUxLWVux8QCogPvagMUe/FfIp0jcxipS4b" #BTCTEST: "0pY865pVLLWaNB3I/jT0SgeJIY4qAw1tQGhvS/gdbgVThZlqnNGY3DFBNg8PNYatkUEr9ZnAiHlo0oBFyxu4OPfi9oeQAZFzwuisPHmXLJHaadGnYJ1cHoW3lJWhc8SKjvZrPpsigi+uEMy8AOxwQR7fTjoZTMVyxWhGQM6WDLsPvagMUe/FfIp0jcxipS4b" #DOGE: "omykSzqJgNHerzNmoc2NP7F6IvrpFzFkSCTaGp2QH/Rb0kNuDK2CI0Wnb7ASn4pYSpIWpS6BSV4gnImcehKGim1mGJvvsDBNrI9pT/W8WYOwPoJ5jpDOempdBAYrNFfdeY1yeJFVbUuOq3dlh8M0NQ5p1LF88RDyRjQPxS/4HRoPvagMUe/FfIp0jcxipS4b" #DOGETEST: "IZGNvTWVKzRWRWqW6K/tBCf8FmqSRkU+uR5o2CpqTdC8bav/tevrWaF1fHcxLimS8Oo40qYtVFSuGcUwnosIVmE1GedOBeKn/fKpwQS/h9ikf6GwTPNIzmNG4gofqCdrLl89xA3/HkdvBp+Q7UIunrmQnXVOp4/O1aSLhuUW8iUPvagMUe/FfIp0jcxipS4b" #LTC: "iS1FZUclmSpgD+bBwo0brz59JYkojs85e1rPQheYw2TK0WGHLZc7bULBCEz6ecm5I5doXoVGkXxUVpK/WY6mwvbctb/KZHrSeiuQoMJlzmwVp+XUQuDGTQhwROA64BNCYDssDZqhJ59rM8PfrGtaealPNGmjdOv2cdCS8vsuyGwPvagMUe/FfIp0jcxipS4b" #LTCTEST: "EH+XfwynUa8RmI8ydAAv3vuZjnMHY4/zc+VappgDpPTAL+m6bCqbqBwsyHxrMuWdm/ae0xqX+g2j/ZWWfP3/R7/sVOPqZsyN7kihG1nBJjsOtfbT910kgj9VWaWVOVGtyN8JdIcZrUcKcW62FbaB/T9O5Va57fu1yRl/P4nPQsgPvagMUe/FfIp0jcxipS4b"
#Pubkeys: #BTC: "039f6f9b10655797a1c365e36b4717c478236fcee9339c17e9b69fb0b38d47b9ba" #BTCTEST: "03807de6cd7742c0b869a162b024bd9f35fae0bdf193f0d69cbdc081427d0249ec" #DOGE: "02952ce4a6f811230a5dc31d1321f8fdf87c5cef07bd2d18a4ea63f53fff224380" #DOGETEST: "026396883cb101457973f34ff9e4aa6f776abf62513959b6cf79e0d26856bcb9ff" #LTC: "027e68e7a853d469913c1e175321de0eee687c9f0bffce0e23e4a1ed885c497e7b" #LTCTEST: "02e3713c13e1cfab1298d15b3b2748d1ef943a960d8629b98cc36ff05706cb8a2d"
Title: Re: Come ritrovare parola mancante
Post by: dende93 on July 06, 2019, 08:38:53 AM
Grazie a tutti coloro che si sono impegnati per risolvere il mio problema! Sono stato sempre in giro così non ho tenuto sott'occhio la discussione, ma ci tengo a ringraziarvi per il vostro tempo! Io devo essere sincero non ci capisco molto di quello che avete scritto, un linguaggio che mi è alieno, perciò aspetterò che ltc abbia qualche zero in più e la ricompensa sarà più succosa ! Grazie ancora a tutti
Title: Re: Come ritrovare parola mancante
Post by: jack0m on July 06, 2019, 12:17:51 PM
Grazie a tutti coloro che si sono impegnati per risolvere il mio problema! Sono stato sempre in giro così non ho tenuto sott'occhio la discussione, ma ci tengo a ringraziarvi per il vostro tempo! Io devo essere sincero non ci capisco molto di quello che avete scritto, un linguaggio che mi è alieno, perciò aspetterò che ltc abbia qualche zero in più e la ricompensa sarà più succosa ! Grazie ancora a tutti
bè, se non altro adesso sai che recuperare l'accesso è tecnicamente possibile ;)
Title: Re: Come ritrovare parola mancante
Post by: dende93 on July 19, 2019, 08:05:50 AM
Non ci crederete ::), ho fatto un ultimo disperato tentativo con tutti i pin che avrei potuto usare e finalmente l'ho trovato! Non ho idea del perché scelsi un pin impossibile da ricordare ma ce l'ho fatta! Comunque farò tesoro dei vostri consigli qualora dovesse capitare a qualcun'altro (io non farò mai più un errore del genere). Ora mi sa che lo scambio per un milione di satoshi, o aspetto il dopo halving che è tra un paio di settimane, che dite voi?
Title: Re: Come ritrovare parola mancante
Post by: alexrossi on July 19, 2019, 07:51:24 PM
Secondo me riesci a recupeare l'LTC solo se la parola mancante era all'inizio o alla fine del seed, altrimenti davvero non ha senso sbattere la testa
Perché ? cosa cambia tra l'inizio/fine ed una qualsiasi posizione intermedia in termini probabilistici ? ??? (ovviamente a parità di numero di posizioni da provare, cioè che ne so la terza e la quarta al posto della prima e dell'ultima) Quello che hai detto tra parentesi è correttissimo: ovvero se fossero solo 2 posizioni da provare (mentre generalmente se è una parola mancante nel mezzo, le alternative sono molte di più).
|