Ingeniería inversa con java


Si alguna vez  ha tenido un proyecto java compilado en forma de fichero .class  o .jar   y necesita conocer como esta construido el código para  hacer ingeniería inversa o simplemente para investigar su  funcionamiento,  la herramienta que vamos a ver, lo hace de maravilla ! y además es gratuita!, veamos en detalle en que consiste.

En  efecto el «proyecto Java Decompiler» tiene como objetivo desarrollar herramientas para descompilar y analizar el «código de bytes» de Java 5 y las versiones posteriores siendo  JD-GUI la utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos «.class».

Con esta herramienta puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos Incluso puede integrarse  con el IDE de Eclipse  gracias a  JD-Eclipse, que  es un complemento para la plataforma Eclipse.

La herramienta le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas. JD-Core es una biblioteca que reconstruye el código fuente de Java de uno o más archivos «.class». JD-Core se puede usar para recuperar el código fuente perdido y explorar la fuente de las bibliotecas de tiempo de ejecución de Java.

Se admiten las nuevas características de Java 5, como anotaciones, genéricos o tipo «enum». JD-GUI y JD-Eclipse incluyen la biblioteca JD-Core. JD-Core, JD-GUI y JD-Eclipse son proyectos de código abierto publicados bajo la licencia GPLv3.

Veamos un poco algo sobre la historia de esta  interesante  herramienta:

  • En 2011, Alex Kosinsky inició una variante de JD-Eclipse que admite la alineación del código descompilado por los números de línea de los originales, que a menudo se incluyen en el Bytecode original como información de depuración.
  • En 2012, una rama de JDEclipse-Realign de Martin «Mchr3k» Robertson  extendió la funcionalidad mediante el control de descompilación manual y el soporte para Eclipse 4.2 (Juno).
  • Y llegamos a la actualidad    D (Java Decompiler) ,  es un decompilador para el lenguaje de programación Java.Se proporciona como una herramienta GUI, así como en forma de complementos para los entornos de desarrollo integrado Eclipse (JD-Eclipse) e IntelliJ IDEA (JD-IntelliJ).Es compatible con la mayoría de las versiones de Java desde 1.1.8 hasta 1.7.0, así como JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler y Apache Harmony y, por lo tanto, a menudo se utiliza donde anteriormente se operaba el popular JAD

Java decompiler

Instalación

Se puede descargar directamente desde  su pagina de Github

La versión ultima   disponibles  es la 1.5.2

Esta versión incluye los siguientes cambios:

  • Actualizando JD-Core a 1.0.3
  • Adición de soporte de archivos AAR (archivo de Android)
  • Adición de soporte de archivos JMOD (módulo Java 9)

Este   es el enlace para descargar el  jd-gui-windows-1.5.2.zip   que es la versión  que   funciona sobre windows.

Descomprimimos el  ficherpo zip ( https://github.com/java-decompiler/jd-gui/releases/download/v1.5.2/jd-gui-windows-1.5.2.zip)

Finamente lanzaremos la aplicación  jd-gui.exe

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos «.class»  y también  «.jar»  . Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Existe JD-Eclipse es un complemento para la plataforma Eclipse. Le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas.

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos «.class». Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Mas  información en su sitio  http://java-decompiler.github.io/

Ya disponible la Raspbery Pi 4


En efecto  ya esta disponible  desde la pagina oficial  de la fundacion Raspberry  , la nueva version de Raspberry Pi   4 ,la cual   repite precio manteniendo el factor de forma , por lo que simplemente puede colocar su nueva Raspberry Pi 4   en sus proyectos anteriores  gracias  a como siempre que  han  mantenido todo el software compatible con versiones anteriores, por lo que lo que se desarrolle para  una Raspberry Pi 4 funcionará en cualquier version  más antigua que tenga .

 

La Fundación Raspberry Pi ha presentado un nuevo modelo de su minipc  : Raspberry Pi 4 (modelo B), con algunas novedades interesantes partiendo del mismo bajo precio de 35 dólares.

Exactamente se comercializa tres diferentes sabores dependiendo de la cantidad de RAM que necesite: 1 GB, 2 GB o 4 GB.;

  • El modelo de 1 GB cuesta los habituales 35 dólares,
  • El de 2 GB cuesta 45 dólares
  • El de 4 GB tiene un precio de 55 dólares, y ya está a la venta.

Estos precios, como en versiones anteriores,  no incluyen el precio de la tarjeta micro-SD o la fuente de alimentación necesarios para ponerla en marcha y tampoco  coinciden exactamente con los ofrecidos por Amazon ( por el momento no disponibles en muchos paises) 

No solamente   tenemos disponible mas memoria (de tipo LPDDR4-2400.)  , ya que con  el avance de la potencia de la arquitectura ARM,  y  el  abaratamiento del coste de los tipos de núcleos de años pasados, la Raspberry Pi 4 aporta hasta tres veces más potencia.   gracias a  su procesador BCM2711 de Broadcom, que es un modelo de cuatro núcleos Cortex-A72 a 1.5 GHz  que la hace  superar tres veces en rendimiento al usado en la Raspbery Pi 3.

Ademas aunque externamente presenta  el mismo factor de forma que la Rasberry Pi 3  la mejora más interesante es la unidad gráfica integrada  ya que ahora  el clásico conector hdmi ha sido  reemplazado por dos conectores micro-hdmi ,para soportar dos monitores simultaneos  que puede mover incluso con resolución  4K simultáneamente 

 También  la nueva Raspberry Pi 4 ha mejorado la capacidad USB: junto con dos puertos USB 2, encontrará dos puertos USB 3, que pueden transferir datos hasta diez veces más rápido. 

Asimismo para alimentar la  placa   cuenta con un conector usb-c 

 

 

 

La Raspberry Pi, sin ventilador y energéticamente eficiente, se ejecuta de manera silenciosa y consume mucha menos energía que otros ordenadores.

La velocidad y el rendimiento de la nueva Raspberry Pi 4 es un paso más que los modelos anteriores pues por primera vez, se ha construido una experiencia de escritorio completa permitiendo  editar documentos, navegar  por la web con un montón de pestañas abiertas, haciendo malabares con hojas de cálculo o dibujando una presentación, su creadores afirman que encontraremos la experiencia fluida y muy reconocible, pero de una forma más optima  gracias   aun hw   más eficiente en cuanto a consumo de energía y desde luego a un precio mas  asequible y eso contando con conectividad a redes rápidas  ( viene con Gigabit Ethernet, junto con redes inalámbricas a bordo y Bluetooth).

 

 

Por ultimo no debemos olvidar el conector de expansión , pues mantiene los cuarenta pines GPIO para los que deseemos controlar dispositivos  gracias a sus 12 puertos binarios de   E/S 

Para estar creado en una placa impresa de solo 85 mm × 49 mm, es un mini-equipo extremadamente versátil, y cada vez más potente para usarlo como centro multimedia, que en este caso el poder mover una pantalla 4K será muy útil, ya que decodifica por hardware el códec H.265 (4K y 60 f/s), si bien codifica hasta a FHD y 30 f/s en H.264. Además, la unidad gráfica ahora es compatible con OpenGL 3.0.

No debemos olvidar  que  para poner  en funcionamiento  esta placa necesitaremos

  • Una fuente de alimentación USB-C de 15W: recomendamos la fuente de alimentación USB-C Raspberry Pi oficial
  • Una tarjeta microSD cargada con el SO ya instalado  o bien con  NOOBS, el software que instala el sistema operativo (se puede comprar una tarjeta SD precargada junto con la Raspberry Pi o descargar NOOBS para cargar una tarjeta usted mismo)
  • Un teclado y un ratón
  • Cables para conectarse a una o dos pantallas a través de los puertos micro HDMI de Raspberry Pi 4

Este pequeño PC también tiene dos USB 2.0, dos USB 3.0, wifi 802.11ac, Bluetooth 5.0, un RJ-45, un conector de 3.5 mm y lector de tarjetas micro-SD.

 Para proyectos a largo plazo, prometen mantenerla en producción hasta al menos enero de 2026.

 

Mas informacion  en https://www.raspberrypi.org/products/raspberry-pi-4-model-b