Bueno voy a contar la historia: Esta mañana un compañero necesitaba convertir un fichero en texto plano pero en formato hexadecimal a su correspondiente formato binario. Es decir, tienes por ejemplo un .txt con entradas de la forma «A0 FF 00 12 AA…» y lo que quieres es generar el correspondiente fichero binario. En Linux tenemos bastantes utilidades para ello, pero mi compañero usa Windows y no es de los que cambien, asi que alternativamente me dedique a buscar una utilidad para Windows que permitiera hacer esto. Seguro que con algun editor como Ultraedit se puede, pero hace mucho tiempo que no uso programas de pago. No importa, encontre lo que buscaba y aun mejor, se encuentra disponible para Windows, Mac y Linux. se llama «sfk«.
Es un simple comando, pero puedes hacer multitud de cosas con el. Por ejemplo: montarte un servidor http, o ftp desde el directorio actual, hacer grep binario, ver el espacio ocupado en forma de arbol, reemplazar texto, unir ficheros, extraer cadenas, parchear, tail o incluso ejecutar un volcado hexadecimal. Son tantas las acciones que se pueden hacer que no las voy a comentar, simplemente ejecuta el comando (sin parametros) para que te muestre la ayuda por consola y puedas ver la lista de acciones (y parametros) que puedes ejecutar.
Para instalarlo, descargate la version para linux (ironicamente lleva extension .exe) pero no te preocupes, es un binario para linux, asi que dale permisos de ejecución y renombralo por ejemplo a «sfk», si lo mueves a /usr/bin podrás ejecutarlo siempre que quieras.
cd sfk158
cd uxbin
mv sfk-linux.exe sfk
chmod +x ./sfk
Un ejemplo de uso: Mostrar la tabla ASCII:
$ sfk ascii
O el ejemplo que comentaba al principio. Tienes un fichero en texto plano con contenido hexadecimal y quieres generar el fichero binario correspondiente, en este caso ejecutarias:
$ ./sfk filter aqui_fichero_plano.txt +hextobin aqui_fichero_binario_salida
Ejemplo:
Crea un fichero de texto plano llamado «helo.txt» con el siguiente contenido:
00 0a 11 1f
Ahora lo convertimos a binario con:
./sfk filter helo.txt +hextobin helo.bin
Se crea un fichero llamado «helo.bin» que es binario y si hacemos un volcado del mismo, vemos que coincide con el contenido hexadecimal que teniamos:
hexdump -C helo.bin
00000000 00 0a 11 1f |....|
00000004
En fin, lo dicho, se le puede sacar mucho uso a este comando. Prueba a ejecutarlo sin parametros para ver una lista de sus posibilidades.
Descarga | sfk
Comentarios recientes