Un viaje por los editores hexadecimal en Gnu/Linux

Dado que actualmente tengo tiempo de ocio, decidi retomar mis riendas de hacker, y comenzar a investigar acerca de la emulación de Gamecube/Wii sobre el x86/x64.  Encontré un emulador bastante desarrollado llamado Dolphin, el cual he estado probando como viciojugador, pero la curiosidad me llevó mas lejos. decidi bajar las fuentes, y dado que existia una version para gnu/linux, esa fue la elección.

Mi idea no era solo jugar los benditos juegos… sino tratar de encontrar bugs (lo cual no fue muy dificil de localizar, sobre todo en el motor JITIL del mismo) y resolverlos por mi cuenta, pero para poder entender necesitaba algo importante… aprender principalmente el set de instrucciones del power pc (opcodes, etc). Esto me llevo a buscar la documentación técnica del aparato en cuestión, (el YAGCD), en la cual se encuentra la mayoría de “shucadas” necesarias para poder lograr la magia de la emulación de esta máquina…

Bueno, pues en mi aventura, me di cuenta que me hacia falta algo bastante importante… un buen editor de hexadecimal.  Dado que antes programaba más en windows, usaba el típico y poderoso winhex, pero… opciones para gnu/linux? no estaba muy informado.  me puse a buscar algunos en los repositorios de Ubuntu, y estos fueron mis candidatos:

Hexedit:

Hexedit

El venerable Hexedit

Editor que ya habia utilizado hace algún tiempo, y que a pesar de ser aplicación en consola, no le quita su capacidad. Lo mejor de este es el footprint en la memoria, no ocupa casi nada por su naturaleza en consola.  La interfaz es sencilla, algunos comandos son bastantes parecidos al emacs (como el de “yank” o pegar). la verdad muy bueno para cuando se tenga mucha necesidad y no se tenga mucho ancho de banda.

Okteta:

Okteta

El elegante Okteta

Editor Hexadecimal para KDE,  con muy buenas opciones y usabilidad heredada del QT4 como cualquier aplicación moderna KDE.  Se veía bastante bueno, y con buenas opciones, pero al nomas probar el primer archivo me falló.  Dado que lo que iba a abrir en éstos eran imágenes de juegos de Cubo, estúpidamente me volcaba todo el ISO en la memoria, llenando casi toda la RAM.  Lástima.

Emacs:

El poderoso emacs

El poderoso emacs

El típico M-x hexl-mode de emacs no podía faltar como fanático de éste editor desde hace años.  Sin embargo, al igual que con Okteta, optaba por abrirme el buffer y volcarlo directamente a memoria, algo que no era nada eficiente para la tarea que iba a realizar.

Bless:

El sencillo bless.

El sencillo bless.

Un nombre bastante certero para la ocasión. Es la opción para los usuarios de gnome y GTK, la verdad, como todas las aplicaciones GTK, la interfaz gŕafica es bastante sencilla, permite hacer las operaciones pertinentes sobre los datos, y lo mejor de todo, abrió el archivo en modo stream, de tal manera que no me llenó la memoria física. Definitivamente una bendicion.

Bueno, para las tareas básicas que estoy realizando como es simplemente estudiar la estructura del sistema de archivos de un iso de gamecube, bless satisface mis necesidades. Aunque si alguien sabe de un mejor editor hexadecimal que sea amistoso con mi RAM y me permita abrir archivos grandes sin matar mi memoria, bienvenidos sean los comentarios…

Anuncios

Dejando un trono de libertad…

Una persona muy capaz, tiene barba, hediondo, es alguien que recientemente ha renunciado a su puesto actual que lo hizo grande, y que con sus ideas de libertad revolucionó el pensamiento de muchos intelectuales… Éste señor que viene hablando de libertad y de lucha contra el imperio, cultivando su filosofía en la mente de muchos desde hace ya varias décadas, ahora busca sucesor en quizá el proyecto más importante de su vida que marcó un antes y un despues…

Por el párrafo anterior parece que se menciona a Fidel, pues no, se trate de alguien casi igual de radical… Richard Stallman AKA RMS, quien recientemente ha anunciado que por segunda vez deja el trono como mantenedor oficial del grandioso editor/IDE/Cliente de Mail/Shell/etc llamado emacs. Gran parte del software GNU, e incluso software libre de otras denominacines ha sido escrito usando este poderoso editor, y pilar importantísimo de la suite de utilidades libres GNU, que incluye además al la colección de compiladores GCC, a Flex, Bison, Autotools, GRUB, etc, etc, etc. aparte de que indudablemente allí se escribió originalmente de la licencia de software más controversial de todas, no, no es la EULA… es la GPL.

Esperando que los nuevos mantenedores (Tentativamente Monnier y/o Yidong) logren continuar el mejoramiento que este poderoso ha mantenido en estos 24 años durante 22 releases con versiones mayores, y que el movimiento libre siga su rumbo en ascenso!

M-x introduccion-a-emacs

Una de las herramientas mas marcianas que ví la primera vez que usé un sistema GNU/Linux fue un extraño editor llamado emacs. pues ingresaba a él, y luego no sabía como cerrar la aplicación.

Emacs logo

Sin embargo, como buen estudiante de ingeniería en sistemas, me gusta complicarme la existencia, y decidí ponerme a aprender a utilizar dicha aplicación. Encontré luego que al presionar F10 accedía al menú ficticio que me aparecía en la pantalla principal, navegué hasta la ayuda, y vi algo así como “Tutorial rápido de emacs”. Decidí tomarlo, y luego no pude despegarme de este excelente editor de texto (?) , que me ayudó principalmente en el curso de Programación 2 y Compiladores 1 ya hace algunos años, cuando hacía programas en C y C++. Y no solo me dejaba hacer eso, sino que con ayuda de CVS llevaba el control de versiones de dichos proyectos, así como generaba los autoconf y automake respectivos. Además de muchísimos otros beneficios que tiene esta aplicación. Por lo que decidí publicar una pequeña transcripción de una descripción muy certera que le hacen a esta poderosa aplicación.

Emacs como IDE

GNU Emacs, tiene en comun con algunas otras buenas cosas, la cualidad de que es mejor apreciado con la experiencia en vez de una descripcion a sangre fría. Gracias a su grandiosa extensibilidad, y a la larga gestación producto del trabajo compartido de muchos programadores, se ha convertoido en “Todo” para “todos”, Su extensibilidad y personalización está hecha gracias a sus archivos auto documentados “Elisp”. Emacs crece y crece en una gran feceta modular. una arquitectura protable y vasta, que está compuesta de módulos de código colectivo. En resumen Emacs ofrece un entorno totalmente integrado y listo para configurar para cualquier tipo de programación común y no común. procesado de texto y tareas computacionales regulares.

Éste grandioso programa puede ser usado para escribir y editar textos como éste. para probar, escribir, y ejecutar código, páginas webs entre servidores, actualizar y publicar entradas de blogs, organizar pensamientos y notas de nuevas formas, y como punto de entrada para manipulación del todo poderoso Shell de Unix. Y así esta lista se extiende y se extiende…

Así que si tienen la oportunidad (y la paciencia) para tomar el tutorial de éste app, háganlo, y verán que con emacs, las tareas cotidianas de programación se simplifican.

Aqui les dejo el link para que puedan probar el poderosísimo emacs

Bajar Emacs

Para mas informacion:

El Blog de Emacs (Inglés)

ALT+X help (desde emacs)