Tucao convencional no pwn, prueba Reverse
1. whereisflag
archivo elf, sin shell, abrir directamente con ida, buscar la cadena para ver dónde está la bandera, hacer doble clic para seguir para encontrar la función clave,
empalmar la cadena para obtener la bandera
CnHongKe {849bc02af213b4d}
2. Reverse1
- Ejecute el programa para conocer la situación general.
- Programa de 32 bits, hay un shell upx
- Después de desempaquetar upx, ábralo con ida. De acuerdo con la cadena vista en tiempo de ejecución, se encuentra
el pseudo código de la función clave ida descompilada . Algunos lugares no son comprensibles.
La lógica del problema de ajustar directamente la función de análisis es: ingrese a carácter de longitud 11 String, cada ascii + 7 en orden inverso, y luego operación XOR con cadena v7 para obtener la nueva cadena después de ascii-1 de cada carácter en orden inverso para obtener el valor
exp en off_409030 :
a=[0x1E, 0x5D, 0x53, 0x77, 0x5E, 0x50, 0x0E, 0x57, 0x7C, 0x47, 0x07]
#print(a)
str1="%+$-4-8+7=?"
xors=[37 ,43 ,36 ,45 ,52 ,45 ,56 ,43 ,55 ,61 ,63] #str1的ascii码
b=[0,0,0,0,0,0,0,0,0,0,0]
for i in range(11):
a[i]=a[i]+1
#print(a)
for i in range(11):
b[i]=a[i]^xors[i]
#print(b)
for i in range(11):
b[i]=b[i]-7
#print(b)
b.reverse()
print(b)
for i in range(11):
print(chr(b[i]),end="")
#运行结果:0nCl0udNin3
CnHongKe {0nCl0udNin3}