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

Anuncios

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 »

Llega el frío (hoy, hasta ha nevado por la Universidad), llega el mes de diciembre (y desde hace una semana, ya nos taladran con luces navideñas y villancicos) y llega otro número de la revista @rroba, el número 159.

Mi primer artículo de este mes es la entrega de rigor del Curso de Java Útil, trigésima del curso, y decimoséptima (spoiler alert, última) dedicada a jWadalPasswd. Este mes nos dedicamos casi por completo a la poco gratificante -pero muy necesaria- tarea de limpiar la casa, puliendo detalles y solucionando bugs que, a propósito o no, había en el código. Como única funcionalidad extra, aprendemos a manejar el portapapeles del sistema desde Java, permitiendo copiar las contraseñas generadas de forma segura, para así poder pegarlas directamente en nuestra aplicación favorita.

El segundo artículo se dedica al mundo de la Geolocalización, y más concretamente a su análisis desde el punto de vista de la seguridad. Hablaremos de los orígenes de esta tecnología, definiremos su terminología y ámbito de aplicación, sus bases técnicas y cómo funciona, qué tipo de aplicaciones existen, y qué riesgos de seguridad implican. Dada la extensión actual de estos sistemas, principalmente en el mundo de los terminales tipo smartphone, es interesante conocer de qué van, y cuáles son sus usos y abusos.

Read Full Post »

Desde la última actualización de Java en Mac OS X, tanto OpenOffice.org como LibreOffice han comenzado a dar problemas para detectar la máquina virtual JRE. En concreto, aparecen diversos errores en la aplicación JREProperties, y en algunos casos la suite ofimática se niega a funcionar.

La solución, como se puede leer en Macuarium, es la siguiente:

  1. Asegurarse de que OpenOffice.org/LibreOffice se encuentra cerrado.
  2. Descargar estos ficheros: libjvmfwk.dylib.3 y sunjavaplugin.dylib.
  3. En la carpeta aplicaciones, seleccionar “Mostrar el contenido del paquete” sobre la aplicación.
  4. Navegar a “Contents/basis-link/ure-link/lib” y descomprimir allí los ficheros, sobrescribiendo los existentes.

Al abrir de nuevo la aplicación, podréis comprobar que ya se puede seleccionar la máquina virtual de Java, dentro del menú apropiado de las opciones de la aplicación.

Read Full Post »

Older Posts »

A %d blogueros les gusta esto: