Hola, veran estoy haciendo el principio de un keylogger, y utilizo las librerias ncurses y fstream, pero al compilar si lo intento con Code::Blocks me saltan errores de 'undefined reference to wgetch' y asi con todas las funciones de la libreria ncurses, y si lo hago por terminal usando -lncurses me sale lo mismo pero con las funciones de fstream. ¿Que puedo hacer? :huh: :huh:
Les dejo el code:
#include <ncurses.h>
#include <fstream>
using namespace std;
char cadena1[250], cadena2[250], cadena3[250];
int kbhit(void)
{
int ch = getch();
if (ch != ERR) {
ungetch(ch);
return 1;
} else {
return 0;
}
}
int main() {
initscr();
noecho();
nodelay(stdscr, true);
ofstream fs ("string.txt");
while (1){
if (kbhit()){fs << getch(); }
refresh();
}
return 0; }
Saludos y gracias de antemano.
Saludos
yo estoy un codeblocks que configure para usar clang y me compila sin problemas prueba usando
desde la linea de comandos
g++47 8.cpp -o test -I /usr/local/include/ -lcurses
clang++ 8.cpp -o test -I /usr/local/include/ -lcurses
creo que en linux es /usr/local/ la direcion
PD: el programa no funciona si lo terminas publicalo por favor
Gracias por la info, lo intentare compilar asi, y se que no funciona porque en otros keyloggers lo que se hace es que se coge siempre el foco de la ventana actual, y eso el mio no lo hace, pero estaba probando el manejo de ficheros. Y si lo termino lo publicare, dalo por hecho.
Saludos ;D
EDITO:
Ya ha compilado, y he cambiado el codigo un poco, pero no se como hacer que coja el foco de la ventana actual(no me mencionen la API de windows, porfavor).
Dejo el codigo, lo he estado probando y funciona bastante bien, agradeceria que alguien me ayudara con lo del foco.
#include <stdio.h>
#include <ncurses.h>
FILE* fichero;
int kbhit(void)
{
int ch = getch();
if (ch != ERR) {
ungetch(ch);
return 1;
} else {
return 0;
}
}
int main() {
initscr();
noecho();
nodelay(stdscr, true);
fichero = fopen("string.txt","a");
while (1){
if (kbhit()){fputc(getch(),fichero); fflush(fichero); }
refresh();
}
return 0; }
PD: Para compilar: g++ 'ruta/de/la/fuente' -o klg -lncurses.
Saludos de nuevo ;D