No puedo compilar esto.

Iniciado por 0xDani, 2 Junio 2012, 14:58 PM

0 Miembros y 1 Visitante están viendo este tema.

0xDani

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.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

yoxter

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



Posiblemente soy el intento de programador mas fracaso de la historia !!

0xDani

#2
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
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM