Autor
|
Tema: Reto a crear keygen a este algoritmo hecho en vb.net (Leído 7,001 veces)
|
napstero
Desconectado
Mensajes: 5
|
Muy buenas recurro a ustedes para que me orienten en esta comprobacion del serial echa en vb.net , ise algunos mas faciles pero este es un reto mayor asi que necesito el primer paso, asi que veamos que tiene ese jodido codigo: Imports System Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms
Public NotInheritable Class FormRegistration Inherits Form ' Methods Public Sub New() Me.InitializeComponent If GClass1.bool_3 Then Me.textBox4.Text = "REGISTERED" Me.textBox4.ForeColor = Color.Green Me.tbSerial.ReadOnly = True Me.tbSerial.Text = GClass17.smethod_2 Me.buttonActivate.Enabled = False End If End Sub
Private Sub buttonActivate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonActivate.Click GClass23.smethod_6.Replace("5", "-") Dim str As String = GClass23.smethod_12(GClass1.string_3, Me.tbSerial.Text) If GClass16.smethod_13(String.Empty, str).StartsWith(str) Then GClass17.smethod_3(Me.tbSerial.Text) MyBase.DialogResult = DialogResult.OK Else MessageBox.Show("Invalid License Key!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Hand) MyBase.DialogResult = DialogResult.None End If End Sub
Private Sub buttonExit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button Exit .Click End Sub
Protected Overrides Sub Dispose(ByVal disposing As Boolean) If (disposing AndAlso (Not Me.icontainer_0 Is Nothing)) Then Me.icontainer_0.Dispose() End If MyBase.Dispose(disposing) End Sub
Private Sub FormRegistration_Shown(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Shown Dim str As String = GClass1.string_3 Dim buffer As Byte() = GClass23.smethod_2(str) Dim i As Integer For i = 0 To buffer.Length - 1 buffer(i) = CByte((buffer(i) Xor &H31)) str = (str & GClass23.smethod_0(buffer(i))) Select Case i Case 5, 9, 14 str = (str & "-") Exit Select End Select Next i Me.tbKey.Text = str.Substring((buffer.Length * 2)) End Sub
Private Sub InitializeComponent() Me.panel1 = New System.Windows.Forms.Panel Me.buttonExit = New System.Windows.Forms.Button Me.textBox4 = New System.Windows.Forms.TextBox Me.panel2 = New System.Windows.Forms.Panel Me.textBox3 = New System.Windows.Forms.TextBox Me.buttonActivate = New System.Windows.Forms.Button Me.label2 = New System.Windows.Forms.Label Me.label1 = New System.Windows.Forms.Label Me.tbSerial = New System.Windows.Forms.TextBox Me.tbKey = New System.Windows.Forms.TextBox Me.panel1.SuspendLayout() Me.SuspendLayout() ' 'panel1 ' Me.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.panel1.Controls.Add(Me.buttonExit) Me.panel1.Controls.Add(Me.textBox4) Me.panel1.Controls.Add(Me.panel2) Me.panel1.Controls.Add(Me.textBox3) Me.panel1.Controls.Add(Me.buttonActivate) Me.panel1.Controls.Add(Me.label2) Me.panel1.Controls.Add(Me.label1) Me.panel1.Controls.Add(Me.tbSerial) Me.panel1.Controls.Add(Me.tbKey) Me.panel1.Location = New System.Drawing.Point(12, 12) Me.panel1.Name = "panel1" Me.panel1.Size = New System.Drawing.Size(424, 322) Me.panel1.TabIndex = 0 ' 'buttonExit ' Me.buttonExit.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.buttonExit.Location = New System.Drawing.Point(322, 283) Me.buttonExit.Name = "buttonExit" Me.buttonExit.Size = New System.Drawing.Size(87, 27) Me.buttonExit.TabIndex = 24 Me.buttonExit.Text = "Exit" Me.buttonExit.UseVisualStyleBackColor = True ' 'textBox4 ' Me.textBox4.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.textBox4.BackColor = System.Drawing.Color.White Me.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox4.Enabled = False Me.textBox4.Font = New System.Drawing.Font("Arial", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte)) Me.textBox4.ForeColor = System.Drawing.Color.Red Me.textBox4.Location = New System.Drawing.Point(3, 89) Me.textBox4.Multiline = True Me.textBox4.Name = "textBox4" Me.textBox4.ReadOnly = True Me.textBox4.Size = New System.Drawing.Size(416, 30) Me.textBox4.TabIndex = 23 Me.textBox4.Text = "UNREGISTERED" Me.textBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'panel2 ' Me.panel2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.panel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center Me.panel2.Location = New System.Drawing.Point(3, 3) Me.panel2.Name = "panel2" Me.panel2.Size = New System.Drawing.Size(416, 78) Me.panel2.TabIndex = 21 ' 'textBox3 ' Me.textBox3.BackColor = System.Drawing.Color.White Me.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox3.Enabled = False Me.textBox3.Location = New System.Drawing.Point(16, 168) Me.textBox3.Multiline = True Me.textBox3.Name = "textBox3" Me.textBox3.ReadOnly = True Me.textBox3.Size = New System.Drawing.Size(393, 81) Me.textBox3.TabIndex = 6 Me.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'buttonActivate ' Me.buttonActivate.Location = New System.Drawing.Point(168, 283) Me.buttonActivate.Name = "buttonActivate" Me.buttonActivate.Size = New System.Drawing.Size(87, 27) Me.buttonActivate.TabIndex = 4 Me.buttonActivate.Text = "Activate" Me.buttonActivate.UseVisualStyleBackColor = True ' 'label2 ' Me.label2.AutoSize = True Me.label2.Location = New System.Drawing.Point(13, 258) Me.label2.Name = "label2" Me.label2.Size = New System.Drawing.Size(65, 13) Me.label2.TabIndex = 3 Me.label2.Text = "License Key" ' 'label1 ' Me.label1.AutoSize = True Me.label1.Location = New System.Drawing.Point(13, 132) Me.label1.Name = "label1" Me.label1.Size = New System.Drawing.Size(74, 13) Me.label1.TabIndex = 2 Me.label1.Text = "Hardware Key" ' 'tbSerial ' Me.tbSerial.Location = New System.Drawing.Point(116, 255) Me.tbSerial.Name = "tbSerial" Me.tbSerial.Size = New System.Drawing.Size(293, 20) Me.tbSerial.TabIndex = 1 ' 'tbKey ' Me.tbKey.Location = New System.Drawing.Point(116, 129) Me.tbKey.Name = "tbKey" Me.tbKey.ReadOnly = True Me.tbKey.Size = New System.Drawing.Size(293, 20) Me.tbKey.TabIndex = 0 ' 'FormRegistration ' Me.AcceptButton = Me.buttonActivate Me.BackColor = System.Drawing.Color.White Me.CancelButton = Me.buttonExit Me.ClientSize = New System.Drawing.Size(448, 346) Me.Controls.Add(Me.panel1) Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "FormRegistration" Me.ShowIcon = False Me.ShowInTaskbar = False Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Registration" Me.panel1.ResumeLayout(False) Me.panel1.PerformLayout() Me.ResumeLayout(False)
End Sub
' Fields Private buttonActivate As Button Private buttonExit As Button Private icontainer_0 As IContainer Private label1 As Label Private label2 As Label Private panel1 As Panel Private panel2 As Panel Private tbKey As TextBox Private tbSerial As TextBox Private textBox3 As TextBox Private textBox4 As TextBox
Private Sub tbSerial_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbSerial.TextChanged
|
|
« Última modificación: 2 Abril 2013, 18:20 pm por napstero »
|
En línea
|
|
|
|
MCKSys Argentina
|
Por lo que haz puesto deduzco que falta código.
Como primera medida, podrías analizar qué está pasando con la variable GClass1.bool_3.
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
napstero
Desconectado
Mensajes: 5
|
se me habia olvidado Imports System Imports System.Collections.Generic Imports System.Diagnostics Imports System.IO Imports System.Text
Public Class GClass1 ' Methods Public Shared Function smethod_0() As GClass0 If (GClass1.list_0.Count < (GClass1.int_4 + 1)) Then Return Nothing End If Return GClass1.list_0.Item(GClass1.int_4) End Function
Public Shared Function smethod_1() As Integer Return CInt(GClass1.stopwatch_0.ElapsedMilliseconds) End Function
Public Shared Sub smethod_2(ByVal string_4 As String, ByVal int_5 As Integer) If (((int_5 = 2) OrElse (int_5 = 3)) OrElse ((int_5 = 4) OrElse (int_5 = 5))) Then GClass1.stringBuilder_0.Append((string_4 & Environment.NewLine)) GClass1.stringBuilder_1.Append((string_4 & Environment.NewLine)) End If End Sub
Public Shared Sub smethod_3() GClass1.stringBuilder_1 = New StringBuilder End Sub
Public Shared Function smethod_4() As String Return GClass1.stringBuilder_0.ToString End Function
Public Shared Sub smethod_5() If ((GClass1.stringBuilder_1.Length >= 5) AndAlso GClass1.bool_3) Then Dim now As DateTime = DateTime.Now Try Dim writer As New StreamWriter((GClass17.smethod_14 & "\FESLog_" & now.ToString("yyyyMMddHHmmss") & ".txt")) writer.Write(GClass1.stringBuilder_1.ToString) writer.Close Catch exception1 As Exception End Try End If End Sub
Public Shared Sub smethod_6() End Sub
' Fields Public Shared bool_0 As Boolean = False Public Shared bool_1 As Boolean = False Public Shared bool_2 As Boolean = False Public Shared bool_3 As Boolean = False Public Shared bool_4 As Boolean = False Public Shared formNotify_0 As FormNotify = Nothing Public Shared int_0 As Integer() = New Integer() { &HBB8, &H7D0, &H3E8, 750, 600, 500, 300, 200, 100 } Public Shared int_1 As Integer = 0 Public Shared int_2 As Integer = 500 Public Shared int_3 As Integer = 0 Public Shared int_4 As Integer = 0 Public Shared list_0 As List(Of GClass0) = New List(Of GClass0) Public Shared stopwatch_0 As Stopwatch Public Shared string_0 As String() = New String() { "20/min", "30/min", "60/min", "80/min", "100/min", "120/min", "200/min", "300/min", "600/min" } Public Shared string_1 As String = String.Empty Public Shared string_2 As String = String.Empty Public Shared string_3 As String = "74126-E079B-627D07" Private Shared stringBuilder_0 As StringBuilder = New StringBuilder Private Shared stringBuilder_1 As StringBuilder = New StringBuilder End Class
y la gclass2 Imports FiatECUScan2 Imports System Imports System.Collections.Generic Imports System.Globalization Imports System.Management Imports System.Text
Public Class GClass23 ' Methods Public Shared Function smethod_0(ByVal byte_0 As Byte) As String Return GClass23.smethod_1(New Byte() { byte_0 }) End Function
Public Shared Function smethod_1(ByVal byte_0 As Byte()) As String Return BitConverter.ToString(byte_0).Replace("-", " ") End Function
Public Shared Function smethod_10() As String Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia") Dim str As String = String.Empty Using enumerator As ManagementObjectEnumerator = searcher.Get.GetEnumerator Dim current As ManagementObject Do While enumerator.MoveNext current = DirectCast(enumerator.Current, ManagementObject) If (str = String.Empty) Then goto Label_0048 End If Loop Return str Label_0048: str = current.Properties.Item("SerialNumber").Value.ToString End Using Return str End Function
Public Shared Function smethod_11(ByVal string_1 As String) As String Dim obj2 As New ManagementObject(("win32_logicaldisk.deviceid=""" & string_1 & ":""")) obj2.Get Return obj2.Item("VolumeSerialNumber").ToString End Function
Public Shared Function smethod_12(ByVal string_1 As String, ByVal string_2 As String) As String If (string_1.Length < &H10) Then string_1 = (string_1 & "30383936363339323634393236344141") End If string_1 = string_1.Substring(0, &H10) Dim buffer As Byte() = GClass23.smethod_2(string_1) Dim bytes As Byte() = New Byte(buffer.Length - 1) {} Dim i As Integer For i = 0 To bytes.Length - 1 bytes(i) = buffer(((buffer.Length - i) - 1)) Next i Dim buffer3 As Byte() = GClass23.smethod_2("6A606A197B056117") If (((string_2.Length = &H12) AndAlso (string_2.Chars(5) = "-"c)) AndAlso (string_2.Chars(11) = "-"c)) Then Try string_2 = string_2.Replace("-", String.Empty) buffer3 = GClass23.smethod_2(string_2) Catch exception1 As Exception End Try End If Dim j As Integer For j = 0 To bytes.Length - 1 If (j >= buffer3.Length) Then Exit For End If bytes(j) = CByte((bytes(j) Xor buffer3(j))) Next j Dim length As Integer = Encoding.ASCII.GetString(bytes).Length Return GClass23.smethod_1(bytes).Replace(" ", String.Empty) End Function
Public Shared Function smethod_13(ByVal list_0 As List(Of GClass15)) As List(Of TableDataRowP) Dim list As New List(Of TableDataRowP) Dim i As Integer For i = 0 To list_0.Count - 1 list.Add(New TableDataRowP(list_0.Item(i))) Next i Return list End Function
Public Shared Function smethod_14(ByVal list_0 As List(Of GClass18)) As List(Of TableDataRowE) Dim list As New List(Of TableDataRowE) Dim i As Integer For i = 0 To list_0.Count - 1 list.Add(New TableDataRowE(list_0.Item(i))) Next i Return list End Function
Public Shared Function smethod_2(ByVal string_1 As String) As Byte() Dim list As New List(Of Byte) Dim str As String = string_1.Replace(" ", String.Empty) Dim i As Integer = 0 Do While (i < (str.Length - 1)) list.Add(Byte.Parse(str.Substring(i, 2), NumberStyles.HexNumber)) i = (i + 2) Loop Return list.ToArray End Function
Public Shared Function smethod_3(ByVal object_0 As Object) As String If (object_0 Is Nothing) Then Return String.Empty End If Return object_0.ToString End Function
Public Shared Function smethod_4(ByVal object_0 As Object) As Integer If (object_0 Is Nothing) Then Return 0 End If Dim num As Integer = 0 Try num = Convert.ToInt32(object_0) Catch exception1 As Exception End Try Return num End Function
Public Shared Function smethod_5() As String Return GClass23.string_0((14 - 1)) End Function
Public Shared Function smethod_6() As String Dim s As String = String.Empty Try s = GClass23.smethod_11("C") Catch exception1 As Exception End Try If (s.Length < 3) Then Try s = GClass23.smethod_11("D") Catch exception2 As Exception End Try End If If (s.Length < 3) Then Try s = GClass23.smethod_10.Trim Catch exception3 As Exception End Try End If If (s.Length < 3) Then Try s = GClass17.smethod_0.Substring(10) Catch exception4 As Exception End Try End If If (s.Length > 12) Then s = s.Substring(0, 12) End If Return GClass23.smethod_1(Encoding.ASCII.GetBytes(s)) End Function
Public Shared Function smethod_7() As String() Return GClass23.string_0 End Function
Public Shared Function smethod_8(ByVal string_1 As String) As Byte()() Dim list As New List(Of Byte()) Dim str As String = string_1.Replace(" ", String.Empty) Dim startIndex As Integer = 0 Dim list2 As New List(Of Byte) Do While (startIndex < (str.Length - 1)) If (str.Chars(startIndex) = ","c) Then list.Add(list2.ToArray) list2 = New List(Of Byte) startIndex += 1 End If list2.Add(Byte.Parse(str.Substring(startIndex, 2), NumberStyles.HexNumber)) startIndex = (startIndex + 2) Loop list.Add(list2.ToArray) Return list.ToArray End Function
Public Shared Function smethod_9(ByVal string_1 As String) As String() Dim list As New List(Of String) Dim builder As New StringBuilder Dim i As Integer For i = 0 To string_1.Length - 1 If (string_1.Chars(i) = "|"c) Then list.Add((builder.ToString.Substring(0, 4) & GClass16.smethod_2(builder.ToString.Substring(4)))) builder = New StringBuilder Else builder.Append(string_1.Chars(i)) End If Next i If (builder.Length > 4) Then list.Add((builder.ToString.Substring(0, 4) & GClass16.smethod_2(builder.ToString.Substring(4)))) End If Return list.ToArray End Function
' Fields Private Shared string_0 As String() = New String() { "data03", "lang01", "data01", "data02", "data04", "data05", "data06", "data08", "data09", "data11", "data12", "lang02", "data07", "data10", "lang03", "data13" } End Class espero que me puedas iluminar .
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
espero que me puedas iluminar .
Ya lo he hecho. Lee el post anterior y pon manos a la obra. Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
mi pregunta es ¿entendés de programación? porqué si tenés todo el código hace una aplicación nueva y que el resultado de la comparación la ponga en un textbox y listo.
|
|
|
En línea
|
|
|
|
napstero
Desconectado
Mensajes: 5
|
Ahi esta no entiendo mucho como hace la comparacion este programa, no entiendo mucho vb.net pero si c+ , la cosa era hacer el generador de llave en c+.Porlo que estuve revisando
Dim str As String = GClass1.string_3 Dim buffer As Byte() = GClass23.smethod_2(str) Dim i As Integer For i = 0 To buffer.Length - 1 buffer(i) = CByte((buffer(i) Xor &H31)) str = (str & GClass23.smethod_0(buffer(i))) Select Case i Case 5, 9, 14 str = (str & "-") Exit Select
la GClass1.smethod_3 dentro de la clase gclass1:
Public Shared string_3 As String = "74126-E079B-627D07"(este tiene aspecto a key) lo que no entiendo es la parte Dim buffer As Byte() = GClass23.smethod_2(str) dentro de ahi
Dim list As New List(Of Byte) Dim str As String = string_1.Replace(" ", String.Empty) Dim i As Integer = 0 Do While (i < (str.Length - 1)) list.Add(Byte.Parse(str.Substring(i, 2), NumberStyles.HexNumber)) i = (i + 2) voy mas o menos encaminado PD: para generar el algoritmo usa el seriel numer de hd
|
|
|
En línea
|
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
te diré varias cosas: 1) no me gusta dar el código de keygens y menos si pueden ser para un programa comercial. 2) con ese código no es necesario saber vb.net para eso existe google 3) sabés c+ ¿y no entendés la parte más fácil? yo no sé ni basic y las sentencias son entendibles 4)
str.substring= Devuelve una subcadena del objeto string que comienza en la posición dada por el menor de los argumentos y finaliza en la posición dada por el otro argumento.
byte.parse = Convierte la representación en forma de cadena de un número en su Byte equivalente.
NumberStyles.HexNumber = da formato a un número en su representación hexadecimal
do while = repite sentencias anidadas hasta que la expresión while sea verdadera
5) nunca dijiste q soft es, y por experiencia me ha pasado que resolvemos los códigos y después otros hacen los keygen como propios sin siquiera mencionar al autor real.
6) si fuese un crackme de un concurso de la lista con gusto te ayudo.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como descubrir el algoritmo y crear un keygen
« 1 2 »
Ingeniería Inversa
|
greenvati
|
10
|
19,659
|
30 Septiembre 2010, 00:24 am
por MCKSys Argentina
|
|
|
Reto:Averiguar la Contraclave.Crear Keygen.
Ingeniería Inversa
|
Garbif5
|
2
|
6,146
|
18 Junio 2009, 10:07 am
por Garbif5
|
|
|
Ayuda, Invertir algoritmo para crear Keygen o Parchear Programa
Ingeniería Inversa
|
serrano15
|
0
|
3,387
|
27 Marzo 2012, 09:16 am
por serrano15
|
|
|
[Reto] HcSCrackmeV3.0 - Crear Keygen
Ingeniería Inversa
|
WarezMask
|
8
|
4,360
|
16 Mayo 2012, 02:40 am
por WarezMask
|
|
|
Reto algoritmo mezcla cifras y letras (RETO REMUNERADO)
Desafíos - Wargames
|
kingMezlo
|
3
|
5,516
|
31 Diciembre 2013, 19:47 pm
por #Aitor
|
|