Ensamblador ¿¿¿es posible???

Iniciado por Joe Fraddy, 23 Febrero 2015, 06:07 AM

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

Joe Fraddy

Bueno amigos, me gusta mucho este asunto de la programación, se programar en algunos lenguajes, no soy muy bueno, me sigo aprendiendo.

Siempre he querido programar en lenguajes de nivel bajo y he programado algunas cosillas en C (Que es considerado por muchos de nivel intermedio) y si es algo complejo y difícil de aprender (sobre todo si no se ha tenido la oportunidad de ir a la universidad).

Bueno dejando el rollo, mi pregunta es, ¿es posible aprender ensamblador por medio de libros, videos y demás recursos que hay en internet? o terminaré frustrado al intentarlo???

Gracias!!!

engel lex

si es posible... pero ensamblador vale la pena saberlo es para ing inversa o cosas puntuales, intentar programar algo util en el no es practico, c posiblemente genere un código más eficiente que tú (y en menos días de trabajo)
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.

Joe Fraddy

#2
si, es lo que he leído, por eso me interesa ASM, para ingeniería inversa y para jugar con los virus y esas cosas.

Podrías recomendarme algunos buenos libros para empezar??

Y por cierto que sería mejor FASM, NASM, GASM?? hay diferencias???

Gracias!!

TheEnmanuelRmrz

Claro que si amigo, todo es posible si le pones empeño. Y no importa la universidad. Aún no me han dado programación porque voy en el primer trimestre y yo manejo mas de 7 lenguajes. Incluyendo ASM.

Como ensamblador te recomiendo MASM32. Es gratis, es legal y el SDK te ayuda mucho cuando migras de un lenguaje de alto nivel. Además trae un pseudo-runtime con muchas funciones de ayuda.

Y lo mas importante, tiene todas sus constantes y apis actualizadas hasta Windows 7. Tiene todas las funciones de Gdiplus incluyendo las estructuras.

Y como IDE a utilizar, te recomiendo muuuucho RadASM que tambien es gratis y legal. Cuenta con resaltado de Sintáxis, editor visual de formularios (Diálogos), organización de proyectos, editor de recursos y muchas cosas más. Ahí de olvidas de líneas de comandos y todo. Esta muuuuuy a la altura creeme.

Como libros te recomiendo que primero leas sobre arquitectura del computador y luego te metas de lleno en Asm. Y para los virus, será después, porque esa es más que programación avanzada.

Bueno si me dejas tu correo, te puedo pasar varios libros que tengo y que no se consiguen por ahí. Y que no hablan basura como la mayoría.

Puedes descargar MASM32 en http://masm32.com/masmdl.htm
Y RadASM2(Ya salió la versión 3 pero prefiero la 2, es muuucho mejor)  http://www.oby.ro/rad_asm/ descarga todos los paquetes que necesites.

Saludos.

MCKSys Argentina

Cita de: TheEnmanuelRmrz en 25 Febrero 2015, 16:00 PM
Claro que si amigo, todo es posible si le pones empeño. Y no importa la universidad. Aún no me han dado programación porque voy en el primer trimestre y yo manejo mas de 7 lenguajes. Incluyendo ASM.

Como ensamblador te recomiendo MASM32. Es gratis, es legal y el SDK te ayuda mucho cuando migras de un lenguaje de alto nivel. Además trae un pseudo-runtime con muchas funciones de ayuda.

Y lo mas importante, tiene todas sus constantes y apis actualizadas hasta Windows 7. Tiene todas las funciones de Gdiplus incluyendo las estructuras.

Y como IDE a utilizar, te recomiendo muuuucho RadASM que tambien es gratis y legal. Cuenta con resaltado de Sintáxis, editor visual de formularios (Diálogos), organización de proyectos, editor de recursos y muchas cosas más. Ahí de olvidas de líneas de comandos y todo. Esta muuuuuy a la altura creeme.

Como libros te recomiendo que primero leas sobre arquitectura del computador y luego te metas de lleno en Asm. Y para los virus, será después, porque esa es más que programación avanzada.

Bueno si me dejas tu correo, te puedo pasar varios libros que tengo y que no se consiguen por ahí. Y que no hablan basura como la mayoría.

Puedes descargar MASM32 en http://masm32.com/masmdl.htm
Y RadASM2(Ya salió la versión 3 pero prefiero la 2, es muuucho mejor)  http://www.oby.ro/rad_asm/ descarga todos los paquetes que necesites.

Saludos.

MASM no es 100% gratis. Si lees la licencia lo verás.

Por el contrario, JWASM (link) es 100% gratis. Aqui tienes la comparación con los otros ASM.

Como IDE puedes usar el que sea. Yo uso WinAsm porque me resulta sencillo trabajar ahí.

Saludos!

PD: JWASM compila en 64 bits usando la sintaxis de MASM (MASM32 no compila en 64 bits y el compilador de 64 bits tiene problemas con los Invoke).
PD2: JWASM compila para DOS, Windows, Linux, OS/2 y FreeBSD.
PD3; JWasm es open source.
PD4: Lee el link de la comparación y verás las diferencias...  ;)
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


TheEnmanuelRmrz

#5
MASM32 si es gratis , solo que para programar solo para Windows,lo dice la licencia y bueno, yo programo para Windows así que me vale madres.
Y si no puedo hacer proyectos con licencia GNU, bueno, los hago Creative Common's o de licencia pública XD.

Y si entramos en tecnicismos, prefiero POASM es de sintáxis idéntica y ese si es opensource :D (Osea no como MASM) y su linker produce ejecutables mucho más pequeños. Y si ensambla para 64bits.

Y por los invoke no me preocupo, puedo hacer una macro, al fin y al cabo es lo mismo, no se si sabías, y si no, pues pongo los argumentos a mano en cada registro correspondiente.

En fin no quiero caer en polémica, es solo que ese me parece el más conveniente porque su SDK ME PARECE completa. Y capo, deberías probar RadASM, en serio loco, yo usaba primero WinASM.

Aunque de Editor de diálogos prefiero el de WinASM. Bueno con probar nunca se pierde.

Y probé JWASM y si tiene muchas ventajas, pero no es cierto que es MASM 100% compatible. Traté de Ensamblar un proyecto y me tiró más de 100 errores, además es engorroso tener que estar poniendo el modelo de procesador en la línea de comandos, cuando ya la has puesto en el código.

Bueno igual lo voy a seguir probando :D

Oye tengo una duda, como puedo hacer un proyecto open source con JWASM si este no tiene un SDK, puedo usar el de MASM y sigue siendo legal? yo creo que no :/

Bueno Saludos.

Joe Fraddy

Gracias por sus comentarios, me han sido de mucha ayuda.

Alguno de ustedes ha programado en FASM, me han dicho que es muy bueno, espero puedan sacarme de dudas con sus comentarios!!!

cpu2

El ASM es el mismo para todos los casos, simplemente puede cambiar la sintaxis, llamadas, declaraciones y demas, propias del ensamblador, pero al final sera el mismo opcode.

Un saludo.

Joe Fraddy

Excelente, eso era todo lo que quería saber, ps voy a entrarle a la programación en ASM y me he conseguido un libro que habla de la arquitectura del procesador, es lo primero que voy a leer como me han recomendado.

El libro lo pueden descargar de http://izafnat.insomnia247.nl/doc/Arquitectura.de.computadoras.Behrooz.Parhami.PDF

O si tienen alguno mejor, por favor publiquen xD

cpu2

Hay algunas cosas interesantes en el libro, pero otra es solo teoria que no se pone en practica. Que arquitectura estas usando?

Date cuenta que en algunos ejemplos estan en MIPS y demas, tambien si quieres ir enserio con esto, necesitaras mas cosas que este estilo de libro.

Busca el manual de tu arquitectura por la red, pero seguro que si lees eso desde el principio te asustas, ves mirando cositas estilo manuales y asi te vas enterando del tema, en el foro tienes algunos tutos prehistoricos, pero bueno estan bien.

Bueno depende de tu arquitectura te serviran o no.

Un saludo.