jueves, septiembre 26, 2024

Deshacer las .apk para obtener el "source code" de una aplicación Android

Está Escrito:

El es Todopoderoso, al cual no alcanzamos, grande en poder; Y en juicio y en multitud de justicia no afligirá. Lo temerán por tanto los hombres; El no estima a ninguno que cree en su propio corazón ser sabio. (Job 37:23-24)

Hoy voy a hablaros de como obtener el código fuente (o como se conoce más comúnmente, el source code) de una .apk. A veces, yo, como desarrollador de aplicaciones, me gusta "espiar" (sí queréis el término que yo uso, es "mirar el trabajo de los otros para aprender y aplicarlo al mío propio", pero que vamos, viene a ser lo mismo) el trabajo de los demás. Pero hay una barrera, que se llama .apk. Que yo sepa, no existe ningún editor de código que pueda leer los .apk y abrirlos como si fuera un source code, para poder leerlos, y por eso, tenemos que usar técnicas un poco más "oscuras" y deshacer esos .apk para convertirlos en source code.


Bien, demasiada explicación aburrida, vayamos manos a la obra.
¿Qué vamos a necesitar?

  • Un programa que se llama apktool (¿original, eh?). La copia que os doy es una preparada por mí :).
  • Otro programa para leer el source code (Yo usaré Eclipse configurado con el ADT de Android (o si queréis ahorraros todo el paso de intalar el JDK, y las ADT y todo, usad el ADT-Bundle de Android)). Vosotros podéis usar Netbeans o lo que queráis.
  • Descargar el .apk que queramos descomprimir.
  • Otro programa para leer .jar y descomprimir las clases. Yo uso el JD-GUI.
Bien, empecemos instalando el apk tool. Ya que es un poco "complicado", os voy a enseñar cómo se hace. 
  1. Nos descargamos el archivo que he preparado (este).
  2. Lo descomprimimos y ponemos la carpeta en C:\Windows.
  3. Y ya está. No era tan complicado, ¿eh? ;).
Vamos a usarlo. Os he dejado dos archivos preparados. Uno que se llama cmd.lnk y otro que se llama Procedure.txt. Procedures es por sí alguna vez tenemos alguna duda de lo que debemos hacer.

Os voy a explicar como funciona. Voy a usar una app propia que hice para un amigo que se llama Drama Button y que podéis descargar, si queréis, aquí (es una tontería realmente, pero es divertida). Empecemos.

  1. Ejecutamos el cmd.lnk como administradores (Click derecho -> Ejecutar como administrador).
  2. Os debería salir una línea de código que ponga C:\Windows\apktool1.5.2>. Si no os sale, escribís "cd C:\Windows\apktool1.5.2" y le dais a enter. 
  3. Una vez aquí, es útil copiar y pegar el archivo que queremos descomprimir dentro de la misma carpeta del apktool. Cuando lo tenemos dentro, escribimos apktool d NombreDelArchivo.apk. Como ya os he dicho, en mi caso estoy usando una app que se llama DramaButton.apk, así que se vería así: 
    CMD en el paso 3
    CMD en el paso 3.
  4. Ejecutamos y obtenemos una carpeta:
  5. CMD y Carpeta nueva en el paso 4
    CMD y Carpeta nueva en el paso 4
  6. Ahora vamos a ejecutar el siguiente comando para obtener las clases de la app. Escribimos jar xvf NombreDelArchivo.apk classes.dex y se nos creará un archivo que se llamará classes.dex 
    CMD y classes.dex en el paso 5
    CMD y classes.dex en el paso 5
  7. Es raro que alguien conozca que es el archivo .dex, así que vamos a pasarlo a .jar para poder pasarlo al JD-GUI y poder leer las clases. Escribimos dex2jar classes.dex y se nos crea un archivo que se llama classes_dex2jar.jar. 
    CMD y classes_dex2jar.jar en el paso 6
    CMD y classes_dex2jar.jar en el paso 6
  8. Abrimos el JD-GUI y arrastramos el archivo classes_dex2jar.jar al programa. Veremos esto: 
    JD-GUI
    JD-GUI
  9. Damos doble click en "MainActivity" y se nos abre. Ahora si queremos llevarlo a Eclipse para unirlo con los res, le damos a "File->Save All Souces" y lo guardamos cómo y donde queramos. Lo descomprimimos y vamos a la carpeta que se nos ha creado en el paso 4 (C:\Windows\apktool1.5.2\NombreDelArchivo) y creamos una carpeta que se llame src. Copiamos y pegamos las carpetas del zip que nos ha creado el JD-GUI. 
  10. Ahora simplemente, abrimos Eclipse, le damos a "File->Import" y se nos abre una ventana. Vamos a la carpeta Android y le damos a "Existing Android Code Into Workspace". Clicamos en next, y como root directory pondremos el de la aplicación extraída, es decir: C:\Windows\apktool1.5.2\NombreDelArchivo. Se nos creará un project nuevo y tendremos ahí los res y el código. 
  11. Nota final: Muchas veces hay errores de compatibilidad o de archivos que faltan o lo que sea. El apktool no es perfecto. Yo recomiendo leer los archivos de java desde el JD-GUI, ya que es lo mismo y es más cómodo. Pero esto ya, a vuestra elección.
En unos 5 minutos si somos lentos y vamos leyendo y haciendo poco a poco, hemos obtenido el source code de cualquier aplicación que queramos ver. 

A mí me ha ayudado muchas veces para ver cómo la gente programa las cosas y espero que os sea útil a vosotros también.

Muchas gracias por leerme un día más.

¡Saludos a todos!

martes, julio 02, 2024

Hasta el hisopo que nace en la pared

SOBRE LA POLILLA DEL ESTUCHE, PHEREOECA (LEPIDOPTERA, TINEIDAE)

Y Dios dio a Salomón sabiduría y prudencia muy grandes, y anchura de corazón como la arena que está a la orilla del mar. Era mayor la sabiduría de Salomón que la de todos los orientales, y que toda la sabiduría de los egipcios. Aun fue más sabio que todos los hombres, más que Etán ezraíta, y que Hemán, Calcol y Darda, hijos de Mahol; y fue conocido entre todas las naciones de alrededor. Y compuso tres mil proverbios, y sus cantares fueron mil cinco. También disertó sobre los árboles, desde el cedro del Líbano hasta el hisopo que nace en la pared. Asimismo disertó sobre los animales, sobre las aves, sobre los reptiles y sobre los peces. Y para oír la sabiduría de Salomón venían de todos los pueblos y de todos los reyes de la tierra, adonde había llegado la fama de su sabiduría. (1 Reyes 4:29-34)

Tomado de: Desinsectador

La polilla del estuche (Phereoeca) es un lepidóptero de la familia de los tineidos (Tineidae) que se ha adaptado bien a vivir en el interior de edificios donde desarrolla todo su ciclo de vida [1]. Detectamos la presencia de esta polilla por el característico estuche oval que teje la oruga (figura 1). La oruga se alimenta de restos de insectos, pelos, plumas y pieles secas, entre otros materiales de origen animal. También se la puede ver alimentándose de cadáveres secos [2]. La oruga tejes con sedas un saco oval que le sirve de protección exterior y lo recubre con detritus que encuentra en su camino como granos de arena, trozos de plástico, etc. El color de cada saco dependerá de lo que la oruga tenga a mano, lo cual sirve de camuflaje. Los estuches miden alrededor de 1 cm de largo.

La oruga es blanquecina con marcas quitinosas sobre los tres primeros segmentos (figuras 4 a 6). Cuando está a punto de pasar al estadio de crisálida, sube por una pared y fija el estuche por la parte superior. Entonces se retrae al interior del estuche y se transforma en crisálida para realizar la metamorfosis. Cuando finaliza la transformación, la polilla emerge por el extremo inferior del estuche. En la imagen número 2, se puede ver un estuche en el que la larva está situada para realizar la metamorfosis. Y en las imágenes 1 y 3, se puede ver un estuche vacío en cuya parte inferior sobresale el resto de la cutícula de la crisálida. En las imágenes 7 y 8, se puede ver la polilla. Es de color gris con manchas oscuras en forma de bandas en las alas. Los adultos emergen en primavera, se aparean y la hembra deposita los huevos en interiores en zonas oscuras y sucias.

Fig 2. Estuche de polilla Phereoeca./ C. Pradera 04-2014

Hay varias especies del género Phereoeca que podemos encontrar en interiores. No son fáciles de distinguir unas de otras. Las especies citadas en la literatura científica son P. allutellaP. uterella y P. Lodli [1]. Es un género cosmopolita, ya que las hemos llevado por todo el globo. La polilla del estuche puede tener varias generaciones anuales. Se la empieza a detectar a partir de la primavera cuando sube por las paredes.

La polilla del estuche no está considerada plaga. O por lo menos, yo no la considero tal. No es un insecto comensal nuestro, ya que no se alimenta de nuestros alimentos. Tan solo aprovecha nuestros edificios que le otorgan protección. Una limpieza en profundidad de la casa, atendiendo a las partes inferiores de las habitaciones, es el mejor control. Así pues, la encontraremos en lugares donde la escoba no tenga cabida como garajes, trasteros, desvanes, locales cerrados, etc.

Notas:

[1] M. Huertas Dionisio. 2005. Estados inmaturos de Lepidoptera (XXIII). Dos especies de la familia Tineidae Latreille, 1810 en Huelva, España (Insecta: Lepidoptera). Shilap Revista de Lepidopterología, Vo 33, No 130, pp 113-122. Sociedad Hispano-Luso-Americana de Lepidopterología, España.

[2] C. Pradera. 01-12-2020. Polilla del estuche, Phereoeca (Lepidoptera, Tineidae), alimentándose de cadáver de ratón doméstico. El desinsectador y desratizador.

Fig 3. Estuche vacío de polilla Phereoeca./ C. Pradera 04-2014

Fig 4. Imagen de la larva de Phereoeca asomando la cabeza por un extremo del estuche./ C. Pradera 04-2014

Fig 5. Larva arrastrando el estuche./ C. Pradera 04-2014

Fig 6. Larva de Phereoeca arrastrando el estuche./ C. Pradera 04-2014

Fig 7. Polilla y larva de Phereoeca sobre papel milimetrado./ C. Pradera 04-2014

Fig 8. Polilla del estuche, Phereoeca./ C. Pradera 04-2014


miércoles, febrero 21, 2024

Así utiliza Corea del Norte la IA como ChatGPT para sus ataques cibernéticos: cada vez son más sofisticados, según expertos

Está Escrito:

El ladrón sólo viene para robar y matar y destruir; yo he venido para que tengan vida, y para que la tengan en abundancia. Yo soy el buen pastor; el buen pastor da su vida por las ovejas.(Juan 10:10-11)

Tomado de: Genbeta

Sus objetivos radican en perfiles de LinkedIn de trabajadores relacionados con empresas de defensa pública

Corea del Norte es un país que a muchos nos llama la atención por el misterio que hay alrededor y el hermetismo que tiene instaurado al aislarse del mundo completamente. Pero esto no les exime de tener un auténtico ejército de hackers que trata de robar tecnologías a todos sus enemigos, así como obtener la mayor cantidad de dinero para financiar sus programas nucleares.


Los hackers norcoreanos sin duda son realmente famosos al haber estado en activo durante mucho tiempo con ataques a la seguridad de empresas dedicadas a defensa o criptografía. Y para acceder a las entrañas de estas empresas que son objetivo de Corea del Norte usan precisamente LinkedIn para detectar a trabajadores potenciales y tratar de robar sus credenciales para el posterior acceso. 

Corea del Norte se convierte en un auténtico enemigo cibernético

Tras importantes operaciones como el robo al banco central de Bangladesh o contra el Servicio Nacional de Salud del Reino Unido, los hackers de Corea han tenido que buscar formas alternativas para seguir con sus 'tretas'. Y aquí es donde entra la inteligencia artificial como protagonista, tal y como confirmaban OpenAI y Microsoft.

Clint Patterson Dyeufb8kqjk Unsplash

Las fuentes recogidas por Financial Times apuntan a que ChatGPT está siendo usado por los hackers de Corea del Norte, China, Rusia o Irán para el "apoyo de actividades cibernéticas maliciosas". Corea del Sur fue precisamente uno de los países que detectó el uso de estas IA generativas en territorio de Corea del Norte al realizar una monitorización constante para detectar el mal uso a esta tecnología. 

Con esta IA generativa los hackers buscan imitar la capacidad humana para contactar con diferentes empleados clave a través de LinkedIn. Gracias a la ingeniería social, se trata de robar las credenciales o de que descarguen algún archivo que infecte su ordenador. "Se ha visto que los grupos de hackers de Corea del Norte crean perfiles de reclutadores de aspecto creíble en sitios de redes profesionales como LinkedIn", explican las fuentes sobre las 'tretas' de estos grupos.

De esta manera, se pasa del clásico correo con un botón para 'pulsar aquí' y con muchas faltas ortografías a perfiles detallados de LinkedIn y otras plataformas para contactar con los empleados. El caso más claro radica en el ataque a un ingeniero senior de un servicio de criptomonedas japonés haciéndose pasar por un reclutador falso que le pedía hacer un ejercicio técnico para una interesante oferta de trabajo. Solo tenía que descargar un software para hacer la prueba.

De manera añadida, esta inteligencia artificial permite ayuda a los hackers de Corea del Norte a crear malware con un mayor potencial, sobrepasando los límites que se imponían en la IA. Este potencial ha permitido que Corea esté implementando programas centrados en la IA en sus universidades y la creación de instituciones que persiguen su instauración. 

Lo que está claro es que aunque le vemos el lado positivo a las IA generativas, la realidad es que también puede tener aplicaciones muy negativas que puede comprometer la seguridad de un país entero. Porque ahora, las guerras poco a poco están pasando del campo de batalla tradicional al mundo cibernético, como vemos en los últimos casos reportados.

Imágenes | Clint Patterson Reuters


sábado, abril 22, 2023

11 ramas del diseño gráfico que debes conocer

Está Escrito:

Porque las cosas invisibles de él, su eterno poder y deidad, se hacen claramente visibles desde la creación del mundo, siendo entendidas por medio de las cosas hechas, de modo que no tienen excusa. (Romanos 1:20)

Tomado de: idat

El diseño gráfico no solo se trata de diseñar logotipos. Las ramas que estudia el diseño gráfico son diversas, hay una gran variedad de ramas en esta carrera que tal vez no conocías. Cada una de ellas es un mundo totalmente único por lo que un titulado del diseño gráfico profesional no podría dominarlas todas por completo.

¿Quieres saber cuáles son las ramas del diseño gráfico? Descúbrelos aquí:

Diseño web:

Si te especializas en la rama del diseño web podrás realzar la imagen de una compañía u organización a través de elementos gráficos reforzando su identidad visual.

La creatividad será tu mejor arma para innovar y lograr una estructura eficaz en la página web de tu cliente. Necesitarás hacer bocetos, definir colores y tipografía, tamaños de pantalla, símbolos, imágenes, entre otros factores para desarrollar un sitio web.

Si logras que los usuarios tengan una sensación de confianza con la página web que diseñaste, podrás decirte a ti mismo que cubriste sus expectativas.

Puedes trabajar en agencias de publicidad, empresas privadas y estatales, freelance, medios de comunicación, etc.

Diseño editorial:

En diseño editorial podrás diseñar publicaciones de carácter informativo, de entretenimiento y todo tipo de contenidos escritos, en algunos casos también con fotografías, ilustraciones y hasta animación. Podrás maquetar libros, revistas o periódicos. Puedes usar tu creatividad para manejar la estética de cada publicación, claro que, siguiendo los requerimientos de los editores, además de, encargarte del proceso de pre-prensa en el caso de medios impresos.

Puedes trabajar en editoriales, medios de comunicación, organizaciones del estado y no gubernamentales, agencias, freelance, etc.

Diseño de experiencia de usuario:

Esta es una de las nuevas ramas del diseño gráfico que surgió por la necesidad de hacer más fácil la usabilidad y accesibilidad del usuario por la interfaz. Las agencias de publicidad y grandes empresas de negocios están centrando todos sus esfuerzos en este sector por lo que esta especialidad es muy demandado en la actualidad.

Diseño textil:

Podrás desarrollar tu creatividad creando tu propia marca, diseño de colecciones de ropa dirigido a diferentes segmentos de consumidores y cadenas de tiendas. Esta rama también te permite crear tu propia empresa.

Diseño de envase:

Todos los productos que ves en el supermercado han sido diseñados con un propósito, convencerte de que lo compres. Algo así como “amor a primera vista”. Si crees estar hecho para esto entonces puede especializarte en esta rama del diseño gráfico profesional.

Aquí podrás enfocarte en la forma como se presentan visualmente los envoltorios o empaques de cualquier producto. Esto incluye diseño publicitario, diseño de stands, marketing, persuasión y percepción visual.

Puedes trabajar en empresas privadas de rubro comercial, freelance, etc.

Diseño de identidad corporativa:

Este es el diseño de marcas y requiere de mucha investigación y disciplina. Depende de ti cuál será la nueva personalidad de la empresa ante el público por lo que el mensaje debe ser claro, conciso y debe crear valor. Puedes trabajar para agencias de publicidad, corporaciones, freelance, gubernamentales, etc.  

Diseño tipográfico:

El diseño de caracteres caligráficos es todo un arte y podrás usar técnicas para crear y componer una gran variedad de tipos para comunicar un mensaje. Esta rama es muy exigente, son pocos los que se especializan en esta disciplina. También es considerada la más antigua y la más bella.

Gracias a este arte puedes dar una personalidad única y estilo a una palabra para diferentes usos en muchos contextos. ¿Crees que esto es para ti?

Diseño Multimedia:

Esta rama es muy amplia y puedes crear videos usando múltiples medios de expresión (texto, animación, sonido, video, efectos) para comunicar algo. Puedes crear increíbles spots publicitarios, videos de corte social, tráilers, etc.

Sin duda las agencias de publicidad y diversas empresas te querrán en su equipo.

Ilustración:

La ilustración publicitaria es la disciplina que utiliza técnicas del dibujo, el arte y el diseño con el fin de crear figuras o escenas susceptibles de mejorar o potenciar la imagen de una marca o producto.

Esta es una rama mucho más específica del diseño. Si te gusta dibujar y pintar esta especialidad es para ti. Los ilustradores suelen trabajar en editoriales, revistas, diarios, agencias de publicidad, freelance, etc.

Animación 3D:

La animación se encarga de dar vida a los objetos que creas. Esta rama del diseño gráfico está muy demandada por las agencias de publicidad al momento de realizar comerciales o spots. Eso sí, tienes que practicar mucho si quieres ser un experto al que quieran contratar.

 

Fotografía:

Te apasiona retratar momentos especiales, insólitos, artísticos, y más. En esta rama puedes capturar imágenes que transmitirán mensajes, emociones y sentimientos. Puedes trabajar en medios de comunicación, agencias de publicidad, empresas, freelance, etc.

Realmente los diseñadores gráficos son capaces de hacer diversos trabajos creativos que requieran del conocimiento de las ramas que hemos mencionado. Ahora que ya sabes que estudia el diseño gráfico puedes aprenderlas todas, sin embargo depende de ti en que te especializarás. ¿Ya elegiste alguna de las ramas del diseño gráfico que te mostramos? Potencia tu conocimiento con nosotros y conoce los detalles de lo que esta carrera te brinda, aquí.


martes, abril 18, 2023

¿Quieres usar Android en PC? Android-x86 libera Android 8.1

Está Escrito:

Pues por esto pagáis también los tributos, porque son servidores de Dios que atienden continuamente a esto mismo. Pagad a todos lo que debéis: al que tributo, tributo; al que impuesto, impuesto; al que respeto, respeto; al que honra, honra. (Romanos 13:6-7)

Tomado de: muycomputer

Android-x86 es una iniciativa no oficial para usar Android en PC, ampliando el soporte del sistema que lidera el segmento de la movilidad a todo tipo de ordenadores personales con procesadores x86 de Intel o AMD. Una opción factible hasta que Google considere fusionar definitivamente Android y Chrome OS en un solo sistema que sirviera para movilidad y también para PCs. Creemos que es cuestión de tiempo.

Si nos sigues, conocerás que Android-x86 estuvo aliado con Jide Technology (ex-empleados de Google) en el desarrollo del conocido Remix OS, un desarrollo muy interesante que fue descontinuado para el mercado de consumo dejando estos Android en PC en stand-by. Por lo menos siguen llegando versiones desde Android-x86 y el proyecto continúa. Lo último ha sido la liberación de la primera RC (Release Candidate) de Android 8,1, la última versión del sistema de Google.

Una vez instalado, puedes usarlo de la misma manera que utilizas Android en un smartphone, en este caso en un equipo de escritorio o portátil con ratón y teclado, que puedes descargar e instalar aplicaciones y juegos de Google Play Store o cambiar el lanzador predeterminado por defecto para lograr que Android se parezca más a un sistema operativo de escritorio.

Novedades Android-x86 8.1

Como anteriores desarrollos, Android 8.1 para PC está basado en el código del Google Android Open Source Project (AOSP) en su última versión ‘Oreo’ y cuenta con soporte para arquitecturas de 64 bits y 32 bits.

Una de las grandes novedades es la última pila para gráficos Mesa 18.1.2, que habilita la compatibilidad con aceleración por hardware OpenGL ES 3.x en las gráficas integradas de Intel, las AMD Radeon y las GTX de NVIDIA. Aunque está menos conseguido, también cuenta con soporte nativo para Vulkan, la plataforma de última generación para desarrollo de videojuegos y aplicaciones con gráficos 3D que es sin duda el mayor competidor de DirectX 12. También funciona en gráficas no soportadas mediante el OpenGL ES 2.0 vía SwiftShader para renderizado por software.

Android-x86 8.1 también ofrece compatibilidad con Arranque Seguro en máquinas UEFI, junto con soporte para instalar el sistema operativo en particiones basadas en UEFI / GPT. También está disponible un instalador basado en texto, y existe la posibilidad de montar automáticamente unidades flash USB externas y tarjetas SD.

Android-x86 8.1 ha mejorado el soporte para varios apartados de hardware, la tecnología multitáctil, audio, Wi-Fi, Bluetooth, sensores, cámara y Ethernet (solo DHCP).

También se ha añadido un lanzador alternativo que coloca el menú de inicio y la bandeja de apps en la parte superior de la pantalla y se mantiene el soporte para desarrollos de terceros lanzadores como Sentio Desktop, que busca precisamente que Android se parezca a un sistema operativo de escritorio.

Android-x86 8.1 se ofrece en versiones de 32 y 64 bits y en formatos .ISO y .RPM. Incluye una opción de instalación automática que facilita la rápida instalación de Android en la primera partición disponible, suponiendo que quieras que sea el único sistema operativo de un dispositivo. También puedes instalarlo en otras como cualquier sistema o ejecutarlo en una máquina virtual (WMware, Virtual Box..), ideal para pruebas sin tener que tocar tu equipo con Windows o Linux.



martes, octubre 18, 2022

Emuladores de Nintendo: Switch, Wii, Wii U, Nintendo 64, Game Boy, DS, NES y SNES

Está Escrito:

Mirad bien, no sea que alguno deje de alcanzar la gracia de Dios; que brotando alguna raíz de amargura, os estorbe, y por ella muchos sean contaminados; (Hebreos 12:15)

Tomdo de:adslzone.net

Emuladores de Nintendo: Switch, Wii, Wii U, Nintendo 64, Game Boy, DS, NES y SNES

Índice