elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Ingeniería Inversa / Re: Encontrar el serial en Crackme hecho en VB en: 21 Agosto 2005, 23:11 pm
Hola, yo lo hice de la siguiente manera:
Con el PEiD lo examine y me dice Microsoft Visual Basic 5.0 / 6.0, entonces lo descompilo con el w32dasm y el plugin para VB, ahí busco las str ref, en mi caso solo hay 3, VB5!, mal, y bien, doble clic en ‘mal’ y me manda a 004021DE, un poco arriba de eso veo que hay 4 referencias a este, o sea que desde 4 lugares distintos salta hacia acá:
401FC5, 40205E, 4020F7, 402190
Con el sice pongo un breakpoint en el primero 401FC5, un poco arriba de eso veo que antes de la llamada a vbaVarTstNe se mueven unos valores a la pila,

MOV DWORD PTR SS:[EBP-A4],1    <-- valores a comparar
MOV DWORD PTR SS:[EBP-AC],EDI      <-- valores a comparar
CALL DWORD PTR DS:[40107C]              <-- llamada a vbaVarTstNe
TEST AX,AX
JNZ 004021C5            <--Salto a mal

Lo que me lleva a pensar que el primer dato del serial es 1, luego en las restantes 3, siguiendo la misma técnica, se mueven los datos, 3, 4, 6, o sea que el serial es: 1346

Saludos!
2  Programación / Ingeniería Inversa / Re: Táctica para la búsqueda de generación seriales en: 21 Agosto 2005, 05:59 am
Tiene anti Smart Check, también esta comprimido pero logre descomprimirlo, no se ejecuta ya que el compresor devasta la tabla de importación, por lo menos puedo ver el código muerto con el w32dasm y algunas funciones importadas que me han ayudado para poner los breakpoint con el sice, buscare algún frogsice para el  Smart Check ;)
Se me ocurre que busca la cadena de texto Smart Check, quizá el titulo de la ventana o algo así, por que depurando he visto que lo hace con el w32dasm, ida y otros  :o

Saludos!
3  Programación / Ingeniería Inversa / Re: Táctica para la búsqueda de generación seriales en: 15 Agosto 2005, 22:55 pm
Por lo pronto estoy trabajando con softice ya que tengo win98, leí en un post tuyo que también tenias problemas con olly y win98, y pudiste solucionarlo?   ???

En la otra computadora que tengo con XP probé lo de la Call [eax+000000a0] pero no creo que funcione para todos los programas aun que estén hechos en vb, la verdad no lo intente mucho ya que la computadora me recalienta cuando uso el olly (maldito prescott >:() ,  seguiré intentando con el sice,

Gracias por tu respuesta!  :D
Saludos!
4  Programación / Ingeniería Inversa / Re: Táctica para la búsqueda de generación seriales en: 15 Agosto 2005, 20:58 pm
Bueno daré unos pocos datos mas sobre el programa, espero que no me vayan a benear por eso,

El programa esta hecho en visual basic, utiliza la función vbaStrCmp para compara los seriales, después de esta llamada si los seriales son distintos EAX contiene FFFFFFF, hay un NEG y otras cosas, luego viene un je, si cambio el je por un jne ya me sale el mensaje de serial correcto y crackme crackeado  :P pero ahora quiero encontrar el serial correcto.  8)

Antes de la call a vbaStrCmp hay otra call donde se genera el serial a comparar, pero dentro de esa call es que da mil vueltas para generarlo, al salir eax contiene el serial que va a comparar, tracear dentro de esa call para encontrar el lugar donde se esta generando es que me da problemas,  :'(

Bueno espero que con esos datos alguien me pueda ayudar, Saludos!  :D
5  Programación / Ingeniería Inversa / Re: Táctica para la búsqueda de generación seriales en: 15 Agosto 2005, 19:01 pm
Me gustaría poner el programa pero es un crackme, y quiero solucionarlo por mi mismo, bueno si doy con la solución,  :-\

Quizá encuentre la manera de guardar un registro de las instrucciones que se han ejecutado desde la llamada de esa call hasta su regreso, he probado con un breakpoint de rango y usando el la opción t para que guarde en el buffer de traceo, pero este solo guarda las instrucciones que generan bpr’s y como no se exactamente que rangos de direcciones son los de la call entonces no lo puedo usar,   :'(

Es como si quisiera que desde una posición de memoria x guardara todas las instrucciones que se ejecutan hasta llegar a una posición y.

Bueno hay les cuento si encuentro la manera.  ;)

Saludos!  :)
6  Programación / Ingeniería Inversa / Táctica para la búsqueda de generación seriales en: 14 Agosto 2005, 20:29 pm
Hola foreros!
El problema que tengo es el siguiente: en la parte de un código he encontrado una call donde se genera un serial, el problema es que dentro de esa call hay muchas mas llamadas, saltos a otras funciones y hasta ret’s que se utilizan para llegar a otras dll’s, después de la call hay un mov eax,ecx, y si doy : d ecx veo que ahí esta el serial, lo que me lleva a pensar que casi antes de regresar de la call se genera el serial pero paso mucho tiempo traceando dentro de esa call y nunca llego al final,  ???

Seria bonito poder tracear hacia atrás para ver que fue lo último que sucedió antes de regresar de la call  ::)

Gracias por sus ayudas y también por leerme!  :D
7  Programación / Ingeniería Inversa / Re: Problemas softice breakpoint's en: 10 Agosto 2005, 17:48 pm
Lamento la pregunta anterior  :-[, la verdad es que apenas llevo un par de días en esto, desensamblé la dll y listo ahí aparecen. :o

Bueno algún comentario sobre este tipo de programas que hacen las llamadas de esa manera, me vendría de maravilla también! :)

Saludos!  ;)
8  Programación / Ingeniería Inversa / Re: Problemas softice breakpoint's en: 10 Agosto 2005, 17:14 pm
Gracias por tu ayuda!
Bueno partiendo de ahí me nace la siguiente duda:
Si tengo la dirección de una rutina llamada, en una determinada dll, por supuesto también se la dll en la que esta, puedo obtener el nombre de esa rutina?  ???

Mi duda se me genera ya que estoy analizando un programa y este hace las todas las llamadas de la siguiente forma:
Por ejemplo con direcciones improvisadas:
0167:0042B1C0   CALL      [004012A1]

En 4012A1 digamos que esta 774B128C y la librería digamos que sea kernel.dll, bueno, teniendo estos datos puedo saber el nombre de la rutina que es llamada?  ::)

Gracias por su ayuda  :D
9  Programación / Ingeniería Inversa / Problemas softice breakpoint's en: 3 Agosto 2005, 17:02 pm
Hola foreros :D mi pregunta es la siguiente:
Cuando quiero poner un breakpoint a una función que esta en la dll msvbvm50.dll no aparece el nombre al listarla, sino una dirección, digamos un ejemplo:
: bpx rtcMsgBox
: bl
00)   BPX #00FE:000E2096

Si escribo otro breakpoint de una función de otra dll, digamos:
: bpx MessageBoxA
: bl
00)   BPX USER32!MessageBoxA

Ahí si aparece el nombre y la dll relacionada.

El winice.dat lo edite para que cargara la dll
EXP=c:\windows\system\msvbvm50.dll

Acarreara algún problema que al listar los breakpoint no aparezca el nombre de la función y su dll?
uso win98 y softice 4.0.5
Bueno gracias por su ayuda!  ;D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines