1. Póngalo en XP y ejecútelo, es un juego de aviones con una interfaz gráfica. . . Calcule cuánto alcanza el puntaje y luego puede generar la bandera.
Open ida, una mirada de oscuridad, lo principal es 16 bits, depuré directamente estáticamente y
encontré mucho código de ensamblaje, un poco obsesionado, en el fondo, encontré una instrucción jmp, y luego INT 21H, este ensamblado se combina con Ah El valor de puede tener diferentes efectos y funciones: cuando AH es 2, se emite.
Explicar este conjunto de declaraciones es generar la declaración de la bandera. Las dos letras al comienzo del formato NCTF de la bandera se pueden revertir a bl y bh, y luego la bandera es construida por el script.
a=[0x8E,0x9D,0x94,0x98,0xBB,0x89,0xF3,0xEF,0x83,0xEE,0xAD,0x9B,0x9F,0xEC,0x9F,0x9A,0xF0,0xEB,0x9F,0x97,0xF6,0xBC,0xF1,0xE9,0x9F,0xE7,0xA1,0xB3,0xF3,0xA3]
for i in range(256):
if chr(i^0x8E)=='N':
print(i)
for i in range(256):
if chr(i^0x9D)=='C':
print(i)
bh=192
bl=222
flag=""
for i in range(len(a)):
if i%2==0:
tmp=chr(bh^a[i])
else:
tmp=chr(bl^a[i])
flag+=tmp
print(flag)