Universidades guerra "plaga" Race Compartir Red de Seguridad Re: Tianjin Gai WP

problema recurrente

Cuando he descargado este tema es que falta un archivo DLL, el programa, observar el funcionamiento después de la reunión en la siguiente.
Aquí Insertar imagen Descripción
Introduzca la cadena de autorización necesario. AIF arrastró a la vista, ver la cadena, se encontró herramienta de código de depuración limitada puesto en libertad.
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Encontrar el primer punto de entrada. Necesidad de introducir una operación válida señal de entrada poco, escribir un guión a la grieta, de la siguiente manera:

str = [0x52, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x48, 0x6f, 0x70, 0x70, 0x65, 0x72, 0x21]
arr = [17, 8, 6, 10, 15, 20, 42, 59, 47, 3, 47, 4, 16, 72, 62, 0, 7, 16]

flag = ''
for i in range(18):

    for j in range(127):
        v43 = ~(j & str[i % 14]) & (j | str[i % 14])
        if v43 == arr[i]:
            flag += chr(j)
print(flag)

Obtener el resultado:
Aquí Insertar imagen Descripción
Abra el programa de verificación de encontrar la salida.
Aquí Insertar imagen Descripción
A continuación, mirar hacia abajo, hay un segmento de datos de texto de código encontrado, sin instrucción se resuelve.
Aquí Insertar imagen Descripción
Análisis utilizando AIF ver ninguna resolución tiene éxito, las personas deben estar cifrados. Con una comprobación cruzada de referencia donde llamó una vez el código. No se encontró a llamar el período de recopilación de datos, la interpretación es una función. Aquí pseudo-código para encontrar una función que los datos cifrados.
Aquí Insertar imagen Descripción
Esta función llama a una win32api, y la descripción dada en el Microsoft MSDN, este efecto es especificar ciertas áreas de protección de acceso API proporciona, a continuación, seguido por la función del área protegida y la entrada al cifrado XOR.
Tan sólo hay que descifrar el área de protección de datos de los datos originales se pueden obtener mediante el análisis de la AIF del área protegida, que es las instrucciones de montaje.
Aquí Insertar imagen Descripción
Después de la secuencia de comandos de referencia Gangster encontró IDAPython puede ser operado directamente con la API, es demasiado conveniente. Guión de la siguiente manera (se debe ejecutar en AIF):

input =[67, 97, 117, 99, 97, 115, 117, 115, 64, 115, 95, 97, 98, 105, 108, 105, 116, 121]
for i in range(1045):
    address = 0x10040164D + i
    byte = get_bytes(address, 1)#IDApythonAPI,作用是获取指定地址的指定字节数
    byte = ord(byte) ^ input[i%18]
    patch_byte(address, byte)#IDApythonAPI,更改指定地址的字节为byte

Análisis del segmento de datos descifrados, y crear una función para ver pseudo-código.
Aquí Insertar imagen Descripción
El cuadro rojo para hacer una cosa similar, por primera vez y cuando la misma entrada. Inversa puede escribir un script para crack, de la siguiente manera:

data = [
2007666,
2125764,
1909251,
2027349,
2421009,
1653372,
2047032,
2184813,
2302911,
2263545,
1909251,
2165130,
1968300,
2243862,
2066715,
2322594,
1987983,
2243862,
1869885,
 2066715,
 2263545,
 1869885,
 964467,
 944784,
 944784,
 944784,
 728271,
 1869885,
 2263545,
 2283228,
 2243862,
   2184813,
   2165130,
   2027349,
 1987983,
2243862,
1869885,
2283228,
2047032,
1909251,
2165130,
1869885,
2401326,
1987983,
2243862,
2184813,
885735,
2184813,
2165130,
1987983,
2460375]

v61 = 0x4CE3
v62 = 0x8000000B
flag = ''
for i in range(51):
    for j in range(127):
        v60 = v61 * j % v62
        if v60 == data[i]:
            flag += chr(j)
print(flag)

Ejecutar obtener la bandera
Aquí Insertar imagen Descripción

bandera {Thousandriver_is_1000% _stronger_than_zero-uno}

Se han publicado 19 artículos originales · ganado elogios 2 · Vistas 2537

Supongo que te gusta

Origin blog.csdn.net/SC_king/article/details/104909821
Recomendado
Clasificación