jatchili / minimalist-ripple-client

minimalist ripple client
https://jatchili.github.io/minimalist-ripple-client/
GNU General Public License v2.0
144 stars 58 forks source link

minimalist jatchili keyprivate (start 3) #20

Open yannis555 opened 6 years ago

yannis555 commented 6 years ago

Hello everybody,

I have a problem i created a wallet on minimalist jatchili a year ago and the client gave me a private key not starting with s ... but 34CB ....

I see my xrp and no error message when I put setidentity with the 34CB but when I try to send it my mistake MaxLedger. I have seen topics that speak of key rekeying but concrete solutions. I have a lot of money stuck ...

I saw that it could be encrypted?

I do not have an address where the address starts with 3, I created 3 wallet from client when I decided to invest in the ripple, the solution will get a reward.

sending error {"result":"tejMaxLedger","result_message":"Transaction LastLedgerSequence exceeded","engine_result":"tejMaxLedger","engine_result_message":"Transaction LastLedgerSequence exceeded","message":"Transaction LastLedgerSequence exceeded","stack":"n@https://jatchili.github.io/minimalist-ripple-client/:200:13271\nripple</n.prototype._updatePendingStatus/<@https://jatchili.github.io/minimalist-ripple-client/:202:2513\nripple</n.prototype.forEach@https://jatchili.github.io/minimalist-ripple-client/:201:4169\nripple</n.prototype._updatePendingStatus@https://jatchili.github.io/minimalist-ripple-client/:202:2308\ne@https://jatchili.github.io/minimalist-ripple-client/:201:31863\nripple</e.prototype.emit@https://jatchili.github.io/minimalist-ripple-client/:204:12193\nripple</n.prototype._handleLedgerClosed@https://jatchili.github.io/minimalist-ripple-client/:198:7695\nripple</n.prototype._handleMessage@https://jatchili.github.io/minimalist-ripple-client/:198:6987\ne@https://jatchili.github.io/minimalist-ripple-client/:198:5668\nripple</e.prototype.emit@https://jatchili.github.io/minimalist-ripple-client/:204:12193\nripple</n.prototype.connect/r.onmessage@https://jatchili.github.io/minimalist-ripple-client/:200:28261\n"}

Thanks

rongerhards commented 6 years ago

I have the same problem. Rekeyed, and the new secret key starts with a 3. the minimalist client is the only one that recognizes it, but i cannot re-enable the master key (which was disabled when i rekeyed).

yannis555 commented 6 years ago

I send you my email address because I have been going around for a long time and I have thousands of euros on these addresses and no solution anywhere.

yannis.g@protonmail.com

rongerhards commented 6 years ago

I’ll let you know if I come up with something. The good news is this: Putting the funky 52 character secret key into the minimalist client does generate the REAL new secret key at some point, otherwise it wouldn’t be able to come up with the new regular key, which shows all the correct info for the account. Unfortunately, the REAL new secret key does not get passed on when doing transactions.

I’m looking through the code now to see if I can find how the funky key is translated to the real key.

yannis555 commented 6 years ago

I had a look at the source code of the page but without success and I will still look I may be missing something I do not think.

I had just sent you a message on xrpchat ..

But honestly I desperate I have tried everything for weeks, it should be a reply from a developer jatchilli because I tried everything I think ...

rongerhards commented 6 years ago

Actually, the script generates the correct regular address from the 52 character secret code while not connected to the ripple network. Which means it is done in the javascript when “set identity” is pressed, or it is sent to https://jatchili.github.io/minimalist-ripple-client/ https://jatchili.github.io/minimalist-ripple-client/ and gets the regular address from there.

yannis555 commented 6 years ago

OK I release once received no problem? I did not find anything in the source code of the page

rongerhards commented 6 years ago

I think we will find the answer here: https://github.com/jatchili/minimalist-ripple-client/commit/ee429da487bb6162d7877ef3a822a79faf51d695

rongerhards commented 6 years ago

Line 589 in the code:

function generateRekeyedKey() { var keypair = generateAddress();

yannis555 commented 6 years ago

I see the indicated area but it seems rather descriptive, I see no otion rules on my right pane. I'm a little lost think there are orders to make?...

rongerhards commented 6 years ago

Now i'm looking at the actual code at https://github.com/jatchili/minimalist-ripple-client/blob/master/dev.html

Line 470 is called when the "set identity" button is pushed

function pressSetIdentity() { var secret = document.getElementById("mysecret").value; if (document.getElementById("myaddress").innerHTML) { alert("you must clear the old identity first"); } else if (secret) { if (secret.charAt(0) === "s" && setOrdinarySecret(secret)) { // pass } else if (secret.charAt(0) === "3" && setRekeyedSecret(secret)) { // pass } else if (secret.charAt(0) === "h" && setEncryptedSecret(secret)) { // pass } else { alert('"'+secret+'" is not a valid secret'); } } else { alert("you must enter a secret"); } }

It's checking to see if you are putting in a real secret key that starts with an "s" or the one that starts with a "3" if it's a 3, then it passes if the 3 is followed by the characters created by setRekeyedSecret(secret)) function:

function setRekeyedSecret(secret) { // This uses a custom format that is specific to this application: // ripple.Base.encode_check(VER_REKEYED, regular_key_secret concat master_secret) if (secret.length < 2) { return false; } var b = ripple.Base.decode_check(VER_REKEYED, secret); if (isNaN(b)) { return false; } var y = ripple.sjcl.codec.bytes.fromBits(b.toBits()); if (y.length !== 32) { return false; } var rks = ripple.Base.encode_check(ripple.Base.VER_FAMILY_SEED, y.slice(0,16)); var ms = ripple.Base.encode_check(ripple.Base.VER_FAMILY_SEED, y.slice(16)); var ra = generateAddress(ms).address; setIdentity(ra, secret, ms); remote.setSecret(ra, ms); remote.setSecret(generateAddress(rks).address, rks); redefineSigningToAlwaysUseSecret(rks); return true; So the 52 character code is used only by this application, and within it are the new secret key and the master key.

rongerhards commented 6 years ago

The answer lies in the code https://github.com/jatchili/minimalist-ripple-client/blob/master/dev.html Starting at line 689 Someone who knows javascript could tell us if we are able to extract the real new key. The program is supposed to pass the real new key to the functions from the 52 character "RekeyKey" but it is not doing it.

yannis555 commented 6 years ago

You seem to know a minimum, I decipher it by looking at the terms it's a little complicated.

What I find it hard to understand is that we are the only ones to find ourselves in this case? whereas if I'm not mistaken the customer always proposes this method; we should still be able to send xrp

rongerhards commented 6 years ago

Ive hired a javascript programmer to look at this. hopefully he can come up with a solution

rongerhards commented 6 years ago

Update: I was able to extract the new secret key from the jatchili client. Unfortunately it is wrong, it is paired with a different account than the actual new regular account.

You can try it yourself here:

http://swamobile.net/jatchilihack/index.html

put in the 52 character code that starts with a 3

before you click on anything else

click on “connect to ripple”

then click on “set identity”, and the popups will give you’re the secrets and addresses associated with the 52 character code.

This program is broken, and would not work with the original master key before it was disabled.

I’m not giving up. I may be able to generate the real new secret key from the seed created in the program.

yannis555 commented 6 years ago

me my research stops there I do not know the java nor the html to persist ...

If you ever want to hire a programmer it is a solution I pay. The same for the one who finds the solution.

But I would not try to key in the site that you gave us no confidence we do not know where it comes from

rongerhards commented 6 years ago

Create a new empty address and you can see what happens.

rongerhards commented 6 years ago

You need to try the link I gave you. I think the 52 character key that starts with “3” I’ve been trying may have been from a second or third rekey attempt.

That may be the reason it doesn’t work for me.

I’m fairly confident it will work for you if you only rekeyed once, or if you have the orginal 52 character code.

There is no danger in this code. It is exactly the same as https://jatchili.github.io/minimalist-ripple-client/

Except it has the following code added at line 536:

var c = generateAddress(rks).address;

{

    alert('"'+ra+'" is the original address');

}

{

    alert('"'+ms+'" is the master key');

}

{

    alert('"'+c+'" is the new address');

}

{

    alert('"'+rks+'" is the new secret key');

}

If the new address is the same as the “regular” address shown when you look at the info for the original master key account, then the new secret will be correct.

In order to use it, just put in the 52 character key that starts with a “3”

Click on “connect to ripple”

Click on “set identity”

There will be 4 popups showing the original address and key, and the new address and key.

Let me know if this works, and then I can then stop trying to come up with another solution.

yannis555 commented 6 years ago

I try http://swamobile.net/jatchilihack/index.html

And I thank you very much his walk sends a message on xrpchat or here with your address that I reward you otherwise I would have galalere for a good time!

hans231 commented 4 years ago

Very happy for you Yannis !! Enjoy your money ; i also rekeyed my account by mistake and I did it several time ; rongerhards I think we have exactly the same issue ; did you resolve your problem? ; if you can help me I can give u part of my xrp

Thank you

hans231 commented 4 years ago

You need to try the link I gave you. I think the 52 character key that starts with “3” I’ve been trying may have been from a second or third rekey attempt. That may be the reason it doesn’t work for me. I’m fairly confident it will work for you if you only rekeyed once, or if you have the orginal 52 character code. There is no danger in this code. It is exactly the same as https://jatchili.github.io/minimalist-ripple-client/ Except it has the following code added at line 536: var c = generateAddress(rks).address; { alert('"'+ra+'" is the original address'); } { alert('"'+ms+'" is the master key'); } { alert('"'+c+'" is the new address'); } { alert('"'+rks+'" is the new secret key'); } If the new address is the same as the “regular” address shown when you look at the info for the original master key account, then the new secret will be correct. In order to use it, just put in the 52 character key that starts with a “3” Click on “connect to ripple” Click on “set identity” There will be 4 popups showing the original address and key, and the new address and key. Let me know if this works, and then I can then stop trying to come up with another solution.

I am exactly in the same situation as you did you come up with a solution rongerhards?

rongerhards commented 3 years ago

look at this:
https://github.com/jatchili/minimalist-ripple-client/issues/23#issuecomment-824345196