GNU/Linux >> LINUX-Kenntnisse >  >> Linux

RSAKeyFind Compilation (Make) Error:rsakeyfind.cpp – „memcmp, read, close“ wurde in diesem Bereich nicht deklariert [Gelöst]

Frage:

RSAkeyfind ist eine von Nadia Heninger und J. Alex Halderman geschriebene Software, um die zwischengespeicherten RSA-Schlüssel aus Speicherauszügen zu ermitteln. Ich habe kürzlich auf Ihr Tutorial verwiesen, um ein Speicherabbild auf meinem Ubuntu-Server zu erstellen. Nachdem ich den Dump fertig hatte, beschloss ich, den RSA-Schlüssel mit der RSAkeyfind-Software zu finden. Aber während Sie die Quelle kompilieren, make fehlgeschlagen mit der Fehlermeldung „memcmp, read, close wurde in diesem Bereich nicht deklariert ‘.

Bitte helfen Sie mir, diesen Fehler zu beheben. Unten ist die vollständige Fehlermeldung:

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#

Lösung:

Die rsakeyfind.cpp Dem Programm fehlen einige Header-Dateien. Fügen Sie einfach die folgenden Zeilen zu rsakeyfind.cpp hinzu und neu kompilieren.

#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. RT:Request Tracker – Fehler:rt-mailgate – Undefinierter Serverfehler – 500 Verbindung oder Überprüfung des Zertifikats nicht möglich [Gelöst]

  2. APC-Installationsfehler – sh:phpize:Befehl nicht gefunden [Gelöst]

  3. Python-Installationsfehler – Entschuldigung:UnicodeError:nicht unterstützte Escapezeichen können das Unicodedata-Modul nicht laden [Gelöst]

  4. Warum funktioniert dieses „beim Lesen“ in einem Terminal, aber nicht in einem Shell-Skript?

  5. Wie kann ich dieses Sed-Skript schneller machen?

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

Marke:Dh:Befehl nicht gefunden?

Ubuntu erkennt keine Aktion zum Schließen des Deckels?

So beheben Sie den Vi/Vim-Editor-Fehler – E319:Entschuldigung, der Befehl ist in dieser Version nicht verfügbar

Pthread-Mutex-Assertion-Fehler

Redis - Linux / Fehler beim Installieren von Redis unter Linux:`cc:command not found`