Foro de elhacker.net

Sistemas Operativos => Windows => Mensaje iniciado por: tilcod en 5 Julio 2015, 20:05 pm



Título: Descompilar S.O
Publicado por: tilcod en 5 Julio 2015, 20:05 pm
Hola a todos. Una pregunta ¿Existe alguna forma de descompilar un sistema operativo, por ejemplo windows xp?


Título: Re: Descompilar S.O
Publicado por: Orubatosu en 5 Julio 2015, 22:11 pm
Respuesta corta: NO

Respuesta menos corta... no

Para empezar el sistema no es un solo programa, hay centenares de librerías sin contar el núcleo. No sabes exactamente en que idioma se ha generado cada uno, si en uno "estandar" o en un sistema específico. Hay partes escritas en código máquina, etc...

Lo máximo es desensamblar y por ingeniería inversa tratar de sacar algo, pero poco mas.


Título: Re: Descompilar S.O
Publicado por: Randomize en 5 Julio 2015, 23:47 pm
La leyenda es antigua, pero por las redes p2p creo que se filtró el código fuente del Winodws 2000, precursor del XP.




Título: Re: Descompilar S.O
Publicado por: Eleкtro en 6 Julio 2015, 07:07 am
Intenta especificar claramente que es lo que pretendes hacer o averiguar, deberías empezar por documentarte, leer para aprender sobre los diversos conceptos que definen a un sistema operativo para reformular una pregunta con sentido, ya que "Descompilar el sistema operativo" es una frase abierta a demasiadas interpretaciones.

El S.O, Windows, no es una unidad, es un entorno compuesto por muchos tentáculos, cómo librerías, aplicaciones, imágenes, y otro tipo de recursos y archivos esenciales o no, además, sus aplicaciones y librerías están desarrollado en diferentes lenguajes, la mayoría está desarrollado en C/C++, pero Windows también se compone de aplicaciones desarrolladas en C# (metro WPF), y varios scripts en diferentes lenguajes, "decompilar el sistema operativo" sería descompilar esos miles y miles de compononentes compilados adicionales pero necesarios para el funcionamiento del S.O.

En cambio, si te refieres unicamente a descompilar el Kernel de Windows, es decir, el core o corazón de Windows, el cual tampoco se trata de un único archivo sino que también se compone por varios archivos esenciales en conjunto, pues sin duda sería una tarea menos laboriosa dentro de lo que cabe que descompilar miles de aplicaciones y librerías, pero no, no esperes obtener el código fuente legible si eso es lo que estás buscando, casi suena cómo a una broma ese tipo de cuestión...

Pongamos cómo ejemplo el archivo Kernel32.dll, pues puedes usar un descompilador cómo ExeToC para intentar reproducir unidades de código muy parciales, y/o puedes utilizar un desamblador para obtener las instrucciones cómo son, el código máquina, el código fuente en su más puro estado. Puedes ver y analizar las llamadas que este archivo hace a la API de Windows, ¿pero que más?.

Con el desamblador IDA por ejemplo podrías obtener un código legible en C/C++ pero muy parcial y siempre que hubiese un archivo de información de depuración del archivo a desamblar en cuestión (archivo.pdb), pero windows no se distribuye con este tipo de archivos de depuración...

Saludos


Título: Re: Descompilar S.O
Publicado por: tilcod en 16 Mayo 2016, 03:21 am
Hola muchas gracias por las respuestas, disculpen la demora en la respuesta :D. La idea que tenia en su momento era si existía la posibilidad de poder obtener el código fuente, así como linux, para poder después modificarlo, mas que nada del kermel. Mi duda surgió por el hecho que por ejemplo, en java los .jar se podían descompilar y supuse que existía algo similar para un S.O., pero nunca tuve en cuenta que es mas complejo que un .jar.
Saludos.


Título: Re: Descompilar S.O
Publicado por: engel lex en 16 Mayo 2016, 04:11 am
Hola muchas gracias por las respuestas, disculpen la demora en la respuesta :D. La idea que tenia en su momento era si existía la posibilidad de poder obtener el código fuente, así como linux, para poder después modificarlo, mas que nada del kermel. Mi duda surgió por el hecho que por ejemplo, en java los .jar se podían descompilar y supuse que existía algo similar para un S.O., pero nunca tuve en cuenta que es mas complejo que un .jar.
Saludos.

no, y descompilando no obtendrás el código fuente... intenta descompilar cualquier lenguaje de bajo nivel (C o algo similar) y verás que no vas a poder sacarle nada...

es mucho más facil que agarres linux y lo modifiques de tal manera que pueda correr .exe, y .dll (entre otros) nativamente


Título: Re: Descompilar S.O
Publicado por: BloodSharp en 16 Mayo 2016, 05:22 am
Hola a todos. Una pregunta ¿Existe alguna forma de descompilar un sistema operativo, por ejemplo windows xp?

Ya se hizo eso y existen varios proyectos ReactOS,Wine,etc... los cuáles fueron creados mediante mucha ingeniería inversa, uso y análisis de funciones indocumentadas o documentadas y son completamente gratuitas y de código abierto...


B#


Título: Re: Descompilar S.O
Publicado por: Orubatosu en 16 Mayo 2016, 11:19 am
Hola muchas gracias por las respuestas, disculpen la demora en la respuesta :D. La idea que tenia en su momento era si existía la posibilidad de poder obtener el código fuente, así como linux, para poder después modificarlo, mas que nada del kermel. Mi duda surgió por el hecho que por ejemplo, en java los .jar se podían descompilar y supuse que existía algo similar para un S.O., pero nunca tuve en cuenta que es mas complejo que un .jar.
Saludos.

En Linux no tiene mucho sentido, ya que frecuentemente el código fuente es público y puedes descargartelo.

De hecho hace bastantes años, como parte integrante del proceso de instalación de Linux debías compilar el núcleo

Es decir: ¿Para que intentar descompilar el núcleo de Linux si normalmente tienes acceso sin problemas ya al código fuente?