07:29:53
never_ever_quit:matrix.org:
would anyone know how to extract a hash from FEATHER wallet .keys file?
07:29:54
never_ever_quit:matrix.org:
lost a good amount - and don't have the seed (i accidentally deleted text file i stored all my info in)
07:29:56
never_ever_quit:matrix.org:
i have the keys file. so technically, if i can somehow figure out the password i could still access the funds.
07:29:58
never_ever_quit:matrix.org:
however, the password is 20+ character, random characters, letters, numbers.
07:30:00
never_ever_quit:matrix.org:
was thinking of trying to use HASHCAT to brute force it.
08:52:50
DataHoarder:
the keys there are derived via Cryptonight V0
08:53:36
DataHoarder:
I don't think you would get there with 20+ characters
10:06:21
never_ever_quit:matrix.org:
probably not, heh.
10:06:22
never_ever_quit:matrix.org:
...but maybe good to keep the long game in mind on this one.
10:06:24
never_ever_quit:matrix.org:
any idea on how to extract it?
10:06:44
never_ever_quit:matrix.org:
probably not, heh.
10:06:46
never_ever_quit:matrix.org:
my expectations are low.
10:06:48
never_ever_quit:matrix.org:
...but maybe good to keep the long game in mind on this one.
10:06:50
never_ever_quit:matrix.org:
any idea on how to extract it?
11:01:37
rbrunner7:monero.social:
IMO you probably need a custom-written program for brute-forcing it. First, the encryption algorithm of the file is proprietary, and the check "Success, this is the correct password" is also highly specific - you would need to check for some characteristic bytes that a Monero wallet file *in particular* has to decide whether decryption succeeded. And as DataHoarder already said, w<clipped message>
11:01:38
rbrunner7:monero.social:
ith a fully random 20 character password probably forget it, for runtime alone.
11:02:40
DataHoarder:
yeah. I implemented the decryption/check and it also depends on ... version it was created
11:04:12
rbrunner7:monero.social:
I mean, frankly, we want to be it almost impossible, right?
11:05:22
rbrunner7:monero.social:
If anybody can just lift off Monero wallet files with a trojan and then sprinkle a bit of HASHCAT over it to open, that would be in dire need of improvement.
11:06:44
DataHoarder:
should use RandomX for derivation nowadays :)
11:07:02
DataHoarder:
there are Cryptonight ASIC after all
11:07:04
DataHoarder:
specially V0
11:08:24
Cindy:
"and don't have the seed (i accidentally deleted text file i stored all my info in)"
11:08:40
Cindy:
don't wallets tell you to write down your seed on a piece of paper :P
11:08:59
Cindy:
i mean the official program really tries to make you write down your seed
11:21:17
never_ever_quit:matrix.org:
figured as much. this happened a while ago so every once in a while i check in on new possibilities of maybe one day being able to unlock it.
11:21:18
never_ever_quit:matrix.org:
recent recommendation was attempting with something like Haschat,
11:21:20
never_ever_quit:matrix.org:
but also continuously imagining something custom to give it a shot with.
11:21:22
never_ever_quit:matrix.org:
as tech evolves, maybe one day it could be possible.
11:21:42
never_ever_quit:matrix.org:
older version, probably mid/late 2023ish.
11:25:39
Cindy:
never_ever_quit: if it's just uppercase and lowercase and numbers
11:25:50
Cindy:
the number of possibilities would be 62 ^ 20
11:25:50
never_ever_quit:matrix.org:
nah, that actually would've been safer, haha.
11:25:50
never_ever_quit:matrix.org:
was working w/ encrypted textfile in sandboxed environment.
11:25:52
never_ever_quit:matrix.org:
had just done some wallet consolidating,
11:25:54
never_ever_quit:matrix.org:
created new wallet/seed for storage of the funds, wrote fresh seed/pw in a new file.
11:25:56
never_ever_quit:matrix.org:
boom. txt file was obliterated accidentally when my laptop ran out of bat and hadn't saved it.
11:25:58
never_ever_quit:matrix.org:
usually always have backups otherwise.
11:26:00
never_ever_quit:matrix.org:
big mistake.
11:26:20
Cindy:
62 ^ 20 = 704,423,425,546,998,022,968,330,264,616,370,176
11:26:44
Cindy:
number of possiblities
11:27:11
Cindy:
if it's really fully random, then it would be much much higher than that
11:28:14
never_ever_quit:matrix.org:
yeah, was a mix of everything.
11:28:14
never_ever_quit:matrix.org:
uppercase/lowercase letters, numbers, special characters etc. heh
11:29:56
never_ever_quit:matrix.org:
the only thing i could maybe provide is a rendition of the 'style/gesture' of my key presses.
11:29:56
never_ever_quit:matrix.org:
i notice that many of the pw's i would make for wallets around that time (which there were many), would share some similarities.
11:29:58
never_ever_quit:matrix.org:
buy beyond that, nothing really. no keywords for potential bruteforce.
11:30:00
never_ever_quit:matrix.org:
maybe one to save for a quantum era.
11:30:05
Cindy:
well, yeah you're fucked
11:30:16
Cindy:
nah quantum is only good for key exchanges
11:30:38
Cindy:
quantum can factorize very large numbers easily
11:30:42
Cindy:
but it cannot bruteforce a password
11:30:57
Cindy:
infact, it'd be much slower than a traditional computer at that task
11:56:09
never_ever_quit:matrix.org:
there's several pw i created from that era that have similar starting 3-4 characters.
11:56:10
never_ever_quit:matrix.org:
would chances increase enough to make it worth a try if I was able to piece together a string of sequential characters?
11:56:12
never_ever_quit:matrix.org:
no guarantee that this one had exact same structure,
11:56:14
never_ever_quit:matrix.org:
but there is small possibility and amount is sizeable enough that i'd like to exhaust any options.
16:05:41
tobtoht:
.merges
16:05:41
xmr-pr:
10166 10212
16:09:44
tobtoht:
done
18:56:19
Cindy:
will monero-oxide ever have functions to generate wallets?
18:58:33
ofrnxmr:xmr.mx:
#cuprate better place 4 rust qs imo
18:58:52
Cindy:
on IRC?
19:01:49
ofrnxmr:xmr.mx:
I think so
19:41:22
DataHoarder:
yes, it's bridged
19:43:16
Cindy:
i'm just reading monero's source code to figure out how to generate a wallet
19:43:32
Cindy:
i really wish i remembered what DataHoarder said
19:47:32
rucknium:monero.social:
Cindy, what project are you working on?
19:48:58
Cindy:
a XMR gift wallet generator, it'll generate a wallet, listen for transactions, and then generate a PDF document (after the user stops it)
19:50:40
plowsof:matrix.org:
old and offline version for reference @ https://github.com/xmrdotgift/xmrdotgift.github.io
19:50:42
rucknium:monero.social:
And you don't want to use `monero-wallet-rpc`?
19:51:00
Cindy:
no because that'd involve running a seperate program
19:51:08
Cindy:
ideally i'd want everything to be self-contained
19:52:23
ofrnxmr:monero.social:
So you want monero-oxide to generate a pdf?
19:52:34
Cindy:
no
19:53:07
Cindy:
i already generate a PDF myself (through 300 lines of manually writing PDF opcodes)
19:53:41
Cindy:
manually writing 300 lines of PDF opcodes*
19:53:48
ofrnxmr:monero.social:
so
19:54:05
ofrnxmr:monero.social:
Whats wrong with wallet-rpc
19:54:31
Cindy:
it's because i have to run it as a seperate process and possibly deal with it wanting to store files seperately
19:54:37
Cindy:
and other stuff it might want
19:55:28
rucknium:monero.social:
This is good. Cindy can encounter all the `monero-oxide` sharp edges first so the rest of us don't have to.
19:55:53
Cindy:
true that :P
19:56:12
Cindy:
or i could run a WASM interpreter
19:56:19
Cindy:
with monero-wallet-rpc compiled to webassembly
19:58:23
Cindy:
i just don't really want to manage a completely seperate program running at the same time
20:26:26
DataHoarder:
Cindy: making wallet, you mean making the key material?
20:26:55
Cindy:
DataHoarder: yes
20:27:06
DataHoarder:
then that's just edwards25519 operations plus secure rng
20:27:07
Cindy:
deriving 2 private keys from a seed
20:27:17
Cindy:
i see
20:27:22
DataHoarder:
20:44:10 <Cindy> i really wish i remembered what DataHoarder said
20:27:24
Cindy:
i thought it was super complicated like uhh
20:27:24
DataHoarder:
it's in libera logs. I mentioned the ways you could do this :)
20:27:29
DataHoarder:
monero-oxide ofc also has similar things
20:27:30
Cindy:
biased hash to point or something
20:27:55
DataHoarder:
well. you'd use monero-oxide or mine which implement the underlying.
20:28:17
Cindy:
do you have documentation on how the algorithm works?
20:28:33
Cindy:
i can't find anything about how the wallet generation currently works, and i don't wanna dig into monero's messy code
20:28:43
DataHoarder:
example "NewCarrotSpendWalletFromMasterSecret" https://git.gammaspectra.live/P2Pool/consensus/src/branch/master/monero/address/wallet/spend.go#L94
20:28:55
DataHoarder:
move this to #monero-community-dev
20:28:58
DataHoarder:
#monero-dev is for monero C itself
20:29:36
Cindy:
fair