Interprete de ensamblador a C

Iniciado por T3TR@TR35, 13 Julio 2018, 09:24 AM

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

T3TR@TR35

Buenas, esta vez los molesto porque quisiera saber si hay algun programa o medio para traducir de lenguaje ensamblador a lenguaje C.
Voy a bajarme el kernel de un SO y quisiera examinarlo.
P.D.: es posible, luego de convertirlo a C, pasarlo a hexadecimal para poderlo convertir a ASCII?
Se que es algo complejo o lioso, cualquier ayuda esta mas que bienvenida.
Gracias :D

CalgaryCorpus

#1
No existe algo asi, o si existe algo que se aproxime, no genera algo util.

Por que no partir por el codigo fuente directamente, si es que es linux lo que intentas modificar?

https://github.com/torvalds/linux
Aqui mi perfil en LinkedIn, invitame un cafe aqui

T3TR@TR35

#2
Osea que con el codigo fuente ya esta?
Pero no es solo Linux...un tipo me dijo que los kernel estan escritos en ensamblador. Yo quisiera poder modificar tanto el kernel de un Linux, como de un WIndows, como de un BSD...cualquier kernel que pudiese conseguir.
Mi idea es ser programador de kernel.
Igual, por algun lado debo comenzar. Gracias por tu contribucion!
P.D.: Ya conocia el kernel de Linux. De hecho, lo compile e instale una vez, porque la version que tenia en mi SO era mas antigua. Lo que quiero saber, es como interpreto esas lineas. Que programa o lenguaje deberia saber para entender lo que dice ahi, a eso voy. Porque una cosa es tener el kernel; ahora, otra muy distinta, es poder entenderlo y editar a lenguaje de alto nivel, no se si me explico.

CalgaryCorpus

Estudia, aprende y practica C y C++.
Gran parte del codigo relacionado con este tema lo encontraras o necesitaras escribirlo en estos lenguajes.

Si lees ingles, te sugiero leer esta pregunta y respuesta:

https://softwareengineering.stackexchange.com/questions/84542/advice-for-an-ambitious-student-on-building-your-own-kernel

donde se recomienda no comenzar leyendo el codigo fuente de linux para inspirarse o aprender, y tambien la lectura de algunos libros, como

http://www.ipdatacorp.com/mmurtl/

Aqui mi perfil en LinkedIn, invitame un cafe aqui

MAFUS

No, empiezas muy mal. Es como querer ser arquitecto y empiezas a leer planos. A parte de ver un montón de rayas y vislumbrar en ellas una columna aquí y un arco allá no verás nada más.
Detrás están todos los cálculos de cargas, resistencias de materiales, composición del forjado y del hormigón. Es decir: el código fuente, como un plano de una obra, es un resultado de todo un largo estudio que hay detrás.
Y ya si hablamos del kernel de un sistema operativo estamos hablando de temas mayores: manejo de memoria, interrupciones, asignación de tiempos de procesado, drivers, APIs.

Fíjate si tienes muchas cosas que aprender antes siquiera de empezar a ponerte delante de tu editor de código favorito.

ThunderCls

#5
Cita de: T3TR@TR35 en 13 Julio 2018, 09:24 AM
Buenas, esta vez los molesto porque quisiera saber si hay algun programa o medio para traducir de lenguaje ensamblador a lenguaje C.
Voy a bajarme el kernel de un SO y quisiera examinarlo.
P.D.: es posible, luego de convertirlo a C, pasarlo a hexadecimal para poderlo convertir a ASCII?
Se que es algo complejo o lioso, cualquier ayuda esta mas que bienvenida.
Gracias :D

Si quieres obtener codigo C/C++ desde una binario compilado entonces necesitas un decompilador (IDA Pro + Hex-rays Decompiler), no te dara un codigo 100% compilable pero es lo mas cerca que conseguiras. Por otra parte si quieres simplemente convertir source code de un lenguaje al otro creo que vas a tener que aprender ambos lenguajes y hacer la traduccion manualmente. No creo entender muy bien esta otra pregunta: "es posible, luego de convertirlo a C, pasarlo a hexadecimal para poderlo convertir a ASCII?"...no entiendo porque querrias hacer esto.

PD: Igual lo que estas intentando hacer se llama "Ingenieria Inversa" y justo en ese foro es a donde creo que deberia ser movido este hilo...Sin embargo, tampoco esperes reversear un kernel con la misma simplicidad con la que te refieres a la accion en si...pero bueno, ya eso lo veras por ti mismo...suerte!
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/