Roberto Rodrigues Caçatal Iniciante

Well, I had to expand the checksum searches for invalid seeds as well in order to find the correct seed.

Alexandre Caçatal Iniciante

Exactly that! The wallet trap decline chaos shadow control silent broken fall misery empty arrest void, in that order, indeed has an invalid BIP39 checksum, and Electrum allows importing it anyway because you choose the BIP39 import mode and confirm the warning. The address at m/0/0 matches because the BIP44 derivation does not depend on the checksum — the checksum is just a layer of protection against typing errors, it is not part of the key derivation itself. This makes it difficult for common searchers, without modification, to detect the key.

Well Shd Caçatal Iniciante

Well, I tried all possible types with the tips and answers given in comments like fall, silent, void, and empty, but this wallet is not mathematically compatible with the checksum, so I wouldn't find the right sequence even in a million years because the algorithm I use filters the checksum just like the one from Arapuan. In any case, I believe that for the words to be compatible with the puzzle, Alexandre must have manually changed some words, which caused the checksum to be lost.

Alexandre Caçatal Iniciante

Exactly that. The word "misery" was missing. Some programs, like btcrecover, detect these combinations of keys created manually by the user and not just the ones the app generates with checksun. As long as the words are in BIP 39. What a shame you couldn't do it. :) For others, it serves as a lesson, that want a more secure wallet, choose the order of your own words, using the BIP 39 dictionary, don't let the app choose for you, swap the positions of some. In the next challenge that is happening, two or three words will be enough to open the image in steganix. In this next challenge, the Hex and the Wif will already be in the image, however, encrypted and will only open correctly with the password of the words. Good luck!

Roberto Rodrigues Caçatal Iniciante
(edited)

Solution to the challenge and tips for the Caçatais

trap decline chaos shadow control silent broken fall misery empty arrest void

1. Create a new wallet in Electrum
2. Choose: Standard Wallet
3. Choose: I already have a seed
4. Paste the seed above
5. Click on options
6. Choose: BIP39 Seed
7. Next choose Legacy (p2pkh)
8. Next, no need to set a password, and finish.

The wallet will open.
This way I transferred the prize in bitcoin to my wallet.
Click on Send
Pay to: "you put your bitcoin address here".
Click on maximum or enter a lower fee amount.
Click on Pay.
Wait a few minutes for the transaction to complete.

After, go to address and click on the first address that appears:
Choose Private Key and copy.
p2pkh:Kx7LutWzwHbVnUbyZmbb7TePLhfDx7r51VexiEcurcWoXJco2bN9

Below I leave the Python script to convert the private key to a 64 character hex key

It will generate the hexadecimal key:

Expected address:
16g3cBVbT8vHQ7b8GQUkigKUF5VVd4M3qt

WIF:
Kx7LutWzwHbVnUbyZmbb7TePLhfDx7r51VexiEcurcWoXJco2bN9

HEX private key (64 characters):
1a8fe584454e00f50172d2769ab5d899a1198bacca14b33358012575ef0e843c

Take this hex key and go to the challenge you can solve and click on Submit Solution.
You need to have at least 1 caçatal to submit the solution.

"I spent several caçatal coins until I discovered all this that I am posting for you."

Post the hex key and earn your prize: Caçatal coins.

Good luck to everyone.

//--------------------------------------------
// PYTHON SCRIPT TO PRINT THE HEX KEY

#!/usr/bin/env python3
import hashlib

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

# Expected data (for verification only)
EXPECTED_ADDRESS = "1At7z8J3t3JJiAqtBTyJuHdCMKx45HmyVp"
WIF = "KwgxieQd9ysbpDbNeswckr7dTQck7twtpYqqZBgYmBP6FmdShevt"

def b58decode(s):
n = 0
for c in s:
n = n * 58 + ALPHABET.index(c)

h = "%x" % n
if len(h) % 2:
h = "0" + h

data = bytes.fromhex(h)

# leading zeros
pad = 0
for c in s:
if c == "1":
pad += 1
else:
break

return b"\x00" * pad + data

def double_sha256(data):
return hashlib.sha256(hashlib.sha256(data).digest()).digest()

def wif_to_hex(wif):
raw = b58decode(wif)

payload = raw[:-4]
checksum = raw[-4:]

checksum_calc = double_sha256(payload)[:4]

if checksum != checksum_calc:
raise ValueError("Invalid Base58 Checksum!")

compressed = False

if len(payload) == 34 and payload[-1] == 0x01:
compressed = True
privkey = payload[1:-1]
elif len(payload) == 33:
privkey = payload[1:]
else:
raise ValueError("Unknown WIF format.")

return privkey.hex(), compressed

if __name__ == "__main__":
print("========================================")
print(" WIF -> HEX Converter")
print("========================================\n")

print("Expected address:")
print(EXPECTED_ADDRESS)
print()

print("WIF:")
print(WIF)
print()

priv_hex, compressed = wif_to_hex(WIF)

print("HEX private key (64 characters):")
print(priv_hex)
print()

print("Compressed:", compressed)
print("\nBase58 Checksum: OK")

Roberto Rodrigues Caçatal Iniciante

The Solutions menu, when I click on it, says: No solutions published yet. But there is no option to post.

Well Shd Caçatal Iniciante

Soon, now I’m curious to know the answer.

Well Shd Caçatal Iniciante

Of the words "revealed" in the hints, how many of them are only in the image?

Alexandre Caçatal Iniciante

The solution will not be found in excessive calculations, giant lists, or random attempts at words. It only emerges when the correct meaning is extracted from the image and organized coherently.

Well Shd Caçatal Iniciante

A carteira foi gerada na Electrum?

Alexandre Caçatal Iniciante

Yes

Alexandre Caçatal Iniciante

With the words, you can redeem in Electrum in the last wallet redemption option.

Mello Caçatal Iniciante

Alguma dessas está na frase semente? "path,power,hold,maze"

Mello Caçatal Iniciante

Coloque o site em inglês pra conseguir ver as palavras

Well Shd Caçatal Iniciante

Empty e void estão na seed, mas alguma delas é a 12º palavra?

Arapuan Leigo

Vou para o Desafio 12 palavras super difíceis avançadas e Começar este

puan@DESKTOP-I8NCL17:/mnt/c/Users/Puan/Documents/puzzle/puzzle_solver$ ./solver_menu

*** BUILD OK ***

============================================================
Solver BIP39 -> Bitcoin (GPU Acelerado)
Derivação: m/44'/0'/0'/0/0 | Endereço comprimido P2PKH
============================================================
GPU : NVIDIA GeForce RTX 2060 SUPER
Compute Cap : 7.5
SM Count : 34
BIP39 words : 2048 palavras carregadas ✓
============================================================

------------------------------------------------------------
MENU PRINCIPAL
------------------------------------------------------------
1) Inserir palavras [pendente]
2) Inserir alvo [pendente]
3) Iniciar busca
4) Teste de sanidade
5) Sair
6) Debug GPU (testa permutação idx=0 com palavras/alvo atuais)
7) Busca por arquivo .txt (lista de combinações)
------------------------------------------------------------
> 2

============================================================
INSERIR ALVO
============================================================
Cole o hash160 (40 hex) ou endereço Bitcoin e pressione Enter.
O formato é detectado automaticamente.

Alvo: 16g3cBVbT8vHQ7b8GQUkigKUF5VVd4M3qt
Detectado: Endereço Bitcoin

Alvo hash160 : 3e3b06fbedbb3066004cb49a84eadfa30aad49a3

------------------------------------------------------------
MENU PRINCIPAL
------------------------------------------------------------
1) Inserir palavras [pendente]
2) Inserir alvo [configurado ✓]
3) Iniciar busca
4) Teste de sanidade
5) Sair
6) Debug GPU (testa permutação idx=0 com palavras/alvo atuais)
7) Busca por arquivo .txt (lista de combinações)
------------------------------------------------------------
> 7

============================================================
BUSCA POR ARQUIVO
============================================================
Formato: uma linha por combinação, palavras separadas por
espaço. Linhas começando com # são ignoradas.

Caminho do arquivo .txt: 95.txt
Combinações no arquivo: 15
Alvo: 3e3b06fbedbb3066004cb49a84eadfa30aad49a3
============================================================

------------------------------------------------------------
[1/15] Palavras: arrest broken decline empty fall hold shadow silent still trap void bind
Checksum: ATIVO
------------------------------------------------------------
Stack/thread : 8192 bytes (544 MB total)

============================================================
INICIANDO BUSCA GPU
Palavras : 12
Permutações: 479001600
Checksum : ATIVO (pré-filtro CPU + GPU apenas válidas)
Derivação : m/44'/0'/0'/0/0 (BIP44, endereço comprimido)
Alvo : 3e3b06fbedbb3066004cb49a84eadfa30aad49a3
============================================================
Pré-filtrando 479001600 permutações na GPU...
GPU filtro: 29945645 válidas em 1.98s (243 M/s)
Permutações válidas : 29945645 (6.3% do total)
Tempo estimado GPU : ~1152 segundos a 26 Kp/s
============================================================
Progresso Derivadas Velocidade Decorrido ETA
-------- -------------- ------------ -------------- ----------
14.01% 4194304 25.4 Kp/s 00:02:45 00:16:55

Arapuan Leigo

Coloquei 50 seeds agora, este estou entrando nem é pelo premio, pra testar se meu solver realmente está correto, apesar dos testes de sanidade ter passado, um desafio real é outra coisa

Well Shd Caçatal Iniciante

Como consegue testar tantas hashes/s tá usando qual linguagem?

Alexandre Caçatal Iniciante

Arapuan vc Está muito, muito perto. Deste retorno compartilhado, apenas poucas palavras estão fora. Uma das palavras que está fora é a ultima. Qual sua GPU? E qual prog utiliza para a gpu? Parabéns!

Arapuan Leigo

RTX 2060 Super 8GB

Arapuan Leigo

uso alguns IDEs da JetBrains, como, Intellij e Clion e o Kiro