Zum Inhalt springen

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


MixMax

Empfohlene Beiträge

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

 

 

 

Bearbeitet von MixMax
  • Thanks 5
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ?!?

Bearbeitet von Jokin
  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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)

Bearbeitet von MixMax
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.