AltayCTFPRATİKby AltayCTF

Yığın Makinesi

Zor 200 puan rev vmdisasm

8-bit akümülatörlü minik bir yığın makinesinin disassembly dökümü ele geçti. Komut seti:

``
SET n -> acc = n & 0xFF
ROL n -> acc = ((acc << n) | (acc >> (8-n))) & 0xFF # 8-bit sola dondurme
XOR n -> acc = acc ^ n
OUT -> cikti akisina acc'i (bir byte) yaz
`

Program:

`
SET 0xb
ROL 0x3
XOR 0x19
OUT
SET 0x30
ROL 0x3
XOR 0xcd
OUT
SET 0x55
ROL 0x3
XOR 0xfe
OUT
SET 0x7a
ROL 0x3
XOR 0x92
OUT
SET 0x9f
ROL 0x3
XOR 0xa5
OUT
SET 0xc4
ROL 0x3
XOR 0x5d
OUT
SET 0xe9
ROL 0x3
XOR 0x36
OUT
SET 0xe
ROL 0x3
XOR 0x19
OUT
SET 0x33
ROL 0x3
XOR 0xfe
OUT
SET 0x58
ROL 0x3
XOR 0xab
OUT
SET 0x7d
ROL 0x3
XOR 0x85
OUT
SET 0xa2
ROL 0x3
XOR 0x4a
OUT
SET 0xc7
ROL 0x3
XOR 0x53
OUT
SET 0xec
ROL 0x3
XOR 0x6
OUT
SET 0x11
ROL 0x3
XOR 0xe3
OUT
SET 0x36
ROL 0x3
XOR 0xd8
OUT
SET 0x5b
ROL 0x3
XOR 0xb4
OUT
SET 0x80
ROL 0x3
XOR 0x61
OUT
SET 0xa5
ROL 0x3
XOR 0x5e
OUT
SET 0xca
ROL 0x3
XOR 0x3f
OUT
SET 0xef
ROL 0x3
XOR 0x20
OUT
SET 0x14
ROL 0x3
XOR 0xc3
OUT
SET 0x39
ROL 0x3
XOR 0xa8
OUT
SET 0x5e
ROL 0x3
XOR 0x9e
OUT
SET 0x83
ROL 0x3
XOR 0x75
OUT
SET 0xa8
ROL 0x3
XOR 0x36
OUT
SET 0xcd
ROL 0x3
XOR 0x1a
OUT
SET 0xf2
ROL 0x3
XOR 0xfe
OUT
SET 0x17
ROL 0x3
XOR 0xca
OUT
SET 0x3c
ROL 0x3
XOR 0x9c
OUT
``

Makineyi emüle et; OUT komutlarının yazdığı byte’lar flag’i verir.

Bu challenge'ı çöz

Flag'i bulup gönder, puanı kap. Ücretsiz — kayıt olman yeterli.

Arenada aç →

Bu challenge ne öğretiyor?

Önce okumak istersen

Aynı teknikle çözülen diğer challenge'lar