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#
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#