Jump to content

"repairPrivKey" Zum Reparieren eines beschädigten Priv. Key´s.


MixMax
 Share

Recommended Posts

Möchte jetzt hier in einem eigenem Thread mein kleines Programm noch mal vorstellen.

 

Hier kann ein Bitcoin Priv. Key mit einigen wenigen fehlenden Zeichen wiederhergestellt werden.

https://github.com/MrMaxweII/repairPrivKey/releases

Den Quellode und die Beschreibung mit Bildern findet ihr hier. https://github.com/MrMaxweII/repairPrivKey

 

Kurze Beschreibung:

Geben Sie den beschädigten Priv.Key ein und ersetzten Sie die fehlenden Zeichen durch ein "_" Unterstrich.

z.B. so: 5_5ZyFA5NqiBzCbiaTh5KYJmSh7dXdk65DvGkcx9G6ydsj83T_1

Geben Sie dann die zugehörige Bitcoin Adresse in das untere Feld ein und drücken Sie den Suchen Button.

Bei 4 fehlenden Zeichen kann der Priv.Key in 10min. errechnet werden. Fehlen mehr Zeichen, steigt die Berechnungszeit exponentiell an. Die geschätzte Rechenzeit wird unten angezeigt.

 

Das Ganze ist eine Demoversion die erst mal nur 2 fehlende Zeichen unterstützt.
Die Vollversion erhaltet ihr, wenn ihr einen beliebigen Betrag spendet. (Wirklich egal wie viel)


- die Größe der GUI kann jetzt auch angepasst werden

 

 

 

Edited by MixMax
  • Thanks 5
Link to comment
Share on other sites

Am 10.12.2018 um 17:29 schrieb MixMax:

Den Quellode und die Beschreibung mit Bildern findet ihr hier. https://github.com/MrMaxweII/repairPrivKey

 

Ohne dass ich mir grad den Quellcode anschaue ...

... Du errechnest aus dem Priv-Key die Adresse und schaust ob das dann übereinstimmt?

Und ohne dass ich das grad im Kopf habe, aber enthält auch der PrivateKey nicht eine "Prüfziffer", sodass Dueinfach nur solange Zeichen einsetzen müsstest bis ein Key entsteht, dessen Prüfsumme zur Prüfziffer passt? Wäre das nicht einfacher? (falls die Prüfziffer defekt ist, wird's aufwendiger ... klar)

Weitere Optimierungsidee: Es sind ja nur bestimmte Zeichen erlaubt, also nicht "0", "o" und "O", da es dabei Verwechslungen geben kann - wie wäre es, wenn Du solche Fehleingaben auch in Deinem Tool mit abdeckst und ungültige Zeichen zum "nächstgelegenen" gültigen Zeichen machst, bzw. dem User eine Info gibst? (falls das Tool es schon kann: Sorry, hab's nicht getestet)

 

Ansonsten: Super Tool, das wird in der Zukunft bestimmt noch häufiger gebraucht werden.

Edit: Bin ich erst der Einziger, der "Thanks" gedrückt hat ?!?

Edited by Jokin
  • Thanks 1
  • Like 1
Link to comment
Share on other sites

Ich habe mal ganz kurz in den Quellcode geschaut und konnte schonmal nichts sehen, das den Private Key dann wegschickt 😉 Trotzdem keine Garantie von mir ^^

In dem anderen Thread hatten einige denke ich Angst vor einem Online Dienst, dem man alles überlässt. Das hier könnte man komplett offline betreiben. Sieht gut aus :)

vor 58 Minuten schrieb Jokin:

Weitere Optimierungsidee: Es sind ja nur bestimmte Zeichen erlaubt, also nicht "0", "o" und "O", da es dabei Verwechslungen geben kann - wie wäre es, wenn Du solche Fehleingaben auch in Deinem Tool mit abdeckst und ungültige Zeichen zum "nächstgelegenen" gültigen Zeichen machst, bzw. dem User eine Info gibst? (falls das Tool es schon kann: Sorry, hab's nicht getestet)

Das mit dem 0,O,I,l etc hat er schon drin. Er verwendet einen festen Base58-Zeichensatz. Das mit der Prüfsumme habe ich nicht direkt entdeckt, vielleicht hab ichs aber übersehen.

Also: Vielen Dank!

  • Like 1
Link to comment
Share on other sites

vor 46 Minuten schrieb Jokin:

... Du errechnest aus dem Priv-Key die Adresse und schaust ob das dann übereinstimmt?

Ganz genau so.

 

vor 47 Minuten schrieb Jokin:

Und ohne dass ich das grad im Kopf habe, aber enthält auch der PrivateKey nicht eine "Prüfziffer", sodass Dueinfach nur solange Zeichen einsetzen müsstest bis ein Key entsteht, dessen Prüfsumme zur Prüfziffer passt? Wäre das nicht einfacher? (falls die Prüfziffer defekt ist, wird's aufwendiger ... klar)

Ja die die Prüfziffer gib es. Aber nicht jeder Key bei dem die Prüfziffer stimmt, ist auch der richtige Key. Die Optimierung an der Stelle ist schwierig, weil die Prüfziffer (2xSHA256) im Hexa Format angehängt wird, und erst danach in das Base58 Format umgerechnet wird. Aber du hast natürlich Recht, wenn man Optimieren möchte, muss man sicher hier ansetzen.

 

vor 55 Minuten schrieb Jokin:

Weitere Optimierungsidee: Es sind ja nur bestimmte Zeichen erlaubt, also nicht "0", "o" und "O", da es dabei Verwechslungen geben kann - wie wäre es, wenn Du solche Fehleingaben auch in Deinem Tool mit abdeckst und ungültige Zeichen zum "nächstgelegenen" gültigen Zeichen machst, bzw. dem User eine Info gibst? (falls das Tool es schon kann: Sorry, hab's nicht getestet) 

Ich habe noch garnix optimiert weil das viel Arbeit ist. Würde ich dann machen, wenn Bedarf besteht. Allerdings werden natürlich nur Base58 Zeichen im Programm inkrementiert.
Siehst du direkt, wenn du es mal laufen lässt.


Das man auch unerlaubte Zeichen nicht eingeben kann, ist noch nicht drin.  Ist aber ne Kleinigkeit was ich gleich mal mache für die nächste Version.


Bis dahin mal vielen Dank für das Feedback! 🙂

 

  • Like 1
Link to comment
Share on other sites

Hallo @MixMax,

da ich anscheinend Dein Tester bin, hier die nächste Meldung. 😉
Die GUI (Fläche) skaliert jetzt, Die Schrift nur bis zu einer max. Größe. Dann bleibt sie in dieser Größe.

Als Key empfehle ich auch die komprimierte Form, also z.B. L3PeLQ48WHbTEUgQRbcazfp1BzAfKRuWgHQkWXVCQ7dthwkp91Lc.
Und natürlich nicht SegWit vergessen.  Beides wird heute standardmäßig von vielen verwendet.

Na dann zur Version 1.3. 😉 

Axiom

  • Thanks 1
Link to comment
Share on other sites

Also die max. Größe der GUI finde ich jetzt erst mal ausreichend.

- Komprimiertes Format ,  wird gemacht

- SegWit Adressen? Ich kenn nur SegWit Transaktionen.

Meinst du vielleicht Mulit-Signatur-Adessen die mit einer 3 beginnen? (Ja diese fehlen auch noch)

Edited by MixMax
Link to comment
Share on other sites

vor 5 Stunden schrieb MixMax:

Also die max. Größe der GUI finde ich jetzt erst mal ausreichend.

- Komprimiertes Format ,  wird gemacht

- SegWit Adressen? Ich kenn nur SegWit Transaktionen.

Schau Dir mal 

Wobei BIP49 das Ableitungsschema für HD-Wallets unter Verwendung des Serialisierungsformats P2WPKH-Nested-in-P2SH ( BIP 141 ) für segregated witness Transaktionen ist.

 

vor 5 Stunden schrieb MixMax:

Meinst du vielleicht Mulit-Signatur-Adessen die mit einer 3 beginnen? (Ja diese fehlen auch noch)

Multisignaturen sind was anderes. Fangen aber auch mit 3 an, weil alle mit 3 beginnenen Adressen sind eingebettete Adresse.

Axiom

 

PS: Schau am besten mal hier https://iancoleman.io/bip39/

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.