Resultados 1 al 4 de 4

Ayuda para serial

  1. #1 Ayuda para serial 
    Iniciado
    Fecha de ingreso
    Oct 2005
    Mensajes
    3
    Descargas
    1
    Uploads
    0
    Hola a todos.
    Este es mi primer post y quisiera decir que hace varios días que me intento iniciar en el mundo de la ingeniería inversa. Ya me he leído varios tutos y solucionado varios crackmes (casi todos ellos en delphi y unos pocos en vb), pero ahora tengo un problema y es que no se sacar el serial de uno de ellos que está escrito en c#.
    Tengo ya localizado el punto donde hace la comprobación del serial y permite activar el botón de registrar, lo que pasa es que no sé mucho c# y no se sacarlo (veo que estudiar la carrera de informática no me ha servido de mucho jeje).

    Aquí pongo el código de la función licenseInfoChanged, que es la que hace la comprobación del serial introducido:


    Código:
    private void licenseInfoChanged(object sender, EventArgs e)
    {
        try
        {
            string input = this.licenseKey.Text.Trim();
            if (!Regex.IsMatch(input, @"[A-Za-z0-9\/\+]{4}-[A-Za-z0-9\/\+]{5}-[A-Za-z0-9\/\+]{4}-[A-Za-z0-9\/\+]{5}-[A-Za-z0-9\/\+]{4}"))
            {
                this.ok.Enabled = false;
            }
            else
            {
                byte[] buffer2;
                FileEncryption.ExtractKey(FileEncryption.RecoverPrivateKey(input.Replace("-", ""), this.fullname.Text, this.email.Text), out this._ExpireDate, out buffer2);
                buffer2 = Encryption.Encrypt(buffer2, FileEncryption.FriendlyBase64(Convert.ToBase64String(buffer2)));
                if (buffer2.Length != Data.Length)
                {
                    this.ok.Enabled = false;
                }
                else
                {
                    for (int i = 0; i < Data.Length; i++)
                    {
                        if (Data[i] != buffer2[i])
                        {
                            this.ok.Enabled = false;
                            return;
                        }
                    }
                    this.ok.Enabled = true;
                }
            }
        }
        catch
        {
            this.ok.Enabled = false;
        }
    }
    y aquí el Data al que debe ser igual:

    Código:
    static RegistrationDialog()
    {
        Data = new byte[] { 0xa9, 0x24, 0x2e, 0xa5, 14, 0xcb, 50, 0xbc, 0x40, 0xf9, 0x8d, 0xab, 0x68, 0xa4, 0x3e, 0xfc };
        RegData = new byte[] { 
            13, 0xc4, 0xb1, 6, 0xd6, 0xf9, 0x6f, 0x77, 0x93, 0x63, 0x4b, 0x30, 0x4f, 0x63, 0x2e, 0xc6, 
            0x19, 0x44, 0xad, 0x62, 0x69, 40, 0xac, 0x95, 210, 0xa3, 0x43, 0x4d, 13, 0x6f, 0xb1, 0xc2, 
            0xe8, 0x7b, 150, 0x63, 0xf4, 0xa5, 0xa2, 0xc3, 0x9a, 0x99, 0xce, 0xfd, 0x27, 0x38, 0xed, 0x9d, 
            0x48, 0x5d, 200, 0xa1, 10, 0x74, 0xd4, 0x20, 0xa4, 0x3b, 0x72, 0x2f, 0x4d, 0xcd, 0xba, 0xc4, 
            20, 0x84, 0x5f, 0x31, 11, 0xe2, 0xf5, 210, 0xf1, 200, 0x67, 0x4c, 4, 0xcb, 0x2b, 0x45, 
            0xe7, 0xf1, 0x25, 0x11, 0x8b, 0x97, 0x4d, 0x3e, 0xf8, 0x17, 0xec, 0xf1, 0x4e, 0x13, 0x16, 0x6a
         };
        RenewData = new byte[] { 
            13, 0xc4, 0xb1, 6, 0xd6, 0xf9, 0x6f, 0x77, 0x93, 0x63, 0x4b, 0x30, 0x4f, 0x63, 0x2e, 0xc6, 
            0x19, 0x44, 0xad, 0x62, 0x69, 40, 0xac, 0x95, 210, 0xa3, 0x43, 0x4d, 13, 0x6f, 0xb1, 0xc2, 
            0xe8, 0x7b, 150, 0x63, 0xf4, 0xa5, 0xa2, 0xc3, 0x9a, 0x99, 0xce, 0xfd, 0x27, 0x38, 0xed, 0x9d, 
            0x48, 0x5d, 200, 0xa1, 10, 0x74, 0xd4, 0x20, 0xa4, 0x3b, 0x72, 0x2f, 0x4d, 0xcd, 0xba, 0xc4, 
            0xf6, 0xb7, 0xec, 0x58, 250, 0x12, 0x8f, 30, 0x1d, 0xc4, 190, 0x6f, 0xb7, 0x5b, 0x9d, 0xa1, 
            60, 0x2e, 0xae, 0x26, 0xc7, 0xd1, 0xce, 9, 0x7e, 0x4d, 0x74, 0xa3, 0x81, 0xee, 0xc6, 0x17
         };
    }
    Espero que me puedan echar alguna ayudilla, ya que estoy más perdido que una aguja en un pajar XD.

    Gracias de antemano.
    Citar  
     

  2. #2  
    Iniciado
    Fecha de ingreso
    Aug 2010
    Mensajes
    10
    Descargas
    41
    Uploads
    0
    ¿Con qué programa estas tratando de ver la rutina del serial?

    Dá un poco más de pistas a ver lo qeu se puede hacer.

    Si usas el OllyDBG ¿Has puesto Breakpoints? ¿No puedes ver los datos de los Registros AX,BX,CX, DX?.

    Saludetes
    Citar  
     

  3. #3  
    Medio
    Fecha de ingreso
    Apr 2007
    Mensajes
    133
    Descargas
    6
    Uploads
    0
    Buenas chato_sat,
    Una pregunta, tienes opción de modificar el código??

    En el caso afirmativo, es tan facil como invertir la condición a la hora de evaluar el password introducido ó entrar en el primer if y cambiarle this.ok.Enabled a True.

    Un saludo.
    Citar  
     

  4. #4  
    Iniciado
    Fecha de ingreso
    Apr 2003
    Mensajes
    44
    Descargas
    2
    Uploads
    0
    pareciera que ves un código de un .net en reflector, pero por lo poco que entiendo está usando una cadena en base 64, te recomendaría que leas tutoriales y busques tools que convierten las cadenas a este sistema de encriptación
    Citar  
     

Temas similares

  1. Serial para Windows 7
    Por LUK en el foro NOTICIAS
    Respuestas: 11
    Último mensaje: 22-01-2009, 09:45
  2. ayuda encontrar serial paquete instalshield
    Por robincracker en el foro APLICACIONES
    Respuestas: 5
    Último mensaje: 12-11-2007, 11:20
  3. serial para office 2003
    Por half en el foro INGENIERIA INVERSA
    Respuestas: 5
    Último mensaje: 10-12-2005, 05:33
  4. Ayuda con serial
    Por Lagarto #2 en el foro APLICACIONES
    Respuestas: 5
    Último mensaje: 18-06-2004, 23:12
  5. Serial para CityTime (Palm)
    Por Macwar en el foro HACK HiSPANO
    Respuestas: 0
    Último mensaje: 11-09-2002, 09:03

Marcadores

Marcadores