Arena · Tersine mühendislik
Döngülü Sanal Makine
200 puanzor
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.