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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Ingeniería Inversa / Re: Trial en vb6 native code autoextraible en: 24 Diciembre 2010, 01:37 am
 :-( :-( :-(Alguna caridad con el tema.... Así como regalo de navidad :laugh: :laugh:

Felices fiestas.
2  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 18 Diciembre 2010, 00:40 am
El hack que tiene la IAT, es en la funcion de VB que se usa para llamar funciones API de windows, o funciones externas (en DLL's).

La function es DllFunctionCall. En este EXE, esa funcion fue reemplazada por una del packer. En realidad, de esta forma esta funcionando mas lento, pero bueno... al menos intenta proteger el EXE...  :)

Si dumpeas el EXE, no te funcionara por este hack. Lo que hay que hacer, es agregar las secciones que contienen el codigo ejecutable y los datos de esa DLL "virtual" y reparar las referencias del EXE dumpeado.

Con un script lo puedes hacer en 2 patadas...  ;)

Saludos!

Cuando te refieres a " las secciones " ¿cómo supiste q eran varias?. En mi caso solo identifiqué una la q se encuentra en 01540000 en mi caso ya que es ahí donde salta el original cuando usa la entrada erronea.. pero ¿ hay alguna forma de saber si me hacen falta otras secciones o no? ¿Hay alguna forma de saber cuales son?. En el tuto de ricardo, menciona q las q sn del tipo priv son las q genera el packer... pero se supone q no son todas....

Alguna ayuda en ese campo te lo agradeceré MCKSys Argentina  ( A parte de toda la q me has dado.. ya q has sido el único hasta ahora q se ha dado el tiempo de comentar...Gracias.)
3  Programación / Ingeniería Inversa / Re: Trial en vb6 native code autoextraible en: 18 Diciembre 2010, 00:07 am
Hecho... recuperé la aplicación... puedo seguir con mis pruebas.. estoy revisando el log de olly y comparandolo con el funcional veo q el mensaje de error n la version aparece cuando quiere leer layout.dll. El archivo (semi desempacado ya) lo cargué tambien en smartcheck y me dice q está en p-code, supongo q por eso no puedo agregar la informacion de version con Resource Tunner..

Voy a empezar a revisar si puedo capturar el momento en q se quiere cargar layout.dll...

En cuanto a poner un Bp en CreateFile... voy a hacerlo en el original haber si cae. Por cierto lo estoy poniendo como: Bp CreateFileA. es correcto?

Avances los pubicaré.
4  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 11 Diciembre 2010, 00:49 am
Esto me está volviendo loco... ahora mi aplicación ( la original) no quiere correr... marca un error de pila... Ya desintalé, reinstalé.. borré llaves de trial y nada... A menos q haya perdido una dll necesaria para q corra pero no sé como revisarlo.. Ya revisé  Con olly y ahí es donde marca una comparacíon de una dirección fuera del rango. obvio no la maneja el sistema y me bota.


El problema es que no sé si se debe a alguna modificación que me hizo el "semi-desempacado".. o tenga que ver con otra situación ajena al programa..


Sin embargo, el semi desempacado me sigue marcando el mismo error de version y no cae BP en CreateFileA.

Por otro lado, estuve investigando si es posible "adjuntar" información de la version a un exe...

Hay un programa q lo hace.. pero debe ser sobre un  exe totalmente desempacado.. Así que la aplicación es inservible en este momento...

En cuanto tenga adelantos actualizaré.




5  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 7 Diciembre 2010, 22:47 pm
Parece que el archivo pierde la información de la versión y por alguna razón la utiliza el programa para arrancar. En las propiedades del archivo original aparece una ficha "version" que no aparece en el dumpeado.....Quizá si logro copiar esos datos del original al nuevo podría echarlo a andar no?...

Hay alguna herramienta q lo haga?

Por otro lado. Podría capturar el momento en que revisa esos datos y "emular" que son los correctos... pero no sé qué función usar para capturar el error....

Sugerencias son bienvenidas.
6  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 7 Diciembre 2010, 01:22 am
Pues estuve traceando y veo que va a diferentes dlls  ( por lo que supongo que en efecto hace la Tarea de llamarlas...). Veo que pasa por una "Fake.dll" pero no entiendo el código... hace algún tipo de comparación pero no ubico para qué.

Decidí usar DllFunctionCall para reparar la entrada erronea... y agregar  una sección que es la parte a donde salta el programa en esa entrada erronea. En mi caso está en 01540000. Así que use pipe para obtener la sección. Después con peditor la agregue al exe dumpeado con la iat "arreglada". Resulta que no más no corría...

Después me di cuenta que el dumped contiene una sección sin descripción... decidí quitarla ( pensando que podría ser basura del packer, pero sin tener fundamento teórico real que lo sustente). La sección  la quité antes de agregarle la de la entrada redireccionada. luego agregué la sección 01540000 y arreglé el virtual offset. Luego lo pasé por pe rebuilder de lordpe. y obtuve...

Un exe que al fin puedo cargar en Olly... que tiene OEP en donde lo especifiqué y que no me dice que esté comprimido......


Peeeeeeero.... el maldito me sale con  un error...

Es así:



Preguntas:

¿Hice mal en quitar la sección que según yo es huerfana ?( como puedo saberlo..?)

Me falta agregar otras secciones para correr el programa?....

O de plano corregir no más así con dllfunctioncall no va a llevarme a encontrar un exe funcional?



Por cierto.. En importrep hice un  "Trace Level 1" en la entrada erronea... pero me arreglaba la entrada y me marcaba otras 3 entradas malas.....

Usar el Traceador de Imporrep me va a funcionar o es algo más de análisis a mano?



7  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 4 Diciembre 2010, 01:00 am
Jaj... pues me parece que ya di más de dos patadas y no más no puedo obtener el exe.... algo me falta... creo es lo de las secciones.....

Adjunto imagen de cómo hago el dump..

y como "arreglo" la iat del dumped.




Por qué elegir DllFunctionCall... no sé... pero es con la que lo estoy haciendo con la idea de arreglar la iat.

Adjunto imagen de importrep...



Sugerencias son bienvenidas.

8  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 3 Diciembre 2010, 23:07 pm
El hack que tiene la IAT, es en la funcion de VB que se usa para llamar funciones API de windows, o funciones externas (en DLL's).

La function es DllFunctionCall. En este EXE, esa funcion fue reemplazada por una del packer. En realidad, de esta forma esta funcionando mas lento, pero bueno... al menos intenta proteger el EXE...  :)

Si dumpeas el EXE, no te funcionara por este hack. Lo que hay que hacer, es agregar las secciones que contienen el codigo ejecutable y los datos de esa DLL "virtual" y reparar las referencias del EXE dumpeado.

Con un script lo puedes hacer en 2 patadas...  ;)

Saludos!

Había olvidado estas instrucciones... No entiendo mucho cómo agregar las secciones. creo que reparar la dll virtual es reparando la referencia perdida de la IAT , para que apunte a dll function call (y cómo supiste que era esa???...por experiencia?)... y quizá con esto pueda obtener un exe que pueda correr al menos en olly...espero encontrar la info...

Actualizaré los resultados.
9  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 3 Diciembre 2010, 22:57 pm
Mmmmm.... ya me volví a empantanar...

Resulta... que obtengo el archivo "dumpeado" con Ollydump, y petools

hasta ahi todo parece bien..

Toca entonces checar la IAT...

pero...



las únicas calls que identifico son llamadas a MSVBVM60... estoy bien o me regreso?...

Bueno... suponiendo que es solo esa... pues a buscar el tamaño de la IAT cierto?


Entonces voy a la direccion que dice va a ThunRTMain  40143C.

Ahi encuentro... esto..




Todas las referencias son a MSVBVM60... llendo hacia arriba... !!!Llego a 401000
con ese patrón!!!!

Entonces supongo que empieza en 401000


Pero hacia abajo no veo el limite... la secuencia de ceros no es clara...




Yo supongo que termina en 40154C... porque ahí termina el "patrón"... y suponiendo que no llama a otra dll... pues parece correcto... además... los datos debajo no llevan a direccion válida...
entonces...
usando estos datos... no obtengo con el importrec un exe valido... uso el petool para "reparar" la sección PE y sigo sin obtener nada...


He escuchado que se puede obtener un archivo "casi" desempacado... a qué se refieren?

Gracias por su ayuda.

Adjunto imagen haber si alguien me puede dar alguna pista..




10  Programación / Ingeniería Inversa / Re: Trial en vb6 pe code autoextraible en: 2 Diciembre 2010, 19:42 pm
Gracias por tu pronta respuesta..


Entonces ahora me toca dumpear y ver lo de la IAT...

Cuando tenga avances posteo.. ;-)
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines