estoy intentando realizar un keygen o un crack para un programa, el programa en si es una xorrada pero si no esta registrado no va el resto que es lo importante, (que mal me explico)
empezare por el principio
abrimos el programa y este genera un unico codigo por maquina, deforma que tienes que enviar un correo con el codigo para que te den el codigo de activacion que se guarda en un archivo reg. el archico reg solo contiene el numero...
bien llego a mi casa con el porgrama lo copio porque no hace falta instalacion, y al ejecutar como mi maquina es distinta a la "original" no me vale el codigo
bien asi que digo bueno...vamos a abrir las correspondientes partes que tiene el programa por separado aver si me deja ejecutarlo, son varios Excel que al abrirlos primero te dice ejecutalos desde el principal si le dices que no te los abres pero las formulas las borra, bien tras abrir los excel (una copia de ellos) con un editor hex, y cambiar el DPB por DPX y leugo en el visual basic de la excel he podido ver el codigo de algunas cosas y una de ellas lo que hace es poner en algunas columnas 0 para que no funcionen las cosas,
asi que decido borrarlas pero no sigue sin ir eso si ya no me salta el mensaje de necesitas este programa
bien que mas tiene este programa incluye dos ejecutables mas que tb se lanzan desde el principal, que son dos Flash pero empaquetados como EXE, uno de ellos puede correr sin problmas el oro me salta y me dice que no que lo ejecute desde el princpal
bien asi que lo que he intentando es con el OLLYdbg era buscar el bucle de bueno y malo como he visto en algunos tutoriales y bueno creo que lo e encotrado pero sigo sin saber como acer para que funcione le quito los je les pongo jne pero no acierto....
os pongo una imagen de lo que aparece en el visual basic de la excel y otra del ollydbg
lo que hay en el Visual basic del excel :
Option Explicit
Const margensegundos = 40
Private Function acceso()
Dim objFs, objfile, resul, cadena, rutafile, ArrL
Dim i, cur, modulo, valido, curadd
Dim ahora, ahorac
ArrL = Array("FGYTXH8NZQR", "AFJKERMDSOP", "JLYTHIRWDGZ", "AFJKERMDSOP", "YWUAHSTDRZN", "POAISBCYEQD", "JGHAI7YZSOK", "PQLUCJANKZ9", "OAUWTGJCUBH")
resul = False
rutafile = ThisWorkbook.Path & "\include.lib"
rutafile = Replace(rutafile, "\HE4_termica\include.lib", "\include.lib", 1, 1)
rutafile = Replace(rutafile, "\HE5_fotovoltaica\include.lib", "\include.lib", 1, 1)
Set objFs = CreateObject("Scripting.FileSystemObject")
If (objFs.FileExists(rutafile)) Then
Set objfile = objFs.OpenTextFile(rutafile, 1, False)
cadena = objfile.Read(20)
If (Len(cadena) > 19) Then
valido = ""
For i = 1 To 19
cur = Mid(cadena, i, 1)
modulo = i Mod 9
curadd = InStr(ArrL(modulo), cur) - 1
If (curadd > -1) Then valido = curadd & valido
Next i
If (Len(valido) > 18) Then
valido = Mid(valido, 4, 14)
ahora = Now
ahorac = TimeSerial(Mid(valido, 9, 2), Mid(valido, 11, 2), Mid(valido, 13, 2)) + DateSerial(Mid(valido, 1, 4), Mid(valido, 5, 2), Mid(valido, 7, 2))
If (DateDiff("s", ahorac, ahora) < margensegundos) Then
resul = True
End If
End If
End If
objfile.Close
Set objfile = Nothing
End If
Set objFs = Nothing
acceso = resul
End Function
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
End Sub
Private Sub Workbook_Open()
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
'Poner a 0
If (acceso()) Then
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 1
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 1
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 1
Next Counter
Else
' ha fallado la validación
MsgBox ("Utilice el programa de arranque para acceder a esta aplicación")
ThisWorkbook.Close
End If
End Sub
lo que hay en el ollydbg
00460228 /$ 55 PUSH EBP
00460229 |. 8BEC MOV EBP,ESP
0046022B |. 83C4 D0 ADD ESP,-30
0046022E |. 53 PUSH EBX
0046022F |. 56 PUSH ESI
00460230 |. 57 PUSH EDI
00460231 |. 33D2 XOR EDX,EDX
00460233 |. 8955 D0 MOV DWORD PTR SS:[EBP-30],EDX
00460236 |. 8955 D4 MOV DWORD PTR SS:[EBP-2C],EDX
00460239 |. 8955 DC MOV DWORD PTR SS:[EBP-24],EDX
0046023C |. 8955 D8 MOV DWORD PTR SS:[EBP-28],EDX
0046023F |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00460242 |. 8955 F0 MOV DWORD PTR SS:[EBP-10],EDX
00460245 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00460248 |. 33C0 XOR EAX,EAX
0046024A |. 55 PUSH EBP
0046024B |. 68 DC034600 PUSH ctesolar.004603DC
00460250 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00460253 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00460256 |. B8 EC034600 MOV EAX,ctesolar.004603EC ; ASCII "0123456789"
0046025B |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0046025E |. B8 F8034600 MOV EAX,ctesolar.004603F8 ; ASCII "FGYTXH8NZQR"
00460263 |. 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX
00460266 |. B8 04044600 MOV EAX,ctesolar.00460404 ; ASCII "AFJKERMDSOP"
0046026B |. 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
0046026E |. B8 10044600 MOV EAX,ctesolar.00460410 ; ASCII "JLYTHIRWDGZ"
00460273 |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00460276 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
00460279 |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
0046027E |. 8B80 DC020000 MOV EAX,DWORD PTR DS:[EAX+2DC]
00460284 |. E8 9F9EFCFF CALL ctesolar.0042A128
00460289 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0046028C |. E8 C736FAFF CALL ctesolar.00403958
00460291 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00460294 |. E8 3F39FAFF CALL ctesolar.00403BD8
00460299 |. 8BF0 MOV ESI,EAX
0046029B |. 83FE 07 CMP ESI,7
0046029E |. 7E 0F JLE SHORT ctesolar.004602AF
004602A0 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004602A3 |. 8BCE MOV ECX,ESI
004602A5 |. BA 09000000 MOV EDX,9
004602AA |. E8 713BFAFF CALL ctesolar.00403E20
004602AF |> 83FE 05 CMP ESI,5
004602B2 |. 7E 66 JLE SHORT ctesolar.0046031A
004602B4 |. BB 01000000 MOV EBX,1
004602B9 |> 8D45 DC /LEA EAX,DWORD PTR SS:[EBP-24]
004602BC |. BA 08000000 |MOV EDX,8
004602C1 |. 2BD3 |SUB EDX,EBX
004602C3 |. 8B4D F4 |MOV ECX,DWORD PTR SS:[EBP-C]
004602C6 |. 8A1411 |MOV DL,BYTE PTR DS:[ECX+EDX]
004602C9 |. E8 3238FAFF |CALL ctesolar.00403B00
004602CE |. 8B45 DC |MOV EAX,DWORD PTR SS:[EBP-24]
004602D1 |. 50 |PUSH EAX
004602D2 |. 8D45 D8 |LEA EAX,DWORD PTR SS:[EBP-28]
004602D5 |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
004602D8 |. E8 3338FAFF |CALL ctesolar.00403B10
004602DD |. 8B55 D8 |MOV EDX,DWORD PTR SS:[EBP-28]
004602E0 |. 58 |POP EAX
004602E1 |. E8 DE3BFAFF |CALL ctesolar.00403EC4
004602E6 |. 8BF8 |MOV EDI,EAX
004602E8 |. 8BC3 |MOV EAX,EBX
004602EA |. B9 03000000 |MOV ECX,3
004602EF |. 99 |CDQ
004602F0 |. F7F9 |IDIV ECX
004602F2 |. 8955 EC |MOV DWORD PTR SS:[EBP-14],EDX
004602F5 |. 8D45 D4 |LEA EAX,DWORD PTR SS:[EBP-2C]
004602F8 |. 8B55 EC |MOV EDX,DWORD PTR SS:[EBP-14]
004602FB |. 8B5495 E0 |MOV EDX,DWORD PTR SS:[EBP+EDX*4-20]
004602FF |. 8A143A |MOV DL,BYTE PTR DS:[EDX+EDI]
00460302 |. E8 F937FAFF |CALL ctesolar.00403B00
00460307 |. 8B55 D4 |MOV EDX,DWORD PTR SS:[EBP-2C]
0046030A |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10]
0046030D |. E8 CE38FAFF |CALL ctesolar.00403BE0
00460312 |. 43 |INC EBX
00460313 |. 83FB 09 |CMP EBX,9
00460316 |.^75 A1 \JNZ SHORT ctesolar.004602B9
00460318 |. EB 10 JMP SHORT ctesolar.0046032A
0046031A |> 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
0046031E |. 75 0A JNZ SHORT ctesolar.0046032A
00460320 |. B8 24044600 MOV EAX,ctesolar.00460424
00460325 |. E8 E2B2FEFF CALL ctesolar.0044B60C
0046032A |> 8D55 D0 LEA EDX,DWORD PTR SS:[EBP-30]
0046032D |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
00460332 |. 8B80 EC020000 MOV EAX,DWORD PTR DS:[EAX+2EC]
00460338 |. E8 EB9DFCFF CALL ctesolar.0042A128
0046033D |. 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30]
00460340 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
00460343 |. E8 A039FAFF CALL ctesolar.00403CE8
00460348 |. 75 36 JNZ SHORT ctesolar.00460380
0046034A |. 83FE 06 CMP ESI,6
0046034D |. 7E 31 JLE SHORT ctesolar.00460380
0046034F |. 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
00460353 |. 75 0A JNZ SHORT ctesolar.0046035F
00460355 |. B8 4C044600 MOV EAX,ctesolar.0046044C ; ASCII "Gracias por registrar el producto"
0046035A |. E8 ADB2FEFF CALL ctesolar.0044B60C
0046035F |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00460362 |. E8 29F8FFFF CALL ctesolar.0045FB90
00460367 |. E8 7CFDFFFF CALL ctesolar.004600E8
0046036C |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
00460371 |. 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
00460377 |. 33D2 XOR EDX,EDX
00460379 |. E8 C29CFCFF CALL ctesolar.0042A040
0046037E |. EB 27 JMP SHORT ctesolar.004603A7
00460380 |> E8 03FEFFFF CALL ctesolar.00460188
00460385 |. 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
00460389 |. 75 0A JNZ SHORT ctesolar.00460395
0046038B |. B8 78044600 MOV EAX,ctesolar.00460478
00460390 |. E8 77B2FEFF CALL ctesolar.0044B60C
00460395 |> A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
0046039A |. 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
004603A0 |. B2 01 MOV DL,1
004603A2 |. E8 999CFCFF CALL ctesolar.0042A040
004603A7 |> BB 01000000 MOV EBX,1
004603AC |. 33C0 XOR EAX,EAX
004603AE |. 5A POP EDX
004603AF |. 59 POP ECX
004603B0 |. 59 POP ECX
004603B1 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004603B4 |. 68 E3034600 PUSH ctesolar.004603E3
004603B9 |> 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
004603BC |. E8 9735FAFF CALL ctesolar.00403958
004603C1 |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
004603C4 |. BA 03000000 MOV EDX,3
004603C9 |. E8 AE35FAFF CALL ctesolar.0040397C
004603CE |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004603D1 |. BA 02000000 MOV EDX,2
004603D6 |. E8 A135FAFF CALL ctesolar.0040397C
004603DB \. C3 RETN
004603DC .^E9 0F30FAFF JMP ctesolar.004033F0
004603E1 .^EB D6 JMP SHORT ctesolar.004603B9
004603E3 . 8BC3 MOV EAX,EBX
004603E5 . 5F POP EDI
004603E6 . 5E POP ESI
004603E7 . 5B POP EBX
004603E8 . 8BE5 MOV ESP,EBP
004603EA . 5D POP EBP
004603EB . C3 RETN
004603EC . 30 31 32 33 34>ASCII "0123456789",0
004603F7 00 DB 00
004603F8 . 46 47 59 54 58>ASCII "FGYTXH8NZQR",0
00460404 . 41 46 4A 4B 45>ASCII "AFJKERMDSOP",0
00460410 . 4A 4C 59 54 48>ASCII "JLYTHIRWDGZ",0
0046041C FF DB FF
si quereis trastear
[spoiler]https://mega.co.nz/#!wVI1WDJT!IUsilUsMf2ygyhLCaKviVidXdH0RJGoOp9Bih0aSSok
[/spoiler]
empezare por el principio
abrimos el programa y este genera un unico codigo por maquina, deforma que tienes que enviar un correo con el codigo para que te den el codigo de activacion que se guarda en un archivo reg. el archico reg solo contiene el numero...
bien llego a mi casa con el porgrama lo copio porque no hace falta instalacion, y al ejecutar como mi maquina es distinta a la "original" no me vale el codigo
bien asi que digo bueno...vamos a abrir las correspondientes partes que tiene el programa por separado aver si me deja ejecutarlo, son varios Excel que al abrirlos primero te dice ejecutalos desde el principal si le dices que no te los abres pero las formulas las borra, bien tras abrir los excel (una copia de ellos) con un editor hex, y cambiar el DPB por DPX y leugo en el visual basic de la excel he podido ver el codigo de algunas cosas y una de ellas lo que hace es poner en algunas columnas 0 para que no funcionen las cosas,
asi que decido borrarlas pero no sigue sin ir eso si ya no me salta el mensaje de necesitas este programa
bien que mas tiene este programa incluye dos ejecutables mas que tb se lanzan desde el principal, que son dos Flash pero empaquetados como EXE, uno de ellos puede correr sin problmas el oro me salta y me dice que no que lo ejecute desde el princpal
bien asi que lo que he intentando es con el OLLYdbg era buscar el bucle de bueno y malo como he visto en algunos tutoriales y bueno creo que lo e encotrado pero sigo sin saber como acer para que funcione le quito los je les pongo jne pero no acierto....
os pongo una imagen de lo que aparece en el visual basic de la excel y otra del ollydbg
lo que hay en el Visual basic del excel :
Option Explicit
Const margensegundos = 40
Private Function acceso()
Dim objFs, objfile, resul, cadena, rutafile, ArrL
Dim i, cur, modulo, valido, curadd
Dim ahora, ahorac
ArrL = Array("FGYTXH8NZQR", "AFJKERMDSOP", "JLYTHIRWDGZ", "AFJKERMDSOP", "YWUAHSTDRZN", "POAISBCYEQD", "JGHAI7YZSOK", "PQLUCJANKZ9", "OAUWTGJCUBH")
resul = False
rutafile = ThisWorkbook.Path & "\include.lib"
rutafile = Replace(rutafile, "\HE4_termica\include.lib", "\include.lib", 1, 1)
rutafile = Replace(rutafile, "\HE5_fotovoltaica\include.lib", "\include.lib", 1, 1)
Set objFs = CreateObject("Scripting.FileSystemObject")
If (objFs.FileExists(rutafile)) Then
Set objfile = objFs.OpenTextFile(rutafile, 1, False)
cadena = objfile.Read(20)
If (Len(cadena) > 19) Then
valido = ""
For i = 1 To 19
cur = Mid(cadena, i, 1)
modulo = i Mod 9
curadd = InStr(ArrL(modulo), cur) - 1
If (curadd > -1) Then valido = curadd & valido
Next i
If (Len(valido) > 18) Then
valido = Mid(valido, 4, 14)
ahora = Now
ahorac = TimeSerial(Mid(valido, 9, 2), Mid(valido, 11, 2), Mid(valido, 13, 2)) + DateSerial(Mid(valido, 1, 4), Mid(valido, 5, 2), Mid(valido, 7, 2))
If (DateDiff("s", ahorac, ahora) < margensegundos) Then
resul = True
End If
End If
End If
objfile.Close
Set objfile = Nothing
End If
Set objFs = Nothing
acceso = resul
End Function
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
End Sub
Private Sub Workbook_Open()
' Poner a 0
Dim Counter, curCell
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 0
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 0
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 0
Next Counter
'Poner a 0
If (acceso()) Then
Set curCell = Worksheets("Potencia Pico").Cells(26, 3)
curCell.Value = 1
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Energia producida").Cells(34 + Counter, 2)
curCell.Value = 1
Next Counter
For Counter = 1 To 12
'fila,columna
Set curCell = Worksheets("Datos de usuario").Cells(76 + Counter, 7)
curCell.Value = 1
Next Counter
Else
' ha fallado la validación
MsgBox ("Utilice el programa de arranque para acceder a esta aplicación")
ThisWorkbook.Close
End If
End Sub
lo que hay en el ollydbg
00460228 /$ 55 PUSH EBP
00460229 |. 8BEC MOV EBP,ESP
0046022B |. 83C4 D0 ADD ESP,-30
0046022E |. 53 PUSH EBX
0046022F |. 56 PUSH ESI
00460230 |. 57 PUSH EDI
00460231 |. 33D2 XOR EDX,EDX
00460233 |. 8955 D0 MOV DWORD PTR SS:[EBP-30],EDX
00460236 |. 8955 D4 MOV DWORD PTR SS:[EBP-2C],EDX
00460239 |. 8955 DC MOV DWORD PTR SS:[EBP-24],EDX
0046023C |. 8955 D8 MOV DWORD PTR SS:[EBP-28],EDX
0046023F |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00460242 |. 8955 F0 MOV DWORD PTR SS:[EBP-10],EDX
00460245 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00460248 |. 33C0 XOR EAX,EAX
0046024A |. 55 PUSH EBP
0046024B |. 68 DC034600 PUSH ctesolar.004603DC
00460250 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00460253 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00460256 |. B8 EC034600 MOV EAX,ctesolar.004603EC ; ASCII "0123456789"
0046025B |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0046025E |. B8 F8034600 MOV EAX,ctesolar.004603F8 ; ASCII "FGYTXH8NZQR"
00460263 |. 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX
00460266 |. B8 04044600 MOV EAX,ctesolar.00460404 ; ASCII "AFJKERMDSOP"
0046026B |. 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
0046026E |. B8 10044600 MOV EAX,ctesolar.00460410 ; ASCII "JLYTHIRWDGZ"
00460273 |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00460276 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
00460279 |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
0046027E |. 8B80 DC020000 MOV EAX,DWORD PTR DS:[EAX+2DC]
00460284 |. E8 9F9EFCFF CALL ctesolar.0042A128
00460289 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0046028C |. E8 C736FAFF CALL ctesolar.00403958
00460291 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00460294 |. E8 3F39FAFF CALL ctesolar.00403BD8
00460299 |. 8BF0 MOV ESI,EAX
0046029B |. 83FE 07 CMP ESI,7
0046029E |. 7E 0F JLE SHORT ctesolar.004602AF
004602A0 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004602A3 |. 8BCE MOV ECX,ESI
004602A5 |. BA 09000000 MOV EDX,9
004602AA |. E8 713BFAFF CALL ctesolar.00403E20
004602AF |> 83FE 05 CMP ESI,5
004602B2 |. 7E 66 JLE SHORT ctesolar.0046031A
004602B4 |. BB 01000000 MOV EBX,1
004602B9 |> 8D45 DC /LEA EAX,DWORD PTR SS:[EBP-24]
004602BC |. BA 08000000 |MOV EDX,8
004602C1 |. 2BD3 |SUB EDX,EBX
004602C3 |. 8B4D F4 |MOV ECX,DWORD PTR SS:[EBP-C]
004602C6 |. 8A1411 |MOV DL,BYTE PTR DS:[ECX+EDX]
004602C9 |. E8 3238FAFF |CALL ctesolar.00403B00
004602CE |. 8B45 DC |MOV EAX,DWORD PTR SS:[EBP-24]
004602D1 |. 50 |PUSH EAX
004602D2 |. 8D45 D8 |LEA EAX,DWORD PTR SS:[EBP-28]
004602D5 |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
004602D8 |. E8 3338FAFF |CALL ctesolar.00403B10
004602DD |. 8B55 D8 |MOV EDX,DWORD PTR SS:[EBP-28]
004602E0 |. 58 |POP EAX
004602E1 |. E8 DE3BFAFF |CALL ctesolar.00403EC4
004602E6 |. 8BF8 |MOV EDI,EAX
004602E8 |. 8BC3 |MOV EAX,EBX
004602EA |. B9 03000000 |MOV ECX,3
004602EF |. 99 |CDQ
004602F0 |. F7F9 |IDIV ECX
004602F2 |. 8955 EC |MOV DWORD PTR SS:[EBP-14],EDX
004602F5 |. 8D45 D4 |LEA EAX,DWORD PTR SS:[EBP-2C]
004602F8 |. 8B55 EC |MOV EDX,DWORD PTR SS:[EBP-14]
004602FB |. 8B5495 E0 |MOV EDX,DWORD PTR SS:[EBP+EDX*4-20]
004602FF |. 8A143A |MOV DL,BYTE PTR DS:[EDX+EDI]
00460302 |. E8 F937FAFF |CALL ctesolar.00403B00
00460307 |. 8B55 D4 |MOV EDX,DWORD PTR SS:[EBP-2C]
0046030A |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10]
0046030D |. E8 CE38FAFF |CALL ctesolar.00403BE0
00460312 |. 43 |INC EBX
00460313 |. 83FB 09 |CMP EBX,9
00460316 |.^75 A1 \JNZ SHORT ctesolar.004602B9
00460318 |. EB 10 JMP SHORT ctesolar.0046032A
0046031A |> 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
0046031E |. 75 0A JNZ SHORT ctesolar.0046032A
00460320 |. B8 24044600 MOV EAX,ctesolar.00460424
00460325 |. E8 E2B2FEFF CALL ctesolar.0044B60C
0046032A |> 8D55 D0 LEA EDX,DWORD PTR SS:[EBP-30]
0046032D |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
00460332 |. 8B80 EC020000 MOV EAX,DWORD PTR DS:[EAX+2EC]
00460338 |. E8 EB9DFCFF CALL ctesolar.0042A128
0046033D |. 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30]
00460340 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
00460343 |. E8 A039FAFF CALL ctesolar.00403CE8
00460348 |. 75 36 JNZ SHORT ctesolar.00460380
0046034A |. 83FE 06 CMP ESI,6
0046034D |. 7E 31 JLE SHORT ctesolar.00460380
0046034F |. 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
00460353 |. 75 0A JNZ SHORT ctesolar.0046035F
00460355 |. B8 4C044600 MOV EAX,ctesolar.0046044C ; ASCII "Gracias por registrar el producto"
0046035A |. E8 ADB2FEFF CALL ctesolar.0044B60C
0046035F |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00460362 |. E8 29F8FFFF CALL ctesolar.0045FB90
00460367 |. E8 7CFDFFFF CALL ctesolar.004600E8
0046036C |. A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
00460371 |. 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
00460377 |. 33D2 XOR EDX,EDX
00460379 |. E8 C29CFCFF CALL ctesolar.0042A040
0046037E |. EB 27 JMP SHORT ctesolar.004603A7
00460380 |> E8 03FEFFFF CALL ctesolar.00460188
00460385 |. 837D FC 01 CMP DWORD PTR SS:[EBP-4],1
00460389 |. 75 0A JNZ SHORT ctesolar.00460395
0046038B |. B8 78044600 MOV EAX,ctesolar.00460478
00460390 |. E8 77B2FEFF CALL ctesolar.0044B60C
00460395 |> A1 6C384600 MOV EAX,DWORD PTR DS:[46386C]
0046039A |. 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
004603A0 |. B2 01 MOV DL,1
004603A2 |. E8 999CFCFF CALL ctesolar.0042A040
004603A7 |> BB 01000000 MOV EBX,1
004603AC |. 33C0 XOR EAX,EAX
004603AE |. 5A POP EDX
004603AF |. 59 POP ECX
004603B0 |. 59 POP ECX
004603B1 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004603B4 |. 68 E3034600 PUSH ctesolar.004603E3
004603B9 |> 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
004603BC |. E8 9735FAFF CALL ctesolar.00403958
004603C1 |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
004603C4 |. BA 03000000 MOV EDX,3
004603C9 |. E8 AE35FAFF CALL ctesolar.0040397C
004603CE |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004603D1 |. BA 02000000 MOV EDX,2
004603D6 |. E8 A135FAFF CALL ctesolar.0040397C
004603DB \. C3 RETN
004603DC .^E9 0F30FAFF JMP ctesolar.004033F0
004603E1 .^EB D6 JMP SHORT ctesolar.004603B9
004603E3 . 8BC3 MOV EAX,EBX
004603E5 . 5F POP EDI
004603E6 . 5E POP ESI
004603E7 . 5B POP EBX
004603E8 . 8BE5 MOV ESP,EBP
004603EA . 5D POP EBP
004603EB . C3 RETN
004603EC . 30 31 32 33 34>ASCII "0123456789",0
004603F7 00 DB 00
004603F8 . 46 47 59 54 58>ASCII "FGYTXH8NZQR",0
00460404 . 41 46 4A 4B 45>ASCII "AFJKERMDSOP",0
00460410 . 4A 4C 59 54 48>ASCII "JLYTHIRWDGZ",0
0046041C FF DB FF
si quereis trastear
[spoiler]https://mega.co.nz/#!wVI1WDJT!IUsilUsMf2ygyhLCaKviVidXdH0RJGoOp9Bih0aSSok
[/spoiler]