GNU/Linux >> Tutoriales Linux >  >> Linux

Error de compilación RSAKeyFind (Make):rsakeyfind.cpp:"memcmp, read, close" no se declaró en este ámbito [Resuelto]

Pregunta:

RSAkeybusque un software escrito por Nadia Heninger y J Alex Halderman para averiguar las claves RSA almacenadas en caché de los volcados de memoria. Recientemente hice referencia a su tutorial para crear un volcado de memoria en mi servidor Ubuntu. Una vez que tuve el volcado listo, decidí buscar la clave RSA usando el software RSAkeyfind. Pero al compilar el código fuente, make falló con el mensaje de error como 'memcmp, read, close no se declaró en este ámbito ‘.

Por favor, ayúdame a resolver este error. A continuación se muestra el mensaje de error completo:

root@ubuntu:~/rsakeyfind# make
g++ -Wall -O4   -c -o rsakeyfind.o rsakeyfind.cpp
rsakeyfind.cpp: In function "void FindKeys(unsigned char*, int, unsigned char*, int, bool)":
rsakeyfind.cpp:98:46: error: "memcmp" was not declared in this scope
     if (memcmp(&image[i], target, target_size))
                                              ^
rsakeyfind.cpp: In function "int GetHexByte(int)":
rsakeyfind.cpp:141:26: error: "read" was not declared in this scope
     if (read(fd, &a[0], 1) < 1)
                          ^
rsakeyfind.cpp:144:28: error: "read" was not declared in this scope
       if (read(fd, &a[1], 1) < 1)
                            ^
rsakeyfind.cpp: In function "unsigned char* ReadModulus(char*, unsigned int&)":
rsakeyfind.cpp:173:11: error: "close" was not declared in this scope
   close(fd);
           ^
make: *** [rsakeyfind.o] Error 1
root@ubuntu:~/rsakeyfind#

Solución:

El rsakeyfind.cpp al programa le faltan algunos archivos de encabezado. Simplemente agregue las siguientes líneas a rsakeyfind.cpp y compilarlo de nuevo.

#include <fstream>
#include <unistd.h>
#include <string.h>
root@ubuntu:~/rsakeyfind# make
g++ -Wall -O4   -c -o rsakeyfind.o rsakeyfind.cpp
g++ -o rsakeyfind rsakeyfind.o
root@ubuntu:~/rsakeyfind#

Linux
  1. "Las variables efi no son compatibles con este sistema"?

  2. ¿Por qué este "mientras se lee" funciona en una terminal, pero no en un script de Shell?

  3. Marca:Dh:¿Comando no encontrado?

  4. ¿Ubuntu no detecta la acción de cerrar la tapa?

  5. Cómo reparar el error del editor Vi / Vim — E319:Lo sentimos, el comando no está disponible en esta versión

Error de instalación de Python - Lo siento:UnicodeError:los escapes no admitidos no pueden cargar el módulo UnicodeData [Resuelto]

Comando yum-config-manager no encontrado [Fijar]

c_rehash:Error de comando no encontrado – Solución

If…else…if Declaración (error de comando no encontrado)?

¿Cómo hacer que este script sed sea más rápido?

Redis - linux / Error al instalar redis en linux:`cc:comando no encontrado`