Trucos para Flex Builder 3 en Linux (I)

Últimamente paso muchas horas delante de Flex Builder 3, desarrollando junto con otros programadores una aplicación que espero dé mucho de lo que hablar (para bien 🙂 Algunos de mis compañeros desarrollan sobre Windows y ahí FB va fino. Pero en Linux, al ser una versión Alpha, tenemos algunos problemas. Poco a poco los vamos solucionando. Veamos hoy uno de ellos.

Al lanzar una aplicación .mxml, nos encontramos con el siguiente pop-up:

Y el error: «Flash Player not found / Flex Builder cannot locate the required version of Flash Player. You might need to install Flash Player 9 or reinstall Flex Builder. Do you want to try to run your application with the current version?» Si pulsamos en «Yes» todo funciona correctamente. Pero ese popup es un verdadero tostón. ¿Cómo evitarlo? Bien, tras muchas vueltas, la solución es sencilla (como todo, cuando lo conoces 😉 :

Basta con lanzar FlexBuilder usando el script Adobe_Flex_builder.sh que se genera en la carpeta de instalación de FB. Ese script inicializa la variable MOZ_PLUGIN_PATH que apunta al directorio de plugins de Firefox (donde deberías de tener tu plugin Flash bajo el nombre de fichero libflashplayer.so )

El problema añadido es que ese script no suele funcionar :-O Así que lo mejor en esos casos es ejecutar a mano lo que el script se supone que automatizaría:

$ export MOZ_PLUGIN_PATH=$HOME/.mozilla/plugins $ eclipse -Xmx 512M

La primera línea define la variable de entorno MOZ_PLUGIN_PATH y la segunda incrementa el tamaño máximo del heap de la JVM a 512MB (útil para que FB no se atragante con errores de memoria insuficiente). Ya puedes decir adiós al dichoso popup.

Revista Linux+ 5/2009 (Número 54)

El tema central de este número es «Soluciones para empresas» En el DVD adjunto encontraréis: # Debian 5.0 LENNY

La nueva versión de Debian que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE entre otros (Versiones 32 y 64 bits)

También podréis leer los siguientes artículos:

Máquinas virtuales: Solución ideal para la PYME

¿Crisis en la empresa? Ahorra el dinero con software libre

Programación en Gambas: Crea tu propio juego

Google Search Appliance: Ahorra el tiempo y energía en la empresa

Emulación de entornos empresariales IT

Hacking para linuxeros: Cracking Wi-Fi

Más allá del Conocimiento Libre: Liberando y compartiendo ideas

Entrevista a Jordi Bufi, co-fundador de Neurotic

Entrevista a Aurora Garal, co-fundadora y CEO de Worthidea

Dar formato al código de un programa en VIM

Receta rápida para darle formato al código en VIM (el lenguaje: cualquiera de los soportados por VIM, o sea, legión):

Ejemplo en PHP; indicamos el tipo de archivo:
set filetype=php

Marcamos todo el texto y le damos formato, pulsando ESCgg=G

ESC –> Modo comando gg –> saltar a la primera línea = –> formatear el código G –> hasta la última línea

Hitzaldia: Jabetza intelektuala eta teknologia berriak

Conferencia en euskera, bajo el título «Propiedad intelectual y nuevas tecnologías». Allí estaré (Donostia, centro Korta, sala VC3): OpenCourseWare ekintzaren barruan, EHUk honako hitzaldia antolatu du biharkorako.

Maiatzak 15, goizeko 10etan

Marko Txopitea software askearen munduari lotutako aholkulari-informatikoa da eta baita Indymedia Euskal Herria, Sindominio, Hackmeeting, Librezale, Zabaldu, Ezebez, CompartirEsBueno, Politika 2.0 eta beste talde batzuetan parte hartzen duen hacktibista. Hamabostero GARA egunkarian teknologia berriei, Interneti, sare sozialei, jabetza intelektualari eta abarrei buruzko artikuluak argitaratzen ditu. Bere blog pertsonala: http://www.ikusimakusi.net

Hackit!: nivel 3

Warning! Este post muestra paso a paso cómo superar la prueba 4 (nivel 3) del HackIt! de la Gipuzkoa Encounter 2009. Si no quieres verlo, deja de leer… ¿Todavía estás aquí? Entonces ¿quieres leer la solución? Vale, tú mismo. Allá vamos:

0) Descargar el ejecutable para Windows a crackear. Si estás en Linux, aprovecha para pasarle el comando strings y ver si encuentras algo interesante – no hay gran cosa-. Ya puestos ábrelo en vi (sí! abrimos el binario en vi) . Aquí sí que vemos algunas cadenas interesantes. Entre ellas UPX!

1) UPX es un empaquetador de ejecutables (tanto para Win como para Linux). Descargamos UPX. Desempaquetamos el ejecutable (se puede hacer en Linux con Wine si se desea) /tmp/upx303w$ wine upx.exe -d ../crackit.exe Ultimate Packer for eXecutables Copyright (C) 1996 - 2008 UPX 3.03w Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2008 File size Ratio Format Name</p> <hr /> <p>28672 <- 8704 30.36% win32/pe crackit.exe Unpacked 1 file. 2) La idea ahora es abrir el ejecutable con algún debugger para Win. Por ejemplo, OllyDBG. Lo he probado con Wine y no ha ido muy fino así que abrámoslo en el sistema del maligno 😉

Abrimos el fichero desempaquetado crackit.exe en OllyDBG.

Ponemos un punto de ruptura en la primera línea ejecutable del .exe (en la 00401811). Para ello, basta con hacer doble click sobre la línea en cuestión (el número de línea se pondrá rojo, igual que en la imagen). Ahora, dado que la primera línea es un «call 004023E4» lo inspeccionamos con «step into», es decir, pulsamos F7 para ver el código al que ese call está llamando. Ahora, empezamos a navegar por el código usando F8 (o sea, step over, es decir, ejecución línea por línea, sin meternos en los call)

Seguimos así hasta la línea 00401665 «call 00401005». Realmente la idea es que pulsamos F8 hasta ver cuándo se abre una ventana MS-DOS que nos está pidiendo login y password. En ese momento apuntamos la línea que provocó esa llamada y nos damos cuenta de que es la 00401665. Ahora reiniciamos la sesión de debug y pulsamos F7/F8  hasta pararnos en 00401665. Pulsamos F7 (step into) para ver «las tripas» de ese método.

Ahí hay un «jmp 00401010». Pulsamos F7. Y seguimos con F8, línea a línea. En la 00401050 vemos que se prepara el string que nos indicará por pantalla «En esta prueba es importante saber quién eres…». F8 y veremos que se hace una llamada a printf. Seguimos con F8. En la línea 004010A2 vemos que se hace una llamada a fgets (se solicita por teclado un string al usuario). Tecleamos «euskal» y pulsamos intro para seguir depurando. F8 hasta que nos pida el password. Tecleamos cualquier cosa (12345678, por ejemplo).

Ahora se supone que en algún momento deberá de compararse lo que hemos tecleado nosotros (12345678) con la clave correcta que se supone que deberíamos de teclear. Así que vamos pulsando F8 hasta que veamos el «strcmp» pasar por delante nuestro y justo antes, el string con el que comparar  🙂

(pulsa sobre la imagen para ver la contraseña en la línea 004011B3). Suerte con el nivel 4 😉