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 |