Un empujoncito porfa!!!!!

Iniciado por ravotril, 12 Junio 2010, 19:52 PM

0 Miembros y 1 Visitante están viendo este tema.

ravotril

Hace semanas que estoy buceando la red para aprender a crackear: He aprendido mucho y ya hecho varios "crackme", pero estoy estancado en un programa hecho en vb.net. Uso Net Reflector pero no se como seguir desde aca:


private void Ok_Click(object sender, EventArgs e)
{
if (this._userName.Text.Trim().Length > 0)
{
this.Authenticate();
}
else
{
MessageBox.Show("Enter a valid username and password.", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
base.DialogResult = DialogResult.None;
}
}

Esto viene del "ok clik" que a su vez viene del "Login Form"

Por favor se necesita orientaciooon!!!
De antemano muchas gracias,

Nanocity

Ahí lo único que hace es comprobar que la propiedad text de username, que me imagino que será un TextEdit, tenga un tamaño mayor que cero sin contar los espacios en blanco, vamos, básicamente que no esté vacío.

Si eso se cumple llama a la funcion Authenticate y si no te suelta el chico malo no?

Supongo que tendrás que investigar esa función para ver como sacar el serial.

Un saludo.
Eran nueve, nueve bajo las tres lunas,
bajo la luz del atardecer de otoño.
Mientras el mundo caía, ellos se alzaban
hacia el corazon de la historia

ravotril

Uffff, gracias! Ahora veo esto:


Private Sub Authenticate()
    Dim connected As Boolean
    Me.Refresh
    If Not DatabaseConnect.ConnectedSuccessfully Then
        Me.Cursor = Cursors.WaitCursor
        connected = Common.TryConnecting(True)
        Me.Cursor = Cursors.Default
    Else
        connected = True
    End If
    If Not connected Then
        Return
    End If
    Try
        connected = DatabaseConnect.Login(Me._userName.Text, Me._password.Text, Me._provider)
    Catch err As Exception
        MessageBox.Show(("The login failed for the following reason:" & ChrW(13) & ChrW(10) & err.Message), Application.ProductName)
        Return
    End Try
    If Not connected Then
        MessageBox.Show("Invalid login or password.", Application.ProductName)
        goto Label_01D2
    End If
    If ((Not Me._provider Is Nothing) AndAlso Not Me._provider.HasActivation) Then
        MessageBox.Show("This user has not been activated.", Application.ProductName)
        goto Label_01D2
    End If
    If ((Not Me._provider Is Nothing) AndAlso Not Me._provider.HasValidActivation) Then
        MessageBox.Show("This user does not have a valid activation code.", Application.ProductName)
        goto Label_01D2
    End If
    Dim isOK As Boolean = True
    If (DatabaseUpdate.UpdateRequired AndAlso (Common.CurrentProviderSecurityLevel <> SecurityLevel.Administrator)) Then
        MessageBox.Show("The database needs to be converted a new version.  Only users with administrator rights can do so.", Application.ProductName)
        isOK = False
    ElseIf (DatabaseUpdate.UpdateRecommended AndAlso (Common.CurrentProviderSecurityLevel <> SecurityLevel.Administrator)) Then
        isOK = True
    Else
        If (DatabaseUpdate.UpdateRequired AndAlso (Common.CurrentProviderSecurityLevel = SecurityLevel.Administrator)) Then
            If (MessageBox.Show("The database must be updated before you can continue.  Press Yes to update the database now.", Application.ProductName, MessageBoxButtons.YesNo) = DialogResult.No) Then
                isOK = False
                goto Label_018C
            End If
            Try
                isOK = DatabaseUpdate.UpdateDatabase
                goto Label_018C
            Catch exception As Exception
                Common.LogAndDisplayError(exception, "The update process failed")
                isOK = False
                goto Label_018C
            End Try
        End If
        If (DatabaseUpdate.UpdateRecommended AndAlso (Common.CurrentProviderSecurityLevel = SecurityLevel.Administrator)) Then
            If (MessageBox.Show("The database should be updated before continuing.  Press Yes to update the database now.", Application.ProductName, MessageBoxButtons.YesNo) = DialogResult.No) Then
                isOK = True
            Else
                Try
                    isOK = DatabaseUpdate.UpdateDatabase
                Catch exception As Exception
                    Common.LogAndDisplayError(exception, "The update process failed")
                    isOK = False
                End Try
            End If
        End If
    End If
Label_018C:
    If isOK Then
        ConfigurationManager.LocalSettingsProfile.SetValue("Login", "LastUserName", Me._userName.Text)
        MyBase.DialogResult = DialogResult.OK
        Me.Refresh
        MyBase.Close
        Return
    End If
Label_01D2:
    Me._password.SelectAll
End Sub

Realmente entre tantos procedimientos no sé por donde seguir la pista  :-\

yako-_-

#3
Hola ravotril!!

Yo soy un novato aun pero buscaria la cadena en olly o la dirección de esta strin  MessageBox.Show("Invalid login or password.", Application.ProductName) y luego con control + R ver desde donde es llamada.

""Invalid login or password.""

PD: esta también puede ser interesante "This user does not have a valid activation code."

un saludo!!
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

Иōҳ

si subes el crackme y seguramente te podremo ayudar....

y tambien puedes poner un bp en la api de conparacion de VB que no me acuerdo cual es por que recien estoy viendo crackme de VB :P... pero googlea y listo :P o si no fijate antes del call al msgbox de que lugar esta llamando en el stack y chekea de donde salta justo antes deberia estar la comparacion :P
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

ravotril

Amigos,
Aca esta el link para este desafio:

http://www.wiley.com/legacy/therascribe/demo_download.htm

Esta hecho en .Net, por lo que es necesario el uso de Net. Reflector para destriparlo.
Realmente está dificil.

Saludos!!

Иōҳ

Cita de: ravotril en 14 Junio 2010, 19:31 PM
Amigos,
Aca esta el link para este desafio:

http://www.wiley.com/legacy/therascribe/demo_download.htm

Esta hecho en .Net, por lo que es necesario el uso de Net. Reflector para destriparlo.
Realmente está dificil.

Saludos!!

mis mas sinceras disculpas no me di cuenta que era una aplicacion version demo pense que era un crackme XD...  seguramente hay muchos con mas level que te pueden ayudar yo recien estoy viendo crackme en VB P-code
Eres adicto a la Ing. Inversa? -> www.noxsoft.net