Banco de preguntas del CTF> Experiméntelo> 10000000

Encuentra la entrada correcta

Abierto después de la descarga

Luego lo abrimos con ollydbg (para ser honesto, no sé cómo depurar dinámicamente)

Mira esto principalmente 

O ábralo con IDA

Encuentre la función principal y decodifique F5 para obtener pseudocódigo para análisis

Realice la operación AND en cada bit de la cadena de entrada y 0x80, y luego compárelo con el valor preestablecido en el programa. Lo mismo es correcto.

 

Proponer la cadena {230,236,225,231,186,244,229,243,244,244,229,243,244} 

(El carácter aquí se puede presionar contra R o H para obtener el valor del código ASCII)

Lenguaje C para resolver

#include<stdio.h>
#include<string.h>

int main(){
	unsigned char i;
	int j;
	unsigned char k;
	int key[13]={230,236,225,231,186,244,229,243,244,244,229,243,244};
	for(j=0;j<13;j++){
		for(i=32;i<127;i++){
			k=i;
			k=k|0x80;
			if(k==key[j])
			printf("%c",i);
		}
	}
} 

Obtener

 

Simplemente envíe (eliminar bandera :)

218 artículos originales publicados · Me gusta 309 · Visita 290,000+

Supongo que te gusta

Origin blog.csdn.net/qq_42777804/article/details/100079282
Recomendado
Clasificación