Tersine mühendislik · 27/31
Döngülü Sanal Makine
- Zor
- 200 puan
- 1 kişi çözdü
- 2 dosya
Görev
Kontrol akışı (döngüler) olan bir sanal makine. Her komut 3 byte: [op, a, b]. pc byte cinsinden ilerler. Register’lar: r0 (indeks), r1 (durum). Opcode tablosu:
op=1 r0 = a op=5 r1 = a op=2 r1 = (r1*a + b) & 0xFF ; keystream adimi op=3 emit( DATA[r0] ^ r1 ); r0 = (r0+1) & 0xFF op=4 if r0 < a: pc = b else: pc += 3 ; dongu op=0 HALT
program.hex = bytecode, data.hex = DATA bölümü. VM’i yaz, döngüsünü işletince çıktı flag’i verir.
Dosyalar
r1 başlangıçta SEED; her turda önce (r1*MUL+ADD)&0xFF; DATA[i]^r1 emit et; op=4 döngü.
Flag'i gönder
Biçim ALTAY{...}. Büyük küçük harf fark etmez.
Flag göndermek için giriş yap. Puanın XP olarak hesabına ve sıralamaya yazılır. Giriş yap
Yapay zekaya sormadan çözmeye çalış. Sıkışırsan önce ipucunu aç, sonra aracı kendin dene.