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,
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.
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 :-\
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!!
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
Amigos,
Aca esta el link para este desafio:
http://www.wiley.com/legacy/therascribe/demo_download.htm (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 (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