Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Poor Programmer Reto 1 Episodio 2

–Velando las Armas–

Ya salió la segunda parte de la saga “Poor Programmer”, en esta ocasión no se trata de simples tomas captadas con el celular barato sino de una auténtica captura de pantalla de la computadora en la que hago todas mis fechorias.

Se hizo con el programa Camstudio que además de ser software libre, no deja marcas de agua y no hay que pagar por el. Y puede dejarse bastante presentable con un poco de edición del Windows Movie Maker. Es una lástima que a la hora de procesar el archivo con WMM se pierda mucho de la resolución original con la que Camstudio es capaz de trabajar una vez que uno lo configura bien.

En este video se describen el tipo de herramientas que se van a usar en este reto. La principal es el FASM. Flatassembler.net por si no lo han descargado aún. Pues es el ensamblador que se ha usado desde los inicios de este blog, y ahora se va a usar para algo mas que el viejo hola mundo y desplegar MessageBox’s. También se muestra un sencillo editor hexadecimal llamado Hexa Viewer que puede ser integrado facilmente a la Google Sidebar. Pero supongo que si alguien conoce un editor hex mejor que este es libre de usarlo. Todos los editores de esta clase hacen mas o menos lo mismo, muestran contenido de archivos y algunos mas avanzados son capaces de hacer cambios en ellos. Y por supuesto que se muestran tomas del viejo OllyDbg, que aunque no es lo mas avanzado no deja de ser util para aprender ASM e investigar programas ejecutables.

La parte mas controvertida del video es precisamente la unión entre Ensamblador y Windows, tanto como se llaman las funciones directamente de la API de Windows y como utilizar la estructura del DirectX para evitar problemas de protección de memoria y tener control sobre el hardware de video sin que el Windows nos cree problemas serios.

Durante el video hay unos pocos textos que muestran cosas como por ejemplo las URL’s desde donde es posible descargar algunas herramientas gratuitas así como información importante para programar. En pocas palabra este video es una especie de exhibición o muestra del tipo de herramientas que se han de usar para alcanzar los objetivos del reto. Aunque parecería una tontería es importante para los principiantes, pues no se imaginarían que tipo de herramientas pueden servir para programar en ASM y sobre todo que no se trata de software con licencias costosas. Esto último es algo que muchos no podrían aceptar.

Puede que la parte mas interesante de esta historia sea precisamente a la hora de revisar el código máquina de un archivo buscar el formato de llamada de las funciones y a partir de ahí hacer nuestros propios llamados con nuestra propia información. La parte mas interesante sin duda alguna…

sin embargo no todas la acción se desarrolla dentro de la computadora y como lo había comentado antes las derrotas dentro de la computadora pueden ser grandes pérdidas es solo en el mundo real donde uno puede ser realmente aniquilado, tanto física como mentalmente. Por cierto, debido a razones técnicas que comentaré mas adelante en los propios videos no va a ser posible hacer un capítulo donde se muestre al mismo tiempo el mundo real y las tomas de la computadora. Sobre todo por cuestiones de limitación de hardware de la cámara con la que se graba.

Solo como adelanto del siguiente capítulo voy a comentar que ya tengo un par de tomas donde ocurre la mayor parte de mi desperdicio de oxígeno. La escuela donde tuve que recomenzar desde cero mi no tan querida educación superior. Voy a tratar de hablar lo mejor posible pero no prometo hacerlo sobre todo porque ahí es donde radican 2 de las 4 grandes amenazas que pueden poner en peligro todo este reto No solo el proyecto sino inclusive un poco mas. Por suerte hasta ahora no he tenido encuentros con lamers y otras gentes que he encontrado revisando la comunidad de videos de Youtube parece que hasta ahora o no me han detectado o no les parezco lo suficientemente digno para ser atacado. Ya mas adelante les hablaré de ese asunto.

…deberían enseñarnos algo avanzado como instalar un software…

Es divertido, el primer video me pareció sumamente complicado de hacer pero con cada intento hacer esto se vuelve mas y mas facil. Supongo que siempre es dificil el primer intento pero ya los demás esa especie de culpa o conciencia del peligro se va apagando cada vez mas. Pienso que paralelamente a esta serie tendré que sacar pequeños videotutoriales de cosas relativamente sencillas por ejemplo no podrían creer la cantidad de gente que no tiene idea de como descargar, instalar y usar por primera vez una aplicación. Otro dia les contaré una divertida historia de alguien que dijo “Es que en la escuela no nos enseñan nada serio. Deberían enseñarnos algo importante como instalar un software”

Creo que ya dije suficiente por hoy, solo espero no abusar de esta clase de videos y perder con ello la esencia de este blog de programación en lenguaje ensamblador.

Anuncios

marzo 22, 2010 - Posted by | Uncategorized | , , , ,

3 comentarios »

  1. Hola. Soy electrónico de profesión y programador por vocación… o al menos eso intento. Soy entusiasta del ensamblador, aunque poco sé de él, sólo lo que alguna vez vi en mi carrera y que era el tan odiado por muchos ensamblador para hacer programitas en DOS, esos de las ventanas negras y puro texto. He pasado varias semanas leyendo tu blog (cada vez que se puede), he encontrado cosas interesantes y el reto que propones me llama mucho, quisiera unirme a esto.
    Por cierto, seguí tu consejo y traduje un par de tutoriales de iczelion al FASM, quizás, si lo permites, pueda subir el código para que le sirva a alguien mas.
    PD: ya tengo mis armas listas

    Comentario por Ricar2 | marzo 26, 2010 | Responder

    • Gracias, es muy bueno saber que allá afuera hay mas gente interesada en la programación en ensamblador y el tratar directamente con la electrónica siempre es bueno para saber los porqués tras la programación en lenguaje máquina. Si quieres puedes mandarme los códigos y te doy los créditos correspondientes, aunque bien podrías integrarte a la Red social de programadores de Ensamblador que por cierto pronto va a disfrutar de una actualización mayor y publicarlos tu mismo.

      En cuanto a lo del reto, este va mas allá de la computadora. Aunque no se me ocurre de que manera podrias participar, igual y me das la idea. Por lo menos no se necesita la advertencia de “no intenten esto en casa” y cualquiera puede imitar lo visto en los videos aunque sea solo para experimentar. En ese sentido, cualquier programador puede intentar su propio reto “Poor Programmer” por cuenta propia.

      Comentario por asm86 | marzo 26, 2010 | Responder

  2. hola Mario, esta chido el material que has puesto… te dejo esta serie de videos sobre el sindrome del savant, http://www.youtube.com/watch?v=FxO6tkibZpU&feature=related
    no estoy muy seguro si un cuadro de 12×7 letras sea un limite superior para el ser humano… al parecer hay gente que ve toda una pagina de un libro con un ojo y la otra pagina con el otro ojo.. uik

    Comentario por Puerco | abril 10, 2010 | Responder


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: