Reditor. Imposible para un novato

Iniciado por manakagruya, 28 Marzo 2011, 21:35 PM

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

manakagruya

Hola a todos, al final me he decidido en pedir ayuda, llevo cerca de 5 meses intentando encontrar el serial de este programa, es un editor de un juego de la saga de los nba 2k, me resulta imposible sin una ayuda profesional.
Primero me lei el manual de ricardo narvaja, y probe varios tutoriales q venian en este manual, aparte he seguido varios manuales de esta pagina.
En fin, con el peid y el rdg packer detector me dicen q esta empacado con telock 0.98b1->te! y compilado con masm 32 o tasm 32. Desempacarlo no es dificil lo hice primero con un unpacker q encontre, y despues manualx reconstruyendo la IAT, he probado de todo.....
he llegado al punto en que coge el serial falso q meto, y con un memory on access dword, veo como coge mi serial y con instrucciones FILD y FIST lo convierte en punto flotante, pero no se que mas hacer, agradeceria ayuda, es jodido de hackear o crackear,
encontre el salto q decide si el serial es bueno o no, me dice q reinicie el programa y al hacerlo sigue igual, pidiendo serial otra vez, imagino q es mas facil crackearlo y que salte cuando el serial q encontrar el serial,
en fin lo dejo en manos de profesionales, si alguien me echa un cable lo agradecere.

jackgris

Estas seguro que encontraste ese salto? que modificacion realizaste, que programa es, podrias poner el codigo donde dices que esta el salto?

apuromafo CLS

pero no se que mas hacer,
seguir aprendiendo sobre los numeros flotantes/reales

lo demas parece requesting, cosa no permitida aun en el foro, pero no digo que no este mal, analizar, porque no colocas la parte sensible, para ver como estas interpretando el codigo?

tena

Es que con solo cambiar un salto aveces no alcanza. Seguramente se esta fijando en un byte de registro, y es este el que debes modificar y evitar que te lo vuelva a sobreescribir al reiniciar el programa.

Ponenos un buen pedazo de codigo del salto que modificaste, tanto por encima como por debajo del mismo.

slds


manakagruya

Hola a todos, no os podeis imaginar lo agradable q me resulta q me hayais respondido...
Lo de la fijacion a un registro lo intuia, pero no llego. Seguir aprendiendo... me gustaria, pero no os a pasado alguna vez q sentis q no llegais, q la mente necesita un millon de conceptos y de ideas previas para llegar a esa sabiduria?? pues a si me siento, veo muy complejo el tema de las operaciones flotantes,
Y el salto lo encontre, porque al pulsar OK me decia q reinicie el programa, antes me decia THE KEY IS INVALID!
Y Requesting???, podrias explicarme un poco a grandes rasgos??

manakagruya

Esta es la primera parte, podeis ver el The key is invalid y el "Valido" el PUSH EBP de la direccion 005b93d4 (la primera linea del codigo) tiene dos llamadas locales segui las dos y en la segunda llamada (005b9a11) siguiendola llegue al salto q os muestro despues de esta sección de codigo.


005B93D4  /$  55            PUSH EBP
005B93D5  |.  8BEC          MOV EBP,ESP
005B93D7  |.  83C4 DC       ADD ESP,-24
005B93DA  |.  33C9          XOR ECX,ECX
005B93DC  |.  894D DC       MOV [LOCAL.9],ECX
005B93DF  |.  894D E8       MOV [LOCAL.6],ECX
005B93E2  |.  894D E4       MOV [LOCAL.7],ECX
005B93E5  |.  894D E0       MOV [LOCAL.8],ECX
005B93E8  |.  8955 F8       MOV [LOCAL.2],EDX
005B93EB  |.  8945 FC       MOV [LOCAL.1],EAX
005B93EE  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B93F1  |.  E8 22E2E4FF   CALL REDitor.00407618
005B93F6  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B93F9  |.  E8 1AE2E4FF   CALL REDitor.00407618
005B93FE  |.  33C0          XOR EAX,EAX
005B9400  |.  55            PUSH EBP
005B9401  |.  68 3F955B00   PUSH REDitor.005B953F
005B9406  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
005B9409  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
005B940C  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B940F  |.  8B55 F8       MOV EDX,[LOCAL.2]
005B9412  |.  E8 89E9E4FF   CALL REDitor.00407DA0
005B9417  |.  0F9445 F7     SETE BYTE PTR SS:[EBP-9]
005B941B  |.  807D F7 00    CMP BYTE PTR SS:[EBP-9],0
005B941F  |.  0F85 C9000000 JNZ REDitor.005B94EE
005B9425  |.  C745 F0 05000>MOV [LOCAL.4],5
005B942C  |.  8B45 F0       MOV EAX,[LOCAL.4]
005B942F  |.  F7D8          NEG EAX
005B9431  |.  83C0 02       ADD EAX,2
005B9434  |.  8945 F0       MOV [LOCAL.4],EAX
005B9437  |.  8D45 FC       LEA EAX,[LOCAL.1]
005B943A  |.  8B55 F8       MOV EDX,[LOCAL.2]
005B943D  |.  E8 42E2E4FF   CALL REDitor.00407684
005B9442  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B9445  |.  8B55 F8       MOV EDX,[LOCAL.2]
005B9448  |.  E8 53E9E4FF   CALL REDitor.00407DA0
005B944D  |.  74 07         JE SHORT REDitor.005B9456
005B944F  |.  C745 F0 65030>MOV [LOCAL.4],365
005B9456  |>  8D45 E8       LEA EAX,[LOCAL.6]
005B9459  |.  50            PUSH EAX
005B945A  |.  B9 0E000000   MOV ECX,0E
005B945F  |.  BA 01000000   MOV EDX,1
005B9464  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B9467  |.  E8 9CE9E4FF   CALL REDitor.00407E08
005B946C  |.  FF75 E8       PUSH [LOCAL.6]
005B946F  |.  8D55 E4       LEA EDX,[LOCAL.7]
005B9472  |.  8B45 F0       MOV EAX,[LOCAL.4]
005B9475  |.  E8 52B3E5FF   CALL REDitor.004147CC
005B947A  |.  FF75 E4       PUSH [LOCAL.7]
005B947D  |.  8D45 E0       LEA EAX,[LOCAL.8]
005B9480  |.  50            PUSH EAX
005B9481  |.  B9 07000000   MOV ECX,7
005B9486  |.  BA 0F000000   MOV EDX,0F
005B948B  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B948E  |.  E8 75E9E4FF   CALL REDitor.00407E08
005B9493  |.  FF75 E0       PUSH [LOCAL.8]
005B9496  |.  8D45 F8       LEA EAX,[LOCAL.2]
005B9499  |.  BA 03000000   MOV EDX,3
005B949E  |.  E8 3DE7E4FF   CALL REDitor.00407BE0
005B94A3  |.  33C0          XOR EAX,EAX
005B94A5  |.  8945 F0       MOV [LOCAL.4],EAX
005B94A8  |>  8D45 F8       /LEA EAX,[LOCAL.2]
005B94AB  |.  BA 5C955B00   |MOV EDX,REDitor.005B955C                                          ;  UNICODE "The Key is Invalid!"
005B94B0  |.  E8 CFE1E4FF   |CALL REDitor.00407684
005B94B5  |.  FF45 F0       |INC [LOCAL.4]
005B94B8  |.  837D F0 06    |CMP [LOCAL.4],6
005B94BC  |.^ 75 EA         \JNZ SHORT REDitor.005B94A8
005B94BE  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B94C1  |.  BA 5C955B00   MOV EDX,REDitor.005B955C                                           ;  UNICODE "The Key is Invalid!"
005B94C6  |.  E8 D5E8E4FF   CALL REDitor.00407DA0
005B94CB  |.  75 21         JNZ SHORT REDitor.005B94EE
005B94CD  |.  B8 90955B00   MOV EAX,REDitor.005B9590                                           ;  UNICODE "The program has been successfully registered to "
005B94D2  |.  E8 F9D8EDFF   CALL REDitor.00496DD0
005B94D7  |.  8D55 EC       LEA EDX,[LOCAL.5]
005B94DA  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B94DD  |.  E8 56EFF4FF   CALL REDitor.00508438
005B94E2  |.  84C0          TEST AL,AL
005B94E4  |.  74 08         JE SHORT REDitor.005B94EE
005B94E6  |.  8D45 FC       LEA EAX,[LOCAL.1]
005B94E9  |.  E8 52F3FFFF   CALL REDitor.005B8840
005B94EE  |>  8D45 FC       LEA EAX,[LOCAL.1]
005B94F1  |.  BA 90955B00   MOV EDX,REDitor.005B9590                                           ;  UNICODE "The program has been successfully registered to "
005B94F6  |.  E8 89E1E4FF   CALL REDitor.00407684
005B94FB  |.  8D55 DC       LEA EDX,[LOCAL.9]
005B94FE  |.  8B45 F0       MOV EAX,[LOCAL.4]

Aqui en este salto (perdon por no haber quitado el analisis del modulo, me refiero a lo de [LOCAL.2]etc, si es importante lo quito para q observeis los registros, lo es?


005B9A11  |.  E8 BEF9FFFF   CALL REDitor.005B93D4
005B9A16  |.  83E0 7F       AND EAX,7F
005B9A19  |.  8945 F8       MOV [LOCAL.2],EAX
005B9A1C  |.  8D4D D8       LEA ECX,[LOCAL.10]
005B9A1F  |.  BA 01000000   MOV EDX,1
005B9A24  |.  8B45 F4       MOV EAX,[LOCAL.3]
005B9A27  |.  8B18          MOV EBX,DWORD PTR DS:[EAX]
005B9A29  |.  FF53 0C       CALL DWORD PTR DS:[EBX+C]
005B9A2C  |.  8B45 D8       MOV EAX,[LOCAL.10]
005B9A2F  |.  50            PUSH EAX
005B9A30  |.  8D45 D4       LEA EAX,[LOCAL.11]
005B9A33  |.  E8 34F4FFFF   CALL REDitor.005B8E6C
005B9A38  |.  8B45 D4       MOV EAX,[LOCAL.11]
005B9A3B  |.  5A            POP EDX
005B9A3C  |.  E8 C7FBFFFF   CALL REDitor.005B9608
005B9A41  |.  8945 F8       MOV [LOCAL.2],EAX
005B9A44  |.  FF4D F8       DEC [LOCAL.2]
005B9A47  |.  FF45 F8       INC [LOCAL.2]
005B9A4A  |.  FF4D F8       DEC [LOCAL.2]
005B9A4D  |.  FF4D F8       DEC [LOCAL.2]
005B9A50  |.  8345 F8 02    ADD [LOCAL.2],2
005B9A54  |.  68 6E010000   PUSH 16E                                                           ; /Timeout = 366. ms
005B9A59  |.  E8 1A2AE6FF   CALL <JMP.&kernel32.Sleep>                                         ; \Sleep
005B9A5E  |.  8B45 F4       MOV EAX,[LOCAL.3]
005B9A61  |.  E8 BABAE4FF   CALL REDitor.00405520
005B9A66  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B9A69  |.  C1E0 02       SHL EAX,2
005B9A6C  |.  85C0          TEST EAX,EAX
005B9A6E      79 03         JNS SHORT REDitor.005B9A73
005B9A70  |.  83C0 03       ADD EAX,3
005B9A73  |>  C1F8 02       SAR EAX,2
005B9A76  |.  8945 F8       MOV [LOCAL.2],EAX
005B9A79  |.  33D2          XOR EDX,EDX
005B9A7B  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B9A7E  |.  8B80 AC030000 MOV EAX,DWORD PTR DS:[EAX+3AC]
005B9A84  |.  E8 9B8BECFF   CALL REDitor.00482624
005B9A89  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B9A8C  |.  2B45 F8       SUB EAX,[LOCAL.2]
005B9A8F  |.  0345 F8       ADD EAX,[LOCAL.2]
005B9A92  |.  83C0 04       ADD EAX,4
005B9A95  |.  83E8 02       SUB EAX,2
005B9A98  |.  83E8 02       SUB EAX,2
005B9A9B  |.  8945 F8       MOV [LOCAL.2],EAX
005B9A9E  |.  837D F8 00    CMP [LOCAL.2],0
005B9AA2      74 31         JE SHORT REDitor.005B9AD5   


Este salto q esta cambiado es el que os dije que pasaba de decirme THE KEY IS INVALID A q reinicie el programa, y sigue igual
005B9AA4  |.  8D45 D0       LEA EAX,[LOCAL.12]
005B9AA7  |.  E8 94EDFFFF   CALL REDitor.005B8840
005B9AAC  |.  8B55 D0       MOV EDX,[LOCAL.12]
005B9AAF  |.  A1 D8D15D00   MOV EAX,DWORD PTR DS:[5DD1D8]
005B9AB4  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
005B9AB6  |.  8B80 8C030000 MOV EAX,DWORD PTR DS:[EAX+38C]
005B9ABC  |.  E8 936EEFFF   CALL REDitor.004B0954
005B9AC1  |.  A1 D8D15D00   MOV EAX,DWORD PTR DS:[5DD1D8]
005B9AC6  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
005B9AC8  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
005B9ACA  |.  FF92 10010000 CALL DWORD PTR DS:[EDX+110]
005B9AD0  |.  E9 EF000000   JMP REDitor.005B9BC4
005B9AD5  |>  8D55 CC       LEA EDX,[LOCAL.13]
005B9AD8  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B9ADB  |.  8B80 8C030000 MOV EAX,DWORD PTR DS:[EAX+38C]
005B9AE1  |.  E8 366EEFFF   CALL REDitor.004B091C
005B9AE6  |.  8B55 CC       MOV EDX,[LOCAL.13]
005B9AE9  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B9AEC  |.  8B80 A0030000 MOV EAX,DWORD PTR DS:[EAX+3A0]
005B9AF2  |.  E8 5D6EEFFF   CALL REDitor.004B0954
005B9AF7  |.  8B45 FC       MOV EAX,[LOCAL.1]
005B9AFA  |.  8B80 A0030000 MOV EAX,DWORD PTR DS:[EAX+3A0]
005B9B00  |.  8B40 64       MOV EAX,DWORD PTR DS:[EAX+64]
005B9B03  |.  BA 080000FF   MOV EDX,FF000008
005B9B08  |.  E8 63FCE9FF   CALL REDitor.00459770
005B9B0D  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B9B10  |.  2D 80000000   SUB EAX,80                                                         ;  Switch (cases 80..800)
005B9B15  |.  74 10         JE SHORT REDitor.005B9B27
005B9B17  |.  2D 80010000   SUB EAX,180
005B9B1C  |.  74 1E         JE SHORT REDitor.005B9B3C




tena

En esta parte entra al call

005B9A84  |.  E8 9B8BECFF   CALL REDitor.00482624
005B9A89  |.  8B45 F8       MOV EAX,[LOCAL.2]
005B9A8C  |.  2B45 F8       SUB EAX,[LOCAL.2]
005B9A8F  |.  0345 F8       ADD EAX,[LOCAL.2] 
005B9A92  |.  83C0 04       ADD EAX,4
005B9A95  |.  83E8 02       SUB EAX,2
005B9A98  |.  83E8 02       SUB EAX,2
005B9A9B  |.  8945 F8       MOV [LOCAL.2],EAX
005B9A9E  |.  837D F8 00    CMP [LOCAL.2],0
005B9AA2      74 31         JE SHORT REDitor.005B9AD5   


y ensambla esta linea

MOV [LOCAL.2],1
RETN


y guardalo con otro nombre, ejecuta el nuevo file y veamos que pasa. Quizas sobreescriba el contenido, si es asi, ponele un bpmw para ver donde lo macha y asi evitar eso.

suerte

manakagruya

Hola tena, gracias de nuevo por tu ayuda desinteresada, bien sabe dios (aunq no creo en el, solo es la expresion) q si hay algun conocimiento, o algo que tenga en mi mano q necesites es tuyo.
Solo quiero asegurarme de a lo q te refieres...
Entro en el call 005B9A84  |.  E8 9B8BECFF   CALL REDitor.00482624 pulsando F7, para verlo por dentro y a donde me lleva, bueno a donde me lleva sera a 00482624, y ensambla esta linea, te refieres a q yo la creo como parte de codigo nuevo?? siendo [LOCAL.2] el registro q sea??? aun asi voy a probar a ver q tal, gracias.