Otázka:
RSAkeyfind software, který napsali Nadia Heninger a J Alex Halderman, aby zjistil klíče RSA uložené v mezipaměti z výpisů paměti. Nedávno jsem odkazoval na váš návod k vytvoření výpisu paměti na mém serveru Ubuntu. Jakmile jsem měl výpis připravený, rozhodl jsem se najít klíč RSA pomocí softwaru RSAkeyfind. Ale při kompilaci zdroje vyrobte se nezdařilo s chybovou zprávou jako „memcmp, read, close nebyl deklarován v tomto rozsahu ‘.
Prosím, pomozte mi vyřešit tuto chybu. Níže je úplná chybová zpráva:
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#
Řešení:
Soubor rsakeyfind.cpp v programu chybí několik hlavičkových souborů. Stačí přidat níže uvedené řádky do rsakeyfind.cpp a znovu jej zkompilujte.
#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#
Jak upravovat více souborů a přepínat mezi soubory ve VIM pomocí vyrovnávacích pamětí
Jak nainstalovat NCurses Disk Usage (ncdu) podobně jako „du“ na Linuxu