Domanda:
RSAkeytrova un software scritto da Nadia Heninger e J Alex Halderman per scoprire le chiavi RSA memorizzate nella cache dai dump della memoria. Di recente ho fatto riferimento al tuo tutorial per creare un dump della memoria sul mio server Ubuntu. Una volta pronto il dump, ho deciso di trovare la chiave RSA utilizzando il software RSAkeyfind. Ma durante la compilazione del sorgente, make non riuscito con il messaggio di errore "memcmp, read, close non è stato dichiarato in questo ambito '.
Per favore aiutami a risolvere questo errore. Di seguito è riportato il messaggio di errore 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#
Soluzione:
Il rsakeyfind.cpp al programma mancano alcuni file di intestazione. Basta aggiungere le righe seguenti a rsakeyfind.cpp e compilalo di nuovo.
#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#