<-->

 

crypto/Avalanche Alert

    public entry fun solve(status: &mut AvalancheAlert::Status, ctx: &mut TxContext) {
        // Enter challenge solution here
        suitfch::AvalancheAlert::alert(status, 1337*1337, ctx);
    }

crypto/Mile High City

original_text = [73,110,115,116,101,97,100,32,111,102,32,
                                         112,117,116,116,105,110,103,32,116,104,
                                         101,32,116,97,120,105,32,100,114,105,118,
                                         101,114,32,111,117,116,32,111,102,32,97,
                                         32,106,111,98,44,32,98,108,111,99,107,99,
                                         104,97,105,110,32,112,117,116,115,32,85,
                                         98,101,114,32,111,117,116,32,111,102,32,
                                         97,32,106,111,98,32,97,110,100,32,108,101,
                                         116,115,32,116,104,101,32,116,97,120,105,
                                         32,100,114,105,118,101,114,115,32,119,111,
                                         114,107,32,119,105,116,104,32,116,104,101,
                                         32,99,117,115,116,111,109,101,114,32,100,
                                         105,114,101,99,116,108,121,46]
from Crypto.Util.number import *
a = 0x7712d02e8b2f08d9ab748bcf206bda1f5ca6190b
a = long_to_bytes(a)

answer = []
for i in range(len(original_text)):
    answer.append(original_text[i] ^ a[i%20])

print(answer)

crypto/Nikola Jokić's Favorites

from Crypto.Util.number import *
from hashlib import sha3_256

print(b'sui '.hex())

for a in range(0x20,127):
    for b in range(0x20,127):
        for c in range(0x20,127):
            for d in range(0x20,127):
                inp = long_to_bytes(a) + long_to_bytes(b) + long_to_bytes(c) + long_to_bytes(d) + long_to_bytes(109) + long_to_bytes(111) + long_to_bytes(118) + long_to_bytes(101)
                if "b696109b889b20e5e50b93e739a0734d94fa092c8289ade07f84a4969dfb039a" == sha3_256(inp).digest().hex():
                    print(inp)
    print(a)

 

sage

F = IntergerModRing(16724971911849394411)
print(discrete_log(F(7619167469078768920), F(13383215253051849479)))

misc/Your secret is safe with us

    public entry fun solve(users: &mut SafeSecret::Users, ctx: &mut TxContext) {
        // Enter challenge solution here
        let password : vector<u8> = vector[00,00,00,00];
        let secret : vector<u8> = vector[88,88,88,88];
        let secret2 : vector<u8> = vector[79, 84, 84, 69, 82, 83, 69, 67];
        let password2 : vector<u8> = vector[115,110,111,119];
        suitfch::SafeSecret::register(users, password, secret2, ctx);
        suitfch::SafeSecret::set_admin_secret(users, password, secret);
    }

reversing

I used move-disassemble.

First, I should modify table headers of .mv file because address identifier is not aligned. 

Then, I got move-instructions. 

'writeups' 카테고리의 다른 글

NumemCTF 2023  (0) 2023.04.01
DaVinciCTF 2023 - blockchain  (0) 2023.03.13
PBCTF 2023 - rev(move VM)  (0) 2023.02.20
Idek CTF 2023 pwn - (baby blockchain 1,2,3)  (0) 2023.02.19
HackTM CTF Quals 2023 - smart contract(Dragon Slayer, Diamond Heist)  (0) 2023.02.19

+ Recent posts