Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: $Edu$ en 1 Diciembre 2011, 19:10 pm



Título: Recalcando un par de dudas..
Publicado por: $Edu$ en 1 Diciembre 2011, 19:10 pm
Al comenzar con cracking me voy comprendiendo como funcionan los programas con los procesadores pero no estoy muy seguro..

1 - Un programa funciona por su plataforma (SO) pero este SO funciona en base a que? a su kernell no? y este? y que pasa cuando booteas un cd que contiene programas de instalacion de windows por ejemplo, como lo lee si no esta usando ningun SO aun, no ha cargado el SO aun..
Esto capas q es dificil de contestar no se, pero espero que entiendan a que me refiero, el que pueda llegar mas atras del por que y el por que le agradezco :P

2 - Pero volviendo a lo mas comun, el funcionamiento de un programa simple, como funciona la cosa? el programa carga un espacio de la memoria donde guardara los datos, y luego hace sus "operaciones" basandose en los registros y flags, pero estos son parte del procesador o que?

3 - Lo de que un programa usa X apis, eso es cuando el programador declaro las apis en el programa o por ejemplo al usar una funcion de VB6 por ejemplo Len() y esta se base en una api, ya queda como que el programa usa esa api no? lo mismo para cuando haces if "hola" == "chau" then ... ahi estaria usando strCmp por ejemplo?


Dejo esas preguntas mas que nada para dar un "encapie" para que expliquen lo que puedan sobre ese tema el que quiera el que no que contesta lo poco que pueda aportar que todo sirve :P Gracias!


Título: Re: Recalcando un par de dudas..
Publicado por: .:UND3R:. en 1 Diciembre 2011, 19:55 pm
No te iría mal un pequeño estudio de la arquitectura de los procesadores, ahí explican en donde está cada pieza y el trabajo, es algo interesante pero solo te recomiendo algún tipo de introducción ya que el tema en si es muy extenso en comparación a las respuestas que quieres encontrar.



Título: Re: Recalcando un par de dudas..
Publicado por: Иōҳ en 1 Diciembre 2011, 20:22 pm
1.-
Este tema es muy interezante alguna vez intente empezar un proyecto para hacer un bootloader pero lo dejé, ya habrá algún momento en mi vida :P.

De todas maneras de dejo aquí te dejo unos links, que dentro de ellos hay referencias a otras webs..

http://foro.elhacker.net/asm/el_sector_de_arranque_asm-t286636.0.html

http://foro.elhacker.net/asm/bootloader_carga_programa_c-t320201.0.html

http://foro.elhacker.net/asm/pasar_a_modo_protegido_problema-t326275.0.html


2.-
El loader de windows hace toda la operación de cargar el ejecutable, hay un libro que siempre lo recomienda EI en el subforo de asm, se llama Windows Internals, así que si quieres saber cómo hace windows para cargar los ejecutables... ahí lo encuentras :P


3.-
Esta pregunta no la entiendo muy bien...

pero cuando llegues a la parte de unpacking en los tuts de ricardo verás que existe una tabla de importaciones, dónde está las direcciones de las apis que va usar, previamente enlazadas las librerías al ejecutable.


Citar
if "hola" == "chau" then ... ahi estaria usando strCmp por ejemplo?

No, ahí no está usando ninguna api, si no está comparadon "directamente", es cómo si usaras una instrucción de comparación en asm...

Nox.


Título: Re: Recalcando un par de dudas..
Publicado por: $Edu$ en 1 Diciembre 2011, 20:33 pm
Muchas gracias Nox!! tendre para leer para rato, pero por lo ultimo.. se me puso esa duda porque he visto crackmes (la mayoria de los que he visto) que usan strCmp, y no creo que hayan declarado el uso de esa api y comparar string con esa api, pudiendolo hacer directamente, que pasa con eso entonces?


Título: Re: Recalcando un par de dudas..
Publicado por: Иōҳ en 1 Diciembre 2011, 21:44 pm
Muchas gracias Nox!! tendre para leer para rato, pero por lo ultimo.. se me puso esa duda porque he visto crackmes (la mayoria de los que he visto) que usan strCmp, y no creo que hayan declarado el uso de esa api y comparar string con esa api, pudiendolo hacer directamente, que pasa con eso entonces?

Tenemos muchas opciones de comparación, el programador elige cual desea usar.

Nox.


Título: Re: Recalcando un par de dudas..
Publicado por: _Enko en 1 Diciembre 2011, 21:53 pm
La mayoria de las respuestas a tus preguntas estan aqui:

Intel Architecture Software Developer System Programmin Manual.

http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf

Hay uno de AMD tambien del mismo estilo, bastante parecido.


Título: Re: Recalcando un par de dudas..
Publicado por: $Edu$ en 2 Diciembre 2011, 00:12 am
Gracias a los 2 de nuevo ;)