Comment déchiffrer le prix de la clé privée OKX pour le jour de la rotation du monde (code complet fourni)

Auteur:Inventeur de la quantification, Créé: 2023-03-14 23:25:45, Mis à jour: 2023-09-18 20:08:33

img

Regardez le groupe d'amis à côté, qui disent que OKX est en train de déchiffrer la Journée mondiale de l'équilibre, le sujet est le suivant:

img

En tant que fermier, je suis un homme d'âge mûr, et quand j'ai vu le message, j'ai levé la bouche, j'ai ouvert mon MacBook Pro, et je n'ai pas dit un mot, j'ai commencé.

L'analyse

Il y a 61 clés qui se chevauchent dans l'image avec la circonférence, les clés privées, comme vous le savez, ont une longueur de 32 octets, converties en hex, soit 64 bits plus le préfixe 0x, pour un total de 66 bits, il y a déjà 61 bits.

Pour un traitement simple des nuances d'humidification, utilisez l'outil fourni avec Mac

img

C'est à peu près comme ça, et ensuite le Mac reconnaît automatiquement les caractères dans les images, et nous les copions directement:

3.141592653589793230X1D64338
А694502884197169399375105820
974925E123078164062862089986
28033DB034211706409914808651
32823066470ED424609550582231
8B3
81284
•探索,
038
永无止境
027
493
05%
0128
4756482337867831731712019091
47D9E56692346034861045432664
8213393607743749141273724587
006606315588174881BEEA209628
2925409192744436789259036001

Ce n'est certainement pas le cas, nous avons modifié manuellement, les images masquées sont marquées avec un * et nous ne sommes pas sûrs, nous en reparlerons plus tard Les autres sont bloqués par des images, et cela peut être jugé en observant la forme de la plume des autres polices, et cette fois nous avons Python, calculer la différence entre les deux, la même chose avec le même tag_' est indiquée, mais montre seulement la différence

img = '''
3.141592653589793230X1D64338
A694502884197169399375105820
974925E123078164062862089986
28033DB034211706409914808651
32823066470ED424609550582231
8B32594081284811174502841027
0193**2*D2299964462294895493
0381960EFC8103F9365933446128
4756482337867831731712019091
47D9E56692346034861045432664
82133936077A3749141273724587
006606315588174881BEEA209628
2925409192744436789259036001
'''
# 真实圆周率
real='''
3.14159265358979323846264338
3279502884197169399375105820
9749445923078164062862089986
2803482534211706798214808651
3282306647093844609550582231
7253594081284811174502841027
0193852110555964462294895493
0381964428810975665933446128
4756482337867831652712019091
4564856692346034861045432664
8213393607260249141273724587
0066063155881748815209209628
2925409171536436789259036001
'''

items = img.strip().split('\n')
diffStr = ''
for pos, line in enumerate(real.strip().split('\n')):
    for i, c in enumerate(line):
        imgLine = list(items[pos])
        if line[i] == imgLine[i]:
            imgLine[i] = '_'
        else:
            diffStr += imgLine[i]
        items[pos] = ''.join(imgLine)
print('\n'.join(items))
print(diffStr, 'Len:', len(diffStr))

Les résultats sont les suivants:

___________________0X1D_____
A694________________________
____25E1____________________
____3DB0________4099________
___________ED42_____________
8B32________________________
____**_*D2299_______________
______0EFC___3F93___________
________________731_________
_7D9E_______________________
__________7A37______________
__________________BEEA______
________92744_______________
0X1DA69425E13DB04099ED428B32***D22990EFC3F937317D9E7A37BEEA92744 Len: 64

Il y a trois indéterminés à l'intérieur, alors essayez de l'éliminer, parce que si vous éliminez les 61 autres, ce n'est pas grave. Laissez les différences les plus claires, et finissez par le préfixe suivant:

0X1DA69425E13DB04099ED428B32D22990EFC3F937317D9E7A37BEEA92744

En bas, il faut aller sur Python, violence pour grimper sur la chaîne OK, comparer quelle clé privée a un solde quel que soit, en fait, vous pouvez aussi choisir une clé publique qui a 314 USDT de transfert, c'est plus rapide, voir le site d'information qui dit qu'il y a du gaz, alors vous pouvez vérifier directement le solde, le code est plus désordonné.

import sys
import web3,time,logging
from eth_account import Account
from web3 import Web3
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s')
w3 = Web3(Web3.HTTPProvider("https://exchainrpc.okex.org"))
logging.info(w3.clientVersion)
found = None

def get_balance_gas(key):
    global found
    _counter += 1
    address = Account.from_key(key).address
    logging.info('fetch address %s %s' % (found, address))
    while True:
        try:
            balance = w3.eth.get_balance(address)
            break
        except:
            logging.warning(traceback.format_exc())
            time.sleep(1)
            continue
    if balance != 0:
        found = key
        raise BaseException('Found balance: %s %s' % (address, balance))
    return balance

from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(max_workers=50)
keys = []
prefix = '1DA69425E13DB04099ED428B32D22990EFC3F937317D9E7A37BEEA92744'
# 无所谓优化算法了, 争分夺秒跑密钥
ch = '0123456789ABCDEF'
for a in range(0, 16):
    for b in range(0, 16):
        for c in range(0, 16):
            for d in range(0, 16):
                for e in range(0, 16):
                    keys.append("0x"+prefix+ch[a]+ch[b]+ch[c]+ch[d]+ch[e])
print('all keys:', len(keys))
tasks = [None for t in keys]
for idx, key in enumerate(keys):
    tasks[idx] = executor.submit(get_balance_gas, key)
for t in tasks:
    t.result()
    

Vous pouvez voir qu'il a fallu 10 485 76 traversées pour être beaucoup plus rapide avec plusieurs fils, pour le mettre sur un de mes serveurs.

2023-03-15 00:20:19,491 exchain-v1.6.8.5
all keys: 1048576
2023-03-15 00:20:20,372 fetch address None 0xc20C41f06F2428a0FD84ef03Ec6960992F5f8016
2023-03-15 00:20:20,473 fetch address None 0xcFa87ee54bc1c14c09a3AB3f41640bBab5C5480a
2023-03-15 00:20:20,483 fetch address None 0x126E922652f8B276F231D0eCA94d98685a26a45D
以下省略......

Dans l'attente d'anxiété, la mauvaise nouvelle est arrivée, la stratégie n'a pas fonctionné avant de se retirer, tout est affiché None

Le sommet tourne

Je n'aurais pas dû, je ne sais pas, alors j'ai commencé à regarder les discussions sur Twitter et j'ai découvert que tout le monde avait pris les mêmes étapes que moi, mais étrangement, personne n'avait encore dit qu'il avait réussi à décrypter, et personne n'avait publié les 61 premiers chiffres exacts, et un tweet étrange m'a attiré l'attention, parce qu'il y avait une différence entre les deux.D2299Il n'y a pas de contradiction, j'en suis sûr, mais il a l'air aussi confiant.

img

Mais le type qui a posté le 61 chiffres est D2290, et il dit qu'il a été vérifié avec soin, peu importe, juste par hasard, il a parié que c'était un gaspillage d'électricité.

img

Avec l'esprit d'essayer, j'ai trouvé les 61 que beaucoup d'autres ont commenté, et ils ont tous l'air confiants.

img

Les préfixes trouvés dans la section des commentaires sont rassemblés et parcourus en utilisant un code rigide, le code de base n'est pas modifié et n'est pas réimprimé.

prefixs =[
'1DA69425E13DB04099ED428B3202290EFC3F9317317D9E7A37BEEA92744',
'1DA69425E13DB04099ED428B32D2290EFC3F9373177D9E7A37BEEA92744',
'1DA69425E13DB04099ED428B320D2290EFC3F937317D9E7A37BEEA92744',
'1DA694255E3DB040990ED428B3208890EFC3F937317D9E7A37BEEA92744',
'1DA69425E13DB04099ED428B3202299EFC3F9317317D9E7A37BEEA92744',
'1DA69425E13DB01099ED428B3202290EFC3F9317317D9E7A37BEEA92744',
'1DA69425E13DB04099ED428B32D2290EFC3F9317317D9E7A37BEEA92744',
'1DA69425E13DB04099ED428B32D22990EFC3F937317D9E7A37BEEA92744',
]

En fait, il y a plus de nouveaux messages à la fin, et il y a un frère qui a un PI différent du mien, c'est fantastique. La première chose que vous devez faire, c'est courir avec ces clés, et vous ne pouvez pas croire ce que vous voyez, mais vous devez courir pour montrer que l'une d'entre elles est correcte, ce qui est très peu scientifique, la clé privée est:

1DA69425E13DB04099ED428B32D2290EFC3F9373177D9E7A37BEEA92744C8155

Il est D229 ici, mais l'image est clairement D2299, et 731 est suivi d'un 7, il est deux ici, et il y a un 7 derrière 731. Mais c'est vrai que c'est correct, 61 chiffres, on ne sait pas comment il a calculé lui-même, c'est curieux, mais je ne doute pas de son fonctionnement, voir la section des commentaires dit que le client officiel dit qu'il y a une autre version de la rotation, je suis seul, je ne sais pas, avec ce que j'ai appris et la compréhension actuelle de l'humanité de l'univers, cette rotation absurde peut représenter l'infini de l'univers, dont les fractions ne se répètent jamais ou ne s'arrêtent jamais, vous pouvez le comprendre comme l'UUID de votre univers, s'il y a d'autres versions, peut-être du monde parallèle.

C'est la réponse d'un autre frère aîné à un questionnaire du service client:

img

C'est comme si vous aviez appris.

Le code de conversion Web3

Enfin, le code pour déplacer le bonus, cette fois-ci, c'est la fonction Web3 de la plateforme FMZ que j'utilise directement, l'adresse de la chaîne est définie comme OKC et fonctionne, la clé privée est ajoutée à l'échange et ne fonctionne pas, puis les deux lignes sont gérées, exécutées directement en mode outil de débogage.

img

La preuve

Les adresses des clés publiques déchiffrées

>>> from eth_account import Account
>>> Account.from_key('0x1DA69425E13DB04099ED428B32D2290EFC3F9373177D9E7A37BEEA92744C8155').address
'0x0bd08825e05e540C9508961a32E58D14da47275A'

Vous pouvez consulter le lien:https://www.okx.com/cn/explorer/okc/address/0x0bd08825e05e540c9508961a32e58d14da47275a

TX: Je suis en train d'écrire un article sur le sujet.https://www.okx.com/cn/explorer/okc/tx/0x4211418b09571011417257201aaf10fc3c5d638809a9456eb5aba5fe8c5d4e2c

Vous pouvez voir que l'adresse du destinataire est

0x25f0a126be95f437ee71d7c4de725567c5f6c731

img

Pour prouver que cette adresse est la mienne, j'ai utilisé l'adresse du destinataire pour transférer une facture vers une adresse black hole.

https://www.okx.com/cn/explorer/okc/tx/0xc32b5e299064456af3eb67c34a3b153f74a1bd18a31429052e3e3c5614bcdb6e

L'adresse du trou noir est:0x0000000000000000005757572e464d5a2e434f4d

L'adresse du trou noir contient un code déchiffré:

~ % python -c 'print(bytes.fromhex("0000000000000000005757572e464d5a2e434f4d"))'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00WWW.FMZ.COM'

Les derniers mots

C'est terminé, retournez-vous et remerciez-vous de toutes les années de connaissances que vous avez accumulées, sinon vous ne serez pas aussi rapide et vous serez dépassé par d'autres. Il est certain que le dessin officiel est erroné, ou plutôt qu'il a eu de la chance d'être déchiffré avant que les réponses ne soient publiées, et j'espère que OKX sera plus rigoureux la prochaine fois qu'il organisera des événements similaires.


Relationnée

Plus de

Je suis désolée.Combien de temps faut-il pour faire 104 millions de fois?

Je suis Johnny.Z est une grosse gueule!

- Je suis désolé.La capacité de démarrage est excellente

Quantitatif de l'ocZ est une grosse gueule!

Inventeur de la quantificationÇa fait 20 minutes.

Inventeur de la quantificationLe vieux fer est arrivé.