Descompilar S.O

Iniciado por tilcod, 5 Julio 2015, 20:05 PM

0 Miembros y 1 Visitante están viendo este tema.

tilcod

Hola a todos. Una pregunta ¿Existe alguna forma de descompilar un sistema operativo, por ejemplo windows xp?

Orubatosu

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.
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

Randomize

La leyenda es antigua, pero por las redes p2p creo que se filtró el código fuente del Winodws 2000, precursor del XP.



Eleкtro

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








tilcod

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.

engel lex

Cita de: 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.

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

BloodSharp

#6
Cita de: 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?

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#



Orubatosu

Cita de: 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.

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?
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998