Bitcoin Forum
May 07, 2024, 04:08:43 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 »
341  Bitcoin / Project Development / The FinderOuter, a bitcoin recovery tool (v0.19.1 2024-01-24) on: January 01, 2020, 05:07:03 AM
Table of Contents

__________

Introduction
The FinderOuter is a bitcoin recovery tool that focuses on making the recovery process easy for everyone with any level of technical knowledge. It uses a simple user interface with a list of recovery options. Each option has an explanation and many hints helping user figure out what is needed. It always consist of filling some text boxes and selecting some options and finally clicking the Find button. This eliminates the need to read long guide pages on how to use the application. Each option also has some example cases that can show a simple preview of how each option should be filled for different cases.
FinderOuter is specialized for maximum efficiency, each recovery option and their parts are written from scratch and all those parts down to the basic cryptography used (such as SHA, ECC,...) are specialized for that operation.

Thanks to .Net core and AvaloniaUI FinderOuter can run on all operating systems.
This project is written fully in C# and is 100% open source and will always remain free to use. You can make a donation if you found this tool useful..
FinderOuter is still in beta and under development. New features are slowly added and everything is optimized.
Contribution is always welcome. Please report any bugs you find or any improvement suggestions you have by creating a new issue.


Quick guide
  • Select an option from this list depending on what you want to recover
  • Read the instructions
  • Fill in the required information
  • Select appropriate available options according to the entered data
  • There are some useful advanced options to speed up the recovery
  • Click Find button
  • See the progress and the reports
  • Progressbar showing the progress percentage shows up for options that use multi-threading (take more than a couple of seconds to complete)
  • All recovery options come with examples, click this button repeatedly to cycle through them
  • Some parts have a help button that brings up the respective FinderOuter knowledge base page





Features
1. Message signature verification
User can enter a message signature here to verify it. In case there is a problem with the message (except being an actually invalid signature), the code can search to find the common issues that some signing tools have and fix them.

2. Missing Base-58 characters
This option can be used to recover any base-58 encoded string with a checksum that is missing some characters. For example a damaged paper wallet where some characters are erased/unreadable. The position of missing characters must be known.
It works for (1) WIFs (Base-58 encoded private key) (2) Addresses (Base-58 encoded P2PKH or P2SH address) (3) BIP-38 (Base-58 encoded encrypted private key).

3. Missing Base-16 characters
This option is similar to previous feature but works for base-16 (hexadecimal) private keys. Since there is no checksum in this encoding it requires an additional input to check each permutation against. It accepts any address type and public keys. This option is slower in comparison because it uses ECC and that is not yet optimized.

4. Missing mini-privatekey characters
This option is similar to 2 and 3 but works for mini-privatekeys (eg. SzavMBLoXU6kDrqtUVmffv). It requires the corresponding address or public key of the minikey to check each possible key against, as a result it is also slower since it depends on ECC and has 2 additional hashes.

5. Missing mnomonic (seed) words
This option works for both BIP-39 and Electrum mnemonics that have some missing words. It requires knowing one child (private/public) key or address created from that seed and the exact derivation path of it.

6. Missing mnemonic passphrase
This option is used to recover the extension words (aka passphrase) used in mnemonics. It works for both BIP-39 and Electrum mnemonics algorithms. The available passphrase recovery modes are:
a. Alphanumeric: This is when the passphrase consists of letter, numbers and symbols and is random. Example: OT!pA?8i
b. CustomChars: This mode allows user to define their own set of characters to be used in the passphrase. c. soon

7. Missing BIP-38 password
This option can recover passwords used in encrypting bitcoin private keys using the BIP-38 proposal. The available password recovery modes are the same as mnemonic passphrase option.

8. Missing BIP-32 derivation path
This option could be used to find derivation path of a child key (private key, public key or the address) by having the mnemonic or the extended master keys (xprv or xpub). It only checks a hard-coded list of popular derivation paths.

9. Missing characters in Armory recovery phrase
This option is used to recover Armory paper backups (containing 2 or 4 lines of 36 characters in Base-16 with custom char-set) that are missing some of their characters. Since the last 4 characters of each line is the checksum this option can be very fast (1 trillion keys/sec) if the checksum is available or extremely slow (100 key/sec) if not.

10. Missing string encoding
This option could be used to determine the encoding of an arbitrary text. It currently supports Base-16, Base-43, Base-58, Base-58 with checksum and Base-64. All inputs will be converted to hexadecimal.



Links
Source code on GitHub: https://github.com/Coding-Enthusiast/FinderOuter
Want to help?
Review the code and leave your feedback in this topic about the code, features any possible bug(s), ...
Contributions are always welcome. Here is the conventions that FinderOuter adheres to.

If You found this tool helpful consider making a donation:
1Q9swRQuwhTtjZZ2yguFWk7m7pszknkWyk
bc1q3n5t9gv40ayq68nwf0yth49dt5c799wpld376s



To Do List (aka future features!)
See roadmap here: https://github.com/Coding-Enthusiast/FinderOuter/issues/47
  • [ ]Optimize, Optimize and more Optimize.
  • [ ]Utilize SIMD.
  • [ ]Add support for other base-58 strings such as extended private keys.
  • [X]Add BIP32 path finder.
  • [X]Add password recovery.
  • [X]Add BIP-39 passphrase recovery.
  • [X]Add BIP-38 password recovery.
342  Other / Meta / Re: This is not a stake your Bitcoin address here thread,but an interesting reminder on: December 30, 2019, 03:01:04 PM
You may need to give some clues here at some point ...

https://bitcointalk.org/index.php?topic=5213659.0
Happy 2020
343  Bitcoin / Bitcoin Discussion / A fun little Christmas themed brain teaser [Solved] on: December 30, 2019, 02:59:41 PM
Edit: This puzzle is solved and the reward was claimed by hatshepsut93, congratulations. You can read the technical details in this post. Hope everyone enjoyed this and maybe learned a thing or two.

A couple of days ago I found myself among kindred souls in a topic in meta board talking about signing messages and whatnot. Kudos to DdmrDdmr that gave an idea for a fun little brain teaser for those who have a keen sense of adventure, a knack for solving puzzles and are not afraid to peep through the keyhole to kick start the year with their knowledge increased or boost your karma.
In order not to kidnap that thread anymore, I’ve started a new topic here.
As we approach 2020, whether you are celebrating Christmas with pine kones or Kwanzaa with a kerosene candle you can still kneel beside the fire with a keg of eggnog while warming your knuckles with kindling to solve a puzzle.

Code:
-----BEGIN BITCOIN SIGNED MESSAGE-----
Even Santa owns bitcoin.
-----BEGIN SIGNATURE-----
14B3NsuKDk5piqnw71U9kDuSmvMJnYprnr
IDe7ItP3r+hmjpsoVhMy2eNzSoE5v+E50sCUdBRWQDYJUMpKPv3rhuklK0wyEU13rnGRH09e084T5fgr39MGWKs=
-----END BITCOIN SIGNED MESSAGE-----

As the year us 2020, 20 merit reward shall be waiting for he who can figure out what two mysteries are hidden in this. 10 per mystery Wink
Happy 2020 everyone...
344  Other / Meta / Re: This is not a stake your Bitcoin address here thread,but an interesting reminder on: December 28, 2019, 06:29:07 AM
Here is a small puzzle to solve in the holiday. Try to figure out what is interesting about this message and receive up to 20 merits from me. There is 2 interesting parts, 10 merit per part Wink
Happy 2020 everyone.

This shall have its own topic https://bitcointalk.org/index.php?topic=5213659.0
345  Bitcoin / Project Development / Re: [Projects] List of all projects and ideas+Suggestion box+About me(update 7-2019) on: December 24, 2019, 06:27:43 AM
Plans for 2020:
My new year's resolution is to limit the number of projects I have to a manageable number and do more releases.
I will release 2 new projects in 2020 that are mostly an aggregation of nearly all of the projects both released and unreleased that I have made in that past 3-4 years.
Since both of these projects are written from scratch the development is going to be slow although I have written most the code already it still requires lots of testing, optimization and some other considerations. Because of that I will try a new approach of releasing the code first and then adding/changing it as I go. I'll also introduce a new versioning convention to keep things clear.

The 2 new projects are:
1. The FinderOuter:
it is referred to as "SharpCracker" here, and it starts by focusing on bitcoin first and will have limited options but eventually I plan on adding more flexibility to it so it could be used for altcoins too.
The project covers StellarCracker and AddrConverter and Sharp Crypto projects.
Project link: https://github.com/Coding-Enthusiast/FinderOuter
Release date: 2020-01-01

2. Denovo:
This will be a full client that would include features of "Watch Only Bitcoin Wallet", "Bitcoin Transaction Tool", "Sharp Pusher", "Cryptocurrency.Net" and a lot more.
I have not yet decided whether to make it a multi-cryptocurrency project or only bitcoin. It will start with bitcoin though with flexibility to be changed in the future.
Release date: if things go well I'll release it in first couple of months of 2020.
346  Other / Beginners & Help / Re: Reminder: TestNet coins have no value whatsoever, don't get scammed. on: December 22, 2019, 03:14:33 PM
This is new

Not as new as you might think. We are using TestNet "3" for that reason. It has happened before on a larger scale and nowadays I am seeing an increase in some suspicious activities involving TestNet coins which is why I decided to start this topic.
347  Other / Beginners & Help / Reminder: TestNet coins have no value whatsoever, don't get scammed. on: December 22, 2019, 06:24:56 AM
TestNet is an alternate network with the same consensus rules as MainNet and some differences such as being easier to mine, allowing non-standard transactions,... as the name suggests, it exists to help developers test their code without worrying about the costs.

Because of that, the TestNet coins have no value. Be careful not to get scammed like this.

TestNet coins are also easily distinguished since the wallets are different (need to create a new special TestNet wallet) and the addresses use different format (start with: m or n instead of 1 for P2PKH, 2 instead of 3 for P2SH, and tb1 instead of bc1 for Bech32).

https://en.bitcoin.it/wiki/Testnet
348  Bitcoin / Development & Technical Discussion / Re: Bitcoin weak transaction nonce question on: December 08, 2019, 02:03:39 PM
How would anyone know if the program they use generates weak transaction nonces though?

You'll have to go through the code and see how ECDSA is implemented in the software you are using. A good way to avoid this bug and a bunch of similar ones is generating k deterministically instead of randomly. One way that is used in most Bitcoin implementations is RFC-6979.
349  Bitcoin / Development & Technical Discussion / Re: Bitcoin weak transaction nonce question on: December 07, 2019, 07:41:48 PM
What would it be, if the same s is re-used in the formula, but the r's are different?

s = (h+r*P)/k

h=hash
P=privateKey
k=nonce

If s is to be equal, then r, k and h must be the same.

Not true. If f(x)=a+b=12 then (a,b) can be (0,12), (1,11), (2,10),...
Things aren't different for modular arithmetic. Here is an example:

s = k-1 * (e + r*key) % N
N=17

e=4; key=7; k=1; r=7 => s=2
e=4; key=7; k=2; r=0 => s=2
e=4; key=7; k=3; r=10 => s=2

e=12; key=3; k=1; r=8 => s=2
e=12; key=3; k=2; r=3 => s=2
e=12; key=3; k=3; r=15=> s=2

e=12; key=10; k=1; r=16=> s=2

350  Bitcoin / Project Development / Re: [C#][Github] BitcoinTransactionTool. Make, Edit Tx; Make QR, CoinControl on: December 03, 2019, 07:04:20 AM
Version 0.10.0 released
- Major code improvement
- Fixed some bugs
- Support different address types
- Supporting all scripts and OP codes that are available in bitcoin
- Added a new window for writing and running scripts.

Version 0.10.1 released
- Small bug fixes
- Code improvement and cleanup of obsolete code
- Each OP button in script window now has a description explaining what it does
- QR window has the option to choose the input and output encoding (using other encodings such as Base43 could decrease the size of the QR code and also is compatible with some clients such as Electrum)

Version 0.11.0 released
- Small bug fixes
- Code improvements and changing the looks of script window, rearranging buttons,... and changed the code to make running scripts separate from writing them.
- Added script templates (4 for now: pubkey scripts based on addresses, OP_RETURN scripts, multi-sig redeem scripts, and the hash collision incentives)
351  Bitcoin / Development & Technical Discussion / Re: Writing/Running scripts by pressing buttons in a friendly GUI on: November 29, 2019, 12:38:23 PM
Hello, and why is disabled OP_CHECKLOCKTIMEVERIFY and OP_CHECKSEQUENCEVERIFY? The second one is very useful for creating bitcoin-testament smart conract, for example.

It is because I am not sure how to implement these two as an IOperation. In the near future I will add these OPs and also eventually will release my Cryptocurrency.Net library which would also mean additional features including signing, verification and communication with nodes.

In this topic I was hoping for some ideas on how to improve the user interface. For instance how would you like to create such smart contracts?
352  Bitcoin / Development & Technical Discussion / Re: Writing/Running scripts by pressing buttons in a friendly GUI on: November 28, 2019, 08:55:37 AM
I tried it and works without any problem on Windows 10. It doesn't work on Wine (default configuration) though.
I did some search and it seems like Wine has some known bugs related to WPF (GUI that is used in this project). I won't spend any time on fixing this because there is a much better way of solving the issue and that would be using a cross-platform GUI so that you don't need Wine, you simply run it as you run any other application in another OS (Windows, Linux, Mac,...).
Currently there are a couple of them that I'm aware of. The one that I feel comfortable with (also used by Wsabi wallet) is called Avalonia, but since it is in beta, it lacks a lot of functionality or to do certain things you have to bend over backwards (like the grid-like lists where you enter addresses and the list containing UTXOs with categorization and headers).
The migration is in my "roadmap" which would make it easy to run it under any other OS without needing anything else. Meanwhile if someone is familiar with Xaml and Avalonia feel free to contribute...

I've heard https://www.monodevelop.com/ allows you to create/port C# and .NET software into multiple OS.
You probably already know about it though.
That is an IDE (development environment, ie. where you write code and compile), what is needed here is a GUI that is a graphical user interface that doesn't require windows APIs (like WPF does) to run.


I've released a new version and added description to each button in script writer window explaining what they do. Also the QR window now lets you choose the encoding you want to use (eg. Electrum uses Base43 to encode raw unsigned transactions).
https://github.com/Coding-Enthusiast/BitcoinTransactionTool/releases/tag/0.10.1.0
353  Bitcoin / Development & Technical Discussion / Re: Writing/Running scripts by pressing buttons in a friendly GUI on: November 26, 2019, 07:39:12 AM
No, I hope you understand the joke :-)
I played around with it. Works very well.

Of course I recognize my own UTXO anywhere!
Try checking the script window and play around with that too and let me know what you think. I'll try to add more to it this week.
354  Bitcoin / Development & Technical Discussion / Re: Writing/Running scripts by pressing buttons in a friendly GUI on: November 25, 2019, 04:06:15 AM
One should not really download and run .exe and since until now nobody had requested compiled version I've never thought about it. In any case I published it using ClickOnce, more info can be found here: https://github.com/Coding-Enthusiast/BitcoinTransactionTool/releases/tag/0.10.0.0

I've tried migrating to Avalonia (a multi platform GUI) but it lacks a lot of functionality specially when it comes to lists, so for the time being this project will remain only for windows. I'll try looking into other alternatives to migrate to .net core entirely which would make publishing and compiling easier too.
355  Bitcoin / Development & Technical Discussion / Re: Trying to create a raw transaction - noob troubles on: November 24, 2019, 02:17:54 PM
It seems like a JSON parsing problem to me. You are giving the interpreter a JSON array (an array of outputs) so it should look like:
Code:
[
    {"FooKey": FooValue},
    {"BarKey": BarValue}
]
where keys are addresses and values are decimal amounts.
356  Bitcoin / Development & Technical Discussion / Re: Writing/Running scripts by pressing buttons in a friendly GUI on: November 24, 2019, 11:46:04 AM
That can be very useful. I will test it as soon as it gets published.
It is already on GitHub https://github.com/Coding-Enthusiast/BitcoinTransactionTool
Do you mean publishing the compiled binaries?

Quote
What are the "obvious" reasons for disabling some scripts?
You have to look at the buttons that are disabled for it to become obvious. These are a bunch of OP codes (such as OP_CAT, OP_Multiply,...) that were removed/disabled a long time ago. Since their names still exist in the source code and documentation, I also have them here as disabled buttons.
357  Bitcoin / Development & Technical Discussion / Writing/Running scripts by pressing buttons in a friendly GUI on: November 24, 2019, 10:54:52 AM
I'm always a fan of simplifying things and building GUIs and ever since I saw the Miniscript project I wanted to make that happen. Since I recently resumed working on one of my oldest projects (Bitcoin Transaction Tool) I decided to add it as a new feature to that project, for writing and running scripts at the same time.

It can be found under Tools > Script builder (or press F3). It currently supports all OP codes except the disabled ones (for obvious reasons) and *checksig OPs (since to support them I had to copy about 6000 lines of code into this project) and 2 locktime related OPs and CodeSeparator (because I haven't had time to understand how they work!). OPs are also categorized and can be filtered by using the ComboBox on top for ease of finding them.
Writing the script will also run it, the result of it is shown in a text box and the "box" at the bottom right is a list representing the "stack".

I plan on working on it and add more more features such as adding pre-defined script that only need filling up the data part. But before that I wanted to get some feedback about what you think about something like this, how can I improve it,...

Here is a preview:
358  Bitcoin / Development & Technical Discussion / Re: Does core have any SHA256 SIMD parallelization code for "ONE" message? on: November 10, 2019, 05:07:25 AM
Even older Xeons have AES-NI, ... is that different or part of SHA-NI?

Yes, they are different (in case it wasn't clear, AES is Advanced Encryption Standard). There are hundreds of CPU intrinsics available. You can see Intel's intrinsics here: https://software.intel.com/sites/landingpage/IntrinsicsGuide/
AES is a group of them that they added in a lot more CPUs compared to SHA so it is normal to see old/cheap CPUs support it.
359  Bitcoin / Development & Technical Discussion / Re: Does core have any SHA256 SIMD parallelization code for "ONE" message? on: November 09, 2019, 04:48:23 PM
Damn, I was afraid of this. It looks like assembly code and I can't read it. Gotta put it in the to-do list now.

State of the art is ... get a CPU that doesn't suck. Smiley SHA-NI is much faster than any of these SIMD techniques esp in the one message case.
Yeah, I've been reading some benchmarks on this. It's fantastic. It is surprising that only a handful of CPUs have SHA Extensions although Intel introduced it in 2013!
360  Bitcoin / Development & Technical Discussion / Does core have any SHA256 SIMD parallelization code for "ONE" message? on: November 08, 2019, 06:22:36 AM
I am currently exploring parallelization of SHA256 algorithm using SIMD based on a paper I've found which is basically parallelization of the "message scheduling" step that according to the authors takes up 26% of the computation time.

If I understand bitcoin core's code (eg. AVX2), it seems like it doesn't support computing SHA256 of a large data using SIMD (eg. SHA256 of a single 512+ byte long data), but only has the code for computing SHA256 of multiple messages in parallel (ie. SHA256 of m1, m2, ..., m8) and return multiple hashes (ie. h1, h2, ... h8).

If I am reading the code wrong, please explain how it does that.
And if I am right then is there any reason why they didn't add this feature? It seems to be useful for computing the message digest of a big transaction specially the legacy ones which could easily be bigger than 512 bytes.

P.S. If you have any scientific paper about this topic that is newer than 2012 please let me know.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!