Feeds:
Entradas
Comentarios

Posts Tagged ‘java’

Aún cuando el desarrollo de complejos proyectos, a día de hoy, no se concibe sin la utilización de un entorno de desarrollo integrado (IDE); en ocasiones puede resultar interesante ejecutar estos proyectos desde un entorno de consola.

En primer lugar, eliminar la carga que supone la ejecución del propio IDE acelera el proceso y reduce el consumo de recursos. Además, se puede integrar el flujo de ejecución de los programas dentro de algún tipo de script, lo cual puede llegar a resultar muy útil.

Para ejecutar un proyecto Java compilado con Maven, simplemente hay que ejecutar la siguiente orden, desde el directorio que contiene el fichero «pom.xml«:

mvn exec:java -Dexec.mainClass=»com.domain.project.Class»

Para añadir parámetros a la ejecución, se usará además el siguiente modificador:

-Dexec.args=»argumento1 argumento2 argumento 3″

También es posible especificar un classpath específico:

-Dexec.classpathScope=runtime

Para conocer todas las posibilidades de ejecución de Maven desde una terminal, sólo hay que ejecutar la siguiente orden:

mvn exec:help -Ddetail=true -Dgoal=java

Read Full Post »

Si tenemos un String Java con direcciones URL válidas, y queremos que éstas sean seleccionables, hay que convertirlas en enlaces HTML.

Para ello, podemos hacer uso de la clase estática Linkify del SDK:

String s = getString(R.string.something);
SpannableString ss = new SpannableString(s);
Linkify.addLinks(ss, Linkify.ALL);

Listo, ya se puede colocar el SpannableString en cualquier elemento de la interfaz.

Read Full Post »

El soporte para modelado UML e ingeniería inversa de NetBeans resulta muy útil, especialmente en el análisis de grandes proyectos. Lamentablemente, NetBeans ya no incluye un gestor de módulos, y -en teoría- nos tenemos que limitar a los plugins del mismo, entre los que no se incluye dicha funcionalidad.

Para solucionar este problema, debemos acudir a esta página: http://dlc.sun.com.edgesuite.net/netbeans/6.9/rc/zip.html

En ella, descargaremos el cluster UML, descomprimiendo su contenido en la raíz del directorio de instalación de NetBeans. Una vez hecho, el directorio «uml» (que contiene el cluster) debe quedar al mismo nivel que otros cluster como «java«, «profiler«, etc. ¡Listo! Tras reiniciar NetBeans, el módulo estará listo para usar.

Read Full Post »

Con un retraso más que considerable, ya podéis encontrar en vuestro kiosco el número de febrero de la revista @rroba.

Además, este número 161 es, hasta lo que yo sé, el último de la revista @rroba. A pesar de que en sus páginas no se mencione absolutamente nada del tema, y de que ya hubiera rumores de cierre cuando tuvo lugar el cambio de editorial, allá por el número 144; la información que yo tengo indica que el cierre es real y definitivo. Si -como ocurriera hace año y medio- no ocurre algo en el último momento, hasta aquí llega la historia de la publicación más veterana en España sobre Internet y seguridad informática.

Para mí han sido casi cinco años de colaboración con la publicación, en los que he escrito 102 artículos, incluyendo un curso de arquitectura de computadores de 22 entregas y uno de programación en Java de 32 entregas, así como 48 artículos con temática muy variada: desde el hacking puro hasta el análisis de nuevas tecnologías, y pasando por perros verdes como la computación cuántica o la criptografía cuántica. Personalmente, ha sido una experiencia muy enriquecedora, que me ha ayudado a aprender mucho -tanto técnicamente, como en la propia redacción- y me ha reportado muchas satisfacciones.

Ya centrándonos en los contenidos de este número, encontraréis los dos artículos habituales con mi firma.

El primero de ellos es la entrega habitual del Curso de Java Útil, trigésimo segunda del curso y segunda dedicada a la aplicación jWadalCrack. En esta entrega, comenzaremos a diseñar una lógica de negocio real para la aplicación, permitiendo la realización de pruebas reales de ruptura de hashes. Además, introduciremos unas nociones iniciales al análisis del rendimiento del proceso de ataque, realizando unas estimaciones iniciales (y algo burdas) de los tiempos de ruptura estimados para ciertos valores de entrada. Lamentablemente, y tras sólo dos entregas dedicadas a jWadalCrack, el programa es poco más que una prueba de concepto y está muy verde. Afortunadamente, en estas dos entregas ha dado tiempo a esbozar los fundamentos de los principales pilares sobre los que desarrollaríamos la aplicación, por lo que no debería de ser muy complicado continuar su desarrollo sin mi ayuda. Creo que esos serán los últimos deberes que os mande. ;-)

El segundo artículo lleva por título Hacking Android, y en él veremos cómo sacar el máximo partido a nuestro hardware, gracias al sistema libre y abierto de Android. Rootear el terminal, instalación de ROMs personalizadas, desbloqueo de hardware no utilizado por el fabricante, instalación del kit de desarrollo, conexión del terminal a bajo nivel, desbloqueo del bootloader, personalización del recovery, flasheo de componentes del firmware… en definitiva, destripar un dispositivo Android desde el primer tornillo hasta el último punto y coma. Como debe ser.

@rroba 161

@rroba 161

Read Full Post »

Año nuevo, vida nueva. O no. Pero sí llegan algunas cosas nuevas, como el número 160 de la revista @rroba, que ya podéis encontrar en vuestro kiosco habitual. Realmente ya lleva un tiempo en la calle (yo la vi el día 26 en Barajas), pero yo no he tenido tiempo de comprarla… :P

Mi primer artículo de este número será la entrega habitual del Curso de Java Útil, trigésimo primera del curso. Y, año nuevo, aplicación nueva: primera de nuestro nuevo programa jWadalCrack. En esta ocasión, vamos a construir una aplicación dedicada a la ruptura de hashes de contraseñas… un craqueador, vamos. Como casi siempre, mezclamos la programación con seguridad y criptografía, para aprender un poco de cada campo durante el camino. Comenzaremos definiendo el objetivo y el ámbito de la aplicación, posteriormente recordaremos algunos conceptos (hashes, fuerza bruta, etc.), y finalmente hablaremos de la generación de combinaciones. Así, en base a un diccionario y una longitud, generaremos todas las posibles combinaciones existentes; lo que supone, en la práctica, la base para un ataque de fuerza bruta. En el proceso veremos que todas las estructuras complejas de alto nivel de Java, no nos ayudan demasiado, y tendremos que recurrir a nuestros viejunos amigos los arrays.

En el segundo artículo hablaremos de Linked Data, un paradigma de representación y enlace de información promulgado por el papá de la Web: Sir Tim Berners-Lee. Este paradigma engloba un conjunto de tecnologías que se sitúan dentro de lo que conocemos como Web Semántica, y presenta algunas propuestas interesantes para los procesos de la información de la «Web del futuro» que se está intentando construir. Veremos qué propone este paradigma, en qué se basa, y cómo lleva a la práctica su implementación. ¿Es Linked Data el futuro de la Web? Probablemente no, pero probablemente sí juegue un papel importante. Por supuesto, y dado que «el yogurlado está maldito» (frase extraída de mi artículo, lo juro por Cthulhu), también hablaremos de qué problemas y limitaciones presenta Linked Data. No todo iba a ser bonito, ¿verdad?

Y este número, como por fin tengo escáner nuevo (bueno, nuevo no es, porque busqué en eBay un modelo muy concreto), recupero la tradición de publicar la portada mensual.

@rroba 160

@rroba 160

Read Full Post »

Older Posts »