Título: mi intento Publicado por: ebercue en 12 Mayo 2013, 17:27 pm 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] Título: Re: mi intento Publicado por: tincopasan en 13 Mayo 2013, 15:08 pm quizá te conviene generar el serial! básicamente lo que hace es:
espero ser claro! 1) tiene conjuntos establecidos ArrL = Array("FGYTXH8NZQR", "AFJKERMDSOP", "JLYTHIRWDGZ", "AFJKERMDSOP", "YWUAHSTDRZN", "POAISBCYEQD", "JGHAI7YZSOK", "PQLUCJANKZ9", "OAUWTGJCUBH") 2) lee de una ruta establecida por la sentencia path una secuencia de 20 caracteres 3)compara que cadena leída tiene que tener más de 19 caracteres 4)toma cada caracter de la cadena 5)toma la ubicación del caracter dentro de la cadena y lo divide por 9 tomando el resto 6)Ahora busca la ubicación del caracter dentro del conjunto establecido por el resto 7)si la letra no esta en el conjunto devuelve un valor vacio, en caso contrario el lugar que ocupa en el conjunto 8)tiene que haber 19 lugares válidos 9)despues toma la fecha del sistema 10) y por último compara que la fecha actual y la cadena final de los lugares sea igual. Ahora bien, sospecho que te falta otra cosa por que para que funcione tendría que cambiar la cadena cada día. O sea sino lo registras el mismo día que te envían el código de activación perdiste. Como dijiste que el archivo reg solo contiene un número aparentemente ese número es lo que dije antes, pero eso no haría que funcione en cada máquina, si copias el archivo en cada máquina el mismo día y a la misma hora (la diferencia debe ser solo de segundos) te andaría. Te recomiendo que leas las funciones mod mid instr y date de visual basic! en cuanto a la imagen del olly esta incompleta pero, tenes que cambiar los saltos que eviten llegar a 00460355 lo cual solo quiere decir que aparezca el letrero de gracias por registar, no de que el soft sea funcional. Título: Re: mi intento Publicado por: ebercue en 13 Mayo 2013, 17:55 pm ok yo creia que podia hacer con el olly que se saltara esos pasos y se registrara veo que no :(
voy a probar eso que dices de las sumas y las restas sobre lo de la clave de activacion, no secomo lo hace pero solo se que cambia con la maquina pero sobre esa maquina siempre es la misma, he probado a cambiar la fecha por el 2006 por ejemplo y me da el mismo numero activacion, limpie el registro, por cierto que es un valor numerico esto es lo que me aparece en pantalla y esto es lo que hay dentro del archivo include.lib (http://imageshack.us/a/img442/7637/capturarrw.png) (http://imageshack.us/a/img444/6677/captura2tu.png) Título: Re: mi intento Publicado por: tincopasan en 13 Mayo 2013, 19:18 pm bueno, si ese código de máquina y el de activación son correctos te diré que solo cumple con la función del orden dentro de los conjuntos, pero no cumple con el de que tenga + de 18 correctos (If (Len(valido) > 18)) pero tiene la fecha 23/03/2013 4 : 15 am, insisto que te estás pasando algo por alto, o sea te falta analizar algo.
otra cosa ¿probaste cambiar el código que te da tú maquina por el correcto? asi usas el mismo archivo de reg Título: Re: mi intento Publicado por: ebercue en 16 Mayo 2013, 13:16 pm el rdg packer me dice:
(http://img526.imageshack.us/img526/118/dibujoulh.jpg) no consegui sacar las excel asi que vuelvo con el ejecutable directamente. NO SE MUY BIEN COMO PERO HE CONSEGUIDO registrar el producto ahora loq ue quiero hacer es el keygen, tambien decir que el "archivo modificado del OLLYBDG" me decia que estaba registrado pero luego me tiraba error I/O 32, pero que abriendo otra copia en el mismo pc con el codigo descubierto en el Olly funciona! ahra lo que tengo que ver es como va sumando restando para ver como se crea ;) en el ordenador actual me pide como codigo de activacion 2901114637 y la clave descubierta es xxxxxxx ahora subo un video del ollybdg Video_1368710542.wmv (48.9 MB) https://mega.co.nz/#!wAg2FR4R!c1BQ7DQDUDvnyMS0WqTyny0qGL9TZz6JkB6JODBsH0A Título: Re: mi intento Publicado por: ebercue en 16 Mayo 2013, 16:09 pm supongo que haciendo un programa que lea esa linea se podria hacer un keygen no? ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) por lo menos ya se como registrarlo en cualquier maquina (http://img40.imageshack.us/img40/9271/capturamr.PNG) Título: Re: mi intento Publicado por: MCKSys Argentina en 17 Mayo 2013, 01:09 am @ebercue: Felicitaciones por el logro! Ahora, por favor, quita el serial que haz puesto, pues este foro es sobre Ing. Inversa, no Cracks/Serialz/etc.
Espero comprendas... Saludos! Título: Re: mi intento Publicado por: ebercue en 17 Mayo 2013, 16:33 pm si es quitar las fotos las quito
de todas formas este serial es solo para mi maquina para la tuya o la de cualquier otro no serviria ;) ya que este programa pide uno distinto para cada uno ;) de todas formas si tengo que editar algo mas lo edito ;) |