elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 02:55  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: Shaddy, karmany)
| | |-+  No entiendo la analogía de los STOLEN BYTE de PESPIN
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No entiendo la analogía de los STOLEN BYTE de PESPIN  (Leído 1,648 veces)
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
No entiendo la analogía de los STOLEN BYTE de PESPIN
« en: 29 Junio 2011, 21:40 »

Bueno en el tutorial ricardo narvaja explica algo más o menos así:

Citar
Vemos alli que antes de correr el programa, el stack esta en mi maquina en 12ffc4, quiere decir que
si cuando llega al verdadero OEP el stack esta en la misma posicion o sea en 12FFc4, la primera
sentencia que podria ser PUSH EBP se escribira en 12ffc0 justo arriba de esta, asi que busquemos
12FFc0 en el dump y pongamosle un HARDWARE BPX ON WRITE a ver si nos da resultado,
puede que si puede que no, pero el razonamiento es logico.

Por que se escribe justo arriba de la misma? si se supone que el primer comando sería PUSH EBP y en la dirección 12FFc4 si alguien lo explica bien se los agradecería saludos
En línea

apuromafo


Desconectado Desconectado

Mensajes: 640


Ver Perfil
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #1 en: 29 Junio 2011, 21:52 »

push ebp, escribe en stack..que direccion? mira el stack , en la maquina de ricardo deberia ser  12FFc4

cuando se detiene en el oep, y no esta en la misma direccion donde ejecutan todos los programas, hay estolen, es para eso..y si coloca el bp en access en la direccion, significa que posiblemente encontrara la primera escritura en ese lugar..

es eso

verifica como se llaman las ventanas en:
http://foro.elhacker.net/ingenieria_inversa/taller_de_cracking_desde_cero_actualizado_27julio2008-t180886.0.html

En línea

Quidquid latine dictum sit altum viditur



saludos .en un tiempo estare offtopic..(no es broma de dia de inocentes).// Retired de ing inversa
saludos Apuromafo
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #2 en: 29 Junio 2011, 22:09 »

Sigo sin entender osea ricardo cuando llega al falso oep (stolen byte) le marca que está en 12FFc4 (posición de la pila normal) pero si se ve detenidamente se nota que hay stolen byte eso lo entiendo claramente pero mi pregunta es por que busca en 12FFc0 deciendo que ahí se debería ejecutar un push ebp

Gracias por la paciencia
En línea

_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #3 en: 29 Junio 2011, 23:52 »

dejame adivinar... mh...

despues de que dice que el stolen byte es "push ebp"...

la siguiente instruccion cual es? "mov ebp, esp"?
En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #4 en: 30 Junio 2011, 00:04 »

Así es efectivamente pero no logro entender lo que comenté anteriormente
En línea

.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #5 en: 30 Junio 2011, 00:12 »

No entiendo lo de la pila osea si parte en 12FFc4 y cuando encuentro el falso oep está en 12FFc4 quiere decir que anteriormente ya realizó operaciones, eso me queda claro pero el problema surge ahora que por qué empieza a buscar en 12FFc0 siendo que son muchos stolen bytes no entiendo el por qué de buscar ahí
En línea

_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #6 en: 30 Junio 2011, 00:15 »

porque es la entrada normal a un procedimiento
Citar
push ebp
mov ebp, esp
Los enpaquetadores convierten la ejecutable en una rutina para poder ejecutarla.
La entrada a cualquier procedimiento comienza normalmente con
Código:
push ebp
mov ebp, esp
sub esp, SIZEOF(LOCAL VAR)
por eso se puede adivinar cual es la intruccion original en este caso y supongo en muchos otros.


Porque busca alli? Ni idea, en el caso. Pero la idea de conseguir saber cuales son los stolen bytes pasa por encontrar la entrada original de la ejecutable.
Segun el compilador, suelen hacerlo siempre de la misma manera.

Por ejemplo, en este caso, calculo que el programa esta hecho con c++.
« Última modificación: 30 Junio 2011, 00:17 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #7 en: 30 Junio 2011, 02:54 »

Entiendo lo que comentaste pero lo que no entiendo es por que se intenta buscar en 12FFC0 y no más atrás de la pila y no entiendo eso por que los stolen byte son más que uno si fuera uno entendería pero son muchos, Gracias por la paciencia :D
En línea

_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #8 en: 30 Junio 2011, 05:35 »

no me he puesto a desempaquetar programas,  asi que ni idea.

lo unico que se me ocurre es que push ebp, restaria 4 al stack, por eso el stack original comienzaria en -4 despues del push (en esa direccion se encuentra el ret al kernel)
« Última modificación: 30 Junio 2011, 05:41 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #9 en: 30 Junio 2011, 22:33 »

Pero no se supone que el inicio está justo antes de ejecutar el push ebp y no después que se ejecutó?

osea el programa parte así según mi entender



Push ebp
mov ebp, esp



                                                                                   12FFC4
En línea

.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #10 en: 30 Junio 2011, 23:51 »

Todo aclarado, explico por si alguien llega a tener la misma duda:

Si abrimos un programa sin empaquetar y nos fijamos en la pila, veremos el siguiente valor 12FFC4

Ahora si abrimos un programa empacado lo más probable es que deba tener la pila más aumentada por así decirlo debido a que ya ha ejecutado operaciones anteriormente pero en este caso de PESPIN permanece 12FFC4 como la primera dirección en la pila, pero el problema surge que si nos fijamos en el stack debajo de esta hay operaciones realizadas de todas formas por lo que podemos apreciar stolen bites:



Por lo que la idea es encontrar el primer stolen bite con esta analogía:
cuando nos encontramos frente a la primera operación esta debería ser:
Citar
PUSH EBP
(por lo general)
por lo que habría que poner un Hadware bp en 12FFC0 y ¿por qué no en 12FFC4?

Debido a que cuando se utiliza un Hadware bp este se detiene en la siguiente operación además en ese instante el push ebp ya estará ejecutado por lo que el principio de la pila apuntará a 12FFC0

No sé si esté bien esta analogía pero así lo logro entender
En línea

apuromafo


Desconectado Desconectado

Mensajes: 640


Ver Perfil
Re: No entiendo la analogía de los STOLEN BYTE de PESPIN
« Respuesta #11 en: 1 Julio 2011, 00:38 »

pensemoslo de otra forma entonces

el programa normal es

1
2
3
4
5

el programa con stolen estaras en
4
5
6

luego como se donde comenzo?, pues un bp en acces en 1 o en 2

pero como llego a eso?, normalmente todos comienzan por push ebp, o algun push o similar, luego hay 4 menos y por ahi intentar

en upx, el pushad guarda los registros, el popad los restaura, por eso el metodo sirve, pero si hiciera pushad y nunca popad, no serviria el metodo

el tema delicado ahi es que el valor de comienzo, nisiquiera se hubiera escrito, el segundo si..es solo eso
En línea

Quidquid latine dictum sit altum viditur



saludos .en un tiempo estare offtopic..(no es broma de dia de inocentes).// Retired de ing inversa
saludos Apuromafo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como puedo identificar los Stolen Bytes ?
Ingeniería Inversa
tena 0 371 Último mensaje 20 Agosto 2005, 17:54
por tena
Analogía del comando START.[Solucionado]
GNU/Linux
Leo Gutiérrez. 5 1,046 Último mensaje 10 Agosto 2009, 17:24
por 7th_Sign
HELP / AYUDA : LAPTOP STOLEN / PORTATIL ROBADO
Foro Libre
djdrumn 2 606 Último mensaje 17 Abril 2010, 23:41
por djdrumn
Windows GNU/Linux: Analogia en Particiones
GNU/Linux
9ttnix 2 648 Último mensaje 31 Octubre 2011, 13:09
por 9ttnix
ayuda stolen bytes
Ingeniería Inversa
maritolazo 1 223 Último mensaje 22 Abril 2012, 11:03
por karmany
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines