Hola a ver si me podéis ayudar con este exe

Iniciado por yako-_-, 2 Junio 2012, 02:18 AM

0 Miembros y 3 Visitantes están viendo este tema.

yako-_-

Buenas a todos y un saludo cuanto tiempo! ::)

Bueno, al tema tengo un exe de un juego, que al intentar instalarlo me arroja el mensaje de que "introduzca el cd original" en un msgBox y ahí se queda. Y no es para hacer un Nocd que a eso no me atrevo. Solo es a la hora de instalarlo no me deja ejecutar el instalador.

Le paso el RDG y no me da ningún empaquetado solo me dice que esta escrito en Delphi.

Lo que llevo hecho es intentar decompilarlo con DEDE no hace nada. E buscado con ollydbg y nada mas abrirlo me dice que esta empaquetado, por lo que e investigado por dentro del ejecutable creo que con el aspack (y el RDG no me lo detecta).

Pues mi duda es esa a ver si alguien me puede verificar si esta empacado o que pasa ya que no consigo hacer nada con este exe.

https://docs.google.com/open?id=0B1fcHxl5Dah7NkVqTEllSDZqNnM

Muchas gracias y un saludo!!!
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

apuromafo CLS

#1
si uso PID:
[!] Laserlok (Build 31.10.07) protected !
si busco la referencia de un tutorial este te deberia servir:

http://forumcrack.com/web/Dynasty/Tutorial%2030%20-%20Laserlock%20SPEEnc%202.0%20(Unpacking)/Laserlock_SPEEnc/Laserlock_SPEEnc_en.html


a primera vista confirmo
004000D7  50 61 63 6B 65 64 20 62 79 20 53 50 45 45 6E 63  Packed by SPEEnc
004000E7  20 56 32 20 41 73 74 65 72 69 6F 73 20 50 61 72   V2 Asterios Par
004000F7  6C 61 6D 65 6E 74 61 73 2E 50 45 00 00 4C 01 08  lamentas.PE..L
00400107  00 19 5E 42 2A                                   .^B*

es mas la string en el entrypoint dice
0040114E  2D 3D 5C 65 2D 6D 61 69 6C 3A 73 74 65 76 65 40  -=\e-mail:steve@
0040115E  6C 61 73 65 72 6C 6F 63 6B 2E 63 6F 6D 7C 49 43  laserlock.com|IC
0040116E  51 3A 32 31 39 33 39 36 30 38                    Q:21939608

bueno sigamos:



PUSH EAX
   CALL 00401196
   POP EAX
   POP EAX
   PUSH EAX
   PUSH EBP
   PUSH EAX
   CALL 004011E3
   POP EAX
   POP EAX
   CALL 004011FC
   POP EBP
   PUSH EAX
   CALL 00401218
   POP EAX
   POP EAX
   PUSH EAX
   MOV EAX,EBP
   SUB EAX,1FC
   SUB EAX,DWORD PTR DS:[EBP-1BE]
   MOV DWORD PTR DS:[EBP-1BE],EAX
   SUB EBP,63A71FC
   PUSHAD
   LEA EAX,DWORD PTR SS:[EBP+63A7359]
   PUSH EAX
   CALL 004012A2
   POP EAX
   POP EAX
   PUSH EAX
   LEA EBX,DWORD PTR SS:[EBP+63A8CAE]
   SUB EBX,EAX
   PUSH EBX
   PUSH EAX
   CALL 004012DB
   POP EAX
   POP EAX
   PUSH DWORD PTR DS:[EBP+63A7042]
   PUSH 93721222
   PUSH EAX
   CALL 00401332
   POP EAX
   POP EAX
   CALL 00402CAE



luego ese ultimo call va a

00402CAE    C8 000000       ENTER 0,0
00402CB2    60              PUSHAD
00402CB3    8B75 14         MOV ESI,DWORD PTR SS:[EBP+14]
00402CB6    8BFE            MOV EDI,ESI
00402CB8    8B4D 10         MOV ECX,DWORD PTR SS:[EBP+10]
00402CBB    83F9 00         CMP ECX,0
00402CBE    74 27           JE SHORT 00402CE7                        ; 00402CE7
00402CC0    8B5D 08         MOV EBX,DWORD PTR SS:[EBP+8]
00402CC3    33D2            XOR EDX,EDX
00402CC5    8B45 0C         MOV EAX,DWORD PTR SS:[EBP+C]
00402CC8    F7E3            MUL EBX
00402CCA    33D0            XOR EDX,EAX
00402CCC    33D3            XOR EDX,EBX
00402CCE    AC              LODS BYTE PTR DS:[ESI]
00402CCF    C1C2 10         ROL EDX,10
00402CD2    02C6            ADD AL,DH
00402CD4    32C2            XOR AL,DL
00402CD6    C1EA 10         SHR EDX,10
00402CD9    2AC6            SUB AL,DH
00402CDB    32C2            XOR AL,DL
00402CDD    AA              STOS BYTE PTR ES:[EDI]
00402CDE    43              INC EBX
00402CDF    83F9 01         CMP ECX,1
00402CE2    74 03           JE SHORT 00402CE7                        ; 00402CE7
00402CE4    49              DEC ECX
00402CE5  ^ EB DC           JMP SHORT 00402CC3                       ; 00402CC3
00402CE7    61              POPAD
00402CE8    C9              LEAVE
00402CE9    C2 1000         RETN 10

una mini rutina pushad-popad, pero parece acprotect,

si no hay cd:
0090C4C4   /0F84 57010000   JE 0090C621


0090C621    3E:FF95 728D3A0>CALL NEAR DWORD PTR DS:[EBP+63A8D72]     ; kernel32.ExitProcess


el tema es pillarlo al oep con el juego y luego dumpear y reparar..

eso es porque despues de haber cargado sus apis carga una dll
10001000   .  5C 3D 2D 53 5>ASCII "\=-SPeEnc loader"
10001010   .  20 72 75 74 6>ASCII " rutine d02-07-0"
10001020   .  31 72 20 62 7>ASCII "1r by Asterios P"
10001030   .  61 72 6C 61 6>ASCII "arlamentas\=-",0
1000103E      00000010      DD DPML3522.10000000


tambien se ven algunas cosas cripto como
00A92907    AC              LODS BYTE PTR DS:[ESI]
00A92908    C1C2 10         ROL EDX,10
00A9290B    02C6            ADD AL,DH
00A9290D    32C2            XOR AL,DL
00A9290F    C1EA 10         SHR EDX,10
00A92912    2AC6            SUB AL,DH
00A92914    32C2            XOR AL,DL
00A92916    AA              STOS BYTE PTR ES:[EDI]
00A92917    43              INC EBX
00A92918    83F9 01         CMP ECX,1
00A9291B    74 03           JE SHORT 00A92920
00A9291D    49              DEC ECX
00A9291E  ^ EB DC           JMP SHORT 00A928FC
00A92920    61              POPAD
00A92921    C9              LEAVE
00A92922    C2 1000         RETN 10


(para poder ver la dll debes colocar bp en VirtualAlloc)

ahora intento ver en como el 5to retorno de virtual alloc (desde la dll el juego de los true y false


10002A4D    50              PUSH EAX
10002A4E    8B55 E4         MOV EDX,DWORD PTR SS:[EBP-1C]
10002A51    33C0            XOR EAX,EAX
10002A53    83BA D8060000 0>CMP DWORD PTR DS:[EDX+6D8],0
10002A5A    0F95C0          SETNE AL
10002A5D    50              PUSH EAX
10002A5E    68 E8E80410     PUSH 1004E8E8
10002A63    E8 37EBFFFF     CALL 1000159F                            ; 1000159F
10002A68    83C4 04         ADD ESP,4


y ahora muestra abajo

0012F86C   003F4EB8  ASCII "
V%s
%s Ver.%d.%d, build:%d, %s
"
0012F870   003F46B0  ASCII "7,5,82 Marathon HSv1 [Build 03-02-2005]"
0012F874   0012F8C0  ASCII "WIN_XP"


en teoria el ultimo lugar luego de descifrar todo deberia ser algo similar a esto

0090DC76    83F9 01         CMP ECX,1
0090DC79    74 03           JE SHORT 0090DC7E
0090DC7B    49              DEC ECX
0090DC7C  ^ EB DC           JMP SHORT 0090DC5A
0090DC7E    61              POPAD
0090DC7F    C9              LEAVE

(yo llego solo hasta 00906B3C    E8 65700000     CALL 0090DBA6
)

espero algo te sirva como idea..

si no puedes, a buscar por otra forma en google:
http://es.answers.yahoo.com/question/index?qid=20080410071107AA0CW8P

yo busque una version NOCD y al parecer esta unpacked, te lo adjunto en caso x como referencia:

http://www.mediafire.com/?1q8j59fnrqjtpkn

saludos Apuromafo

yako-_-

#2
Buenas!!!

Muchas gracias apuromafo por toda la información, le metiste caña y te as molestado mucho gracias.

El tema que me gusto es que miraste la proteccion que usaba rápido, y yo estuve dando vueltas e intentando desempacar "mareandome".

Te quería hacer tres preguntas: cuando me pones direcciones que empiezan por 90XXX las busco con ollydbg y no aparecen, seguramente es una pijada pero bueno esta bien saberlo.

Crees que es muy chungo saltarse el laserlock? es que los tutes que encontré están en ingles, y traducidos con google no me sirve de mucho. Sabes de alguno en castellano?.

De todas formas descargare el que me pasaste por mf pero quiero intentar reventarlo.

Un saludo y gracias de nuevo
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

Иōҳ

Más me parece lugares que ha allocado el packer, fíjate en que momento crea las secciones virtuales con Bp VirtualAlloc o VirtualAllocEx, aunque siempre puedes ir a las nativas por si las caiguas xD

Saludos,
Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

yako-_-

Gracias  Иōҳ por tu ayuda pero no entiendo lo que me dices  :huh:

un saludo
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

Иōҳ

El packer crea secciones virtuales para hacer sus cosillas, lo que te mencionaba es poner un breakpoint en esa api, prueba también con GlobalAlloc o LocalAlloc, igual puedes ir a las nativas osea las de la ntdll que terminan en el mismo por si tienes problemas que pare :).

Saludos,
Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

yako-_-

#6
buenas gracias de nuevo Иōҳ pero mis conocimientos no llegan a tanto de todos modos mucha gracias.

E estado investigando algo y leí que se puede emular con daemon tildando una opción y hay unos generadores de parchas para laserlock los cuales de los dos que e bajado no funcionan. (Generic LaserLock Patch v1.35)

Sigo haciendo averiguaciones pero por ahora no di con la clave, pero creo que destrozar el laserlock me va a ser complicado con mi grado de conocimiento.

De todos modos voy a intentarlo y si no descargar el que publico apuromafo a ver que pasa y si encuentro diferencias con el mio.

un saludo y gracias
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

Иōҳ

Eres adicto a la Ing. Inversa? -> www.noxsoft.net

yako-_-

#8
Buenas!

Gracias por el enlace. Ya lei el curso de ricardo  hace tiempo pero los pakers siempre me liaron ademas hacia tiempo ya que no andaba en esto.

El nick te puede sonar de esta web postee algunas crackmes y algún tutorial simple.

igual te sueno de aki: http://foro.elhacker.net/ingenieria_inversa/cutre_crackme_4_forever-t296844.0.html;msg1471873#msg1471873  ("Control+F" y pon tu nick)

Pero bueno a ver si alguien del foro desempaco esta proteccion y puede  hechar un cable o hacer un buen tutorial que no hay ninguno por la red es castellano de este packer... :silbar:

un saludo y gracias
Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-

MCKSys Argentina

http://tuts4you.com/download.php?view.2688
http://tuts4you.com/download.php?view.2689

Ahi hay 2 tutoriales sobre esta proteccion. Estan en inlges, asi que.... a esmerarse!!!  ;D

Saludos!

PD: Si estas en este juego (Ing. Inv.), deberias mejorar tu ingles. Es casi VITAL...
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."