Mostrando entradas con la etiqueta android. Mostrar todas las entradas
Mostrando entradas con la etiqueta android. Mostrar todas las entradas

sábado, 6 de agosto de 2016

Cómo descargar APKs de Google Play

Lo siento mucho por esta mini-entrada, pero tenía necesidad de descargar una aplicación desde Google Play al ordenador.

Las apps de Android tienen formato APK y con un poco de mañana se pueden descargar al disco duro para analizarlas. Sabía que había uno de los blogs que sigo donde ya lo contaron y volviendo a buscar lo encontré.

Desde Estación Informática lo cuentan.

El servicio se llama APK Downloader, y pertenece a Evozi.com.

Te pide la URL directa de la aplicación en el market de Google.

APK Downloader - Evonzi.com
APK Downloader - Evonzi.com

Al introducir la URL y pulsar el botón Generate Download Link. ¡Ojo! Aquí os pueden colar anuncios, cookies, etc. En mi caso he tenido que hacer la operación dos veces para la primera vez. Así, el resultado que devuelve con esta entrada es:

ApkDownloader - Descargar APK
ApkDownloader - Descargar APK
Lo primero que voy a hacer va a ser poner en uno de los laterales esta herramienta web para tenerla a mano.

viernes, 9 de enero de 2015

HangOutOn: Seguridad esencial en Android

Ayer jueves 8, se hizo un hangout por parte de HangoutON, en el que moderaban Yolanda Corral (@yocomu) y Antonio Postigo (@antoniogestion).

Los participantes, unas joyas:


A las preguntas de las formas de securizar, unas pinceladas de qué se puede hacer para tener los dispositivos seguros, eran, por ejemplo, el tener cuidado con las redes wifis a las que se accede, o los lugares donde descargarse las aplicaciones o, aunque aquellos markets sean oficiales, asegurarse de que la aplicación que se quiere descargar no es una falsa.

Además, también se ha hablado no sólo de móviles, sino también de otros dispositivos como, por ejemplo, las tablets. Independientemente de los dispositivos, el tener cuidado con cómo se configura el dispositivo para que los niños lo puedan usar de manera segura.

Más ejemplos: el soporte multiusuario que permite que ciertos usuarios no puedan hacer determinadas acciones.  Una aplicación que han propuesto es Knox, si bien otro ponente (Edu, si no recuerdo mal), ha indicado que parece ser que se ha encontrado un bug que permitiría saltárselo.

Una comparación que también han hecho es comparar las tables y su uso por los niños con dejarle al crio un Ferrari cuando no ha conducido nunca.

Se han hecho preguntas como, por ejemplo, ¿realmente hace falta un antivirus en el móvil?¿Cómo es de eficaz? Josep, que trabaja para ESET, reconoce que hacen bastante bien su trabajo, aunque no sean capaces de parar un 100% de las amenazas.

Se han nombrado otras aplicaciones como Prey y Cerberurs, cuya funcionalidad es la misma: poder acceder al móvil en remoto si este fuera robado.

Se ha podido ver que cada uno de los participantes indicar que algunas temas los puede tratar otro de sus compañeros.

Después de que se me cortase la conexión, he llegado cuando estaban hablando de los tap jacking.

Han respondido las preguntas de distintas preguntas.

Y ahí lo he dejado, no he podido continuar mucho más.

La verdad, el formato me ha gustado mucho. He podido ir escribiendo este post mientras que se estaba realizando el evento. Espero poder repetir, aunque sea un rato, otros HangoutsON.


lunes, 24 de noviembre de 2014

Review: Desarrollo de aplicaciones Android seguras

Hace bastantes meses (allá, por la RootedCon de este año) que tenía este libro y por aquel entonces lo empecé a leer. Pero esto es lo típico, empiezas a leer, lo dejas, continuas, lo dejas... Por lo que no está leído del tirón. También he de decir que el año pasado ya me hice el curso de desarrollo de aplicaciones Android impartido por la Universidad de Valencia desde la plataforma Miriadax, y antes estuve jugando con material que me pasó Marc Rivero (@Seifreed).

¿Qué puedo contar del libro?

Está escrito por Miguel Ángel Moreno, y es la edición en la que aún se muestra el membrete de Informática 64.

Está muy bien estructurado. Si ya has trabajado con java te resultará fácil entenderlo. Al menos, el funcionamiento de cómo estructurar cada una de las partes de las que se tiran para conseguir que se ejecuten las acciones deseadas. En cada capitulo nos enseñan cómo hacer crecer la aplicación, empezando por construir sólo el diseño visual a través del cual queremos que se muestren los datos y que el usuario interactue con ella llegando a almacenar los datos con los que trabaja. Si sólo te dedicas al desarrollo puro y duro, lo más complejo que te puedes encontrar es el diseño puramente visual. Además, a medida que se van leyendo los capítulos, se van teniendo ejemplos prácticos con los que se pueden probar cada una de las técnicas que te están enseñando en ese instante.

No voy a negar que le he encontrado un pero. No sé si es porque esperaba algo más o que al leerlo tan a trompicones ha tenido algo que ver o simplemente que no hay mucho más que contar de lo que yo esperaba, pero me ha dado la sensación de que aún le falta algo más sobre seguridad. Hay un capítulo en el que sí se dan consejos de sobre temas de seguridad, como por ejemplo, el almacenamiento de información crítica (por ejemplo, credenciales de usuario) o transmisión de la misma utilizando las telecomunicaciones, cómo asignar los permisos necesarios para que al instalar la aplicación ésta funcione o cómo almacenar los datos para que otras aplicaciones puedan (o no) acceder a ellos... Es cierto que antes de ver cómo diseñar un programa seguro hay que empezar por saber cómo desarrollarlo desde el principio. Aún así, me he quedado un poco desencantado, la verdad.

Además de la creciente dificultad que van teniendo cada uno de los capítulos del libro, podremos ver los distintos ejemplos que se van mostrando, a cada uno de ellos más vistosos.

Por favor, todos aquellos que lo hayan leído, estaría bien poder contrastar mi opinión con la vuestra.

lunes, 26 de agosto de 2013

Backtrack en Android

Esta es una de esas que hubiera jurado que ya la había escrito. Me he puesto a buscar, pero no encuentro nada. Si alguno, por casualidad, la encuentra, por favor, avisadme.

Hace tiempo conseguí montar backtrack en mi Android. Todo sea dicho, lo tengo rooteado. Y, además, no funciona como el sistema operativo principal. Como esto lo hice hace tiempo, habrá cosas que no pueda explicarlas de forma exacta. Aún así, espero hacerlo lo mejor posible.

Lo primero de todo es bajarse el fichero comprimido con todo lo necesario. Para eso, habrá que ir a la página oficial. Una vez hemos hecho click sobre download, nos ofrecerá un combo con varias opciones. Hay que escoger backtrack 5. Una vez seleccionada, tendremos que escoger la plataforma, que, en nuestro caso, será arm. Ahora ya lo puedes descargar.

¿Lo has descargado ya? Perfecto. No hagas nada hasta el final, ¿eh? Vas a necesitar espacio en el móvil. Recomiendo seguir estos pasos que te serán necesarios. ¿Por qué? Porque si intentas descomprimir el fichero que te acabas de descargar en una partición NTFS o FAT no podrás: Hay un ficheor de un tamaño mayor al que soportan.

¿Has particionado ya tu móvil? Si es así, podremos continuar. Pero, ten en cuenta que necesitarás utilizar el terminal del móvil para ejecutar los comandos que te indicaré aquí.

Conecta tu móvil al ordenador. Ahora, copia el fichero sin comprimir en alguna de las unidades USB que te ofrezca tu dispositivo. ¿Ya lo tienes? Bien.

Ahora, tendrás que utilizar tu móvil. Ahora, esto me acuerdo muy bien cómo lo hice. A ver si puedo hacer un poco de memoria.

Vamos a necesitar montar la partición grande. El lugar que yo he decidido montarla es en /data/local/sdcard. Por lo tanto:

mount -t ext2 /dev/block/vold/179:10 /data/local/sdcard

Ahora que tenemos la partición grande montada, podremos descomprimir el fichero en esa carpeta. ¿Cómo lo hacíamos? Pues, revisando bien los parámetros que me ofrece, tendríamos que hacer algo parecido a:

cd /mnt/emmc/
unzip bt5.zip -d /data/local/sdcard

Mucho ojo no vaya a ser necesario cambiar el nombre de bt5.zip a bt5.ZIP. Si todo ha ido bien, prácticamente ya lo tendremos. Ahora, podremos ejecutar:

cd /data/local/sdcard/bt5

y, si así se llamaba la carpeta que contenía bt5.zip, tendremos el contenido de lo necesario (en teoría) para arrancar backtrack.

Hay que abrir el fichero bootbt. El contenido será muy parecido a este:

perm=$(id|cut -b 5)

if [ "$perm" != "0" ];then echo "This Script Needs Root! Type : su";exit;fi

#m·ount -o remount,rw /dev/block/mmcblk0p2 /syem
mount -o remount,rw /dev/block/mtdblock2 /system
#mount -t ext2 /dev/block/vold/179:10 /mnt/local/sdcard/
export kit=/data/local/sdcard/bt5
export bin=/system/bin
export mnt=/data/local/mnt/emmc2
mkdir -p $mnt
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export HOME=/root
if [ -b /dev/loop2 ]; then
        echo "Loop device exists"
else
        busybox mknod /dev/loop2 b 7 0
fi
busybox mount -o loop,noatime -t ext2 $kit/bt5.img $mnt
mount -o loop,noatime -t ext2 $kit/bt5.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "nameserver 194.179.1.100" > $mnt/etc/resolv.conf
echo "nameserver 194.179.1.101" > $mnt/etc/resolv.conf
echo "127.0.0.1 localhost bt5" > $mnt/etc/hosts
busybox chroot $mnt /bin/bash

echo "Shutting down BackTrack ARM For Xoom"
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt

--

Mucho ojo que si no usas las mismas rutas las tendrás que cambiar. En mi caso, estas no me dan problemas. Para cambiarlo tendrás que utilizar vi:

vi bootbt

No es sencillo utilizarlo. Lo importante es que para poder modificar el fichero hay que darle la primera vez a la i. Después, para grabarlo, hay que escribir:

:wq

Ya grabado, podrás ejecutar:

./bootbt

Y deberías de tener un prompt con colorines que te indicará que ya estás utilizando backtrack en modo consola. Más adelante ya contaré más al respecto.

lunes, 27 de mayo de 2013

Android: R cannot be resolved to a variable

Desde ayer sábado, y ahora mismo, estoy teniendo un problema con el entorno de desarrollo de Android en Eclipse. Me está dando un error muy curioso en el que me indican que

R cannot be resolved to a variable

Para explicarlo de forma rápida, R es un objeto que se genera a partir de los recursos que vamos creando en una carpeta interna cuyo nombre es res (procedente de resources). En esa carpeta hay una serie de subcarpetas con sus nombres predefinidos donde se introducen ficheros xml, imagenes, música. Dependiendo de su tipo, se podrá acceder a ellos por el nombre R.tipoDeRecurso.nombreQueLeHemosPuesto.

En fin. La historia es que R debería de existir siempre. Pero, por desgracia, parece ser que a veces se producen una serie de problemas que harán que éste no se vaya regenerando (o que se pierda) y, por lo tanto, nos dará el error que tenemos en el título de este post.

He estado haciendo una serie de búsquedas y estos son los consejos que van dando para solucionarlo. A unos les funciona, a otros (como ahora mismo a mí) no. Recomiendo leer todo hasta el final y después ponerse a probar, no vaya a ser que os llevéis alguna sorpresa. 

  • Hacer un clean y un rebuild del proyecto. Incluso, recomiendan que antes de hacerlo, quitar la opción de build automatically. Todo ello desde el menú proyect.
  • Hacer la primera opción y después, reiniciar el Eclipse. 
  • Verificar los recursos:
    • Los nombres de los recursos tienen que estar siempre en minúsculas. El consejo que dan es que si quieres alguna diferenciación, en vez de utilizar formatoCamello.xml (que estaría mal) utilices formato_no_camello.xml. 
    • No sólo es el nombre del continente el que pueda estar mal, sino también su contenido. Si hay algo mal diseñado, por ejemplo, en algún fichero xml, también podrá dar ese error. Podría ser que, por poner un ejemplo, se esté referenciando en un recurso existente a otro inexistente (por poner un ejemplo: un listado [array], una cadena string [que permitiría hacer internacionalización], etc, etc).
      • Recordar que según para la versión de API (versión mínima para la que se esté programando la aplicaicón), en el layout habrá que ver si estamos utilizando un fill_parent o un match_parent.
  • Parece ser que también podría ser algún tipo de error en la sincronización con el workspace o si se está haciendo un rebuild del mismo. Dicen que podría ser por tener un equipo algo lento. 
  • El hecho de estar importando en tus clases java com.nuestroproyecto.R. Y, aún así, cuando lo hago, me da una alerta (y en vez de no encontrar R, no me encuentra los recursos). Esto te podría pasar, por ejemplo, si utilizas Ctrl+Shift+O para que te importe directamente los paquetes necesarios y te los deje bien ordenados.
  • El fichero AndroidManifest.xml es un fichero base para la aplicación. En él se indican cosas tan importantes como las clases que podrán mostrar las pantallas (clases que heredan de Activity o sus herederos), el estilo de toda la aplicación, etc. Si has reutilizado alguno, ahí tienes el problema. Entre otras cosas, verifica que el paquete en el que debería de encontrar tus Activities es correcto.
  • Botón derecho sobre la carpeta del proyecto, ir a Android tools y después a Fix proyect properties. También míralo si por algún casual has cambiado el nombre del paquete. 
  • En las propiedades del proyecto, ir a java build path y mirar si la librería de Android numversion está con el tick. Hasta ahora no lo estaba, y lo he intentado, pero nada. Aún así, al reparar las propiedades del proyecto, parece que me lo han desmarcado. De todas formas, alguien ha dicho que se le solucionó así. En la pestaña Order and Export tendrían que aparecer tanto la carpeta NombreProyecto/src como NombreProyecto/res.
  • Comprobar si tu sistema operativo es 64 bits y el entorno de desarrollo que usa las librerías y paquetes de Android son para 32 bits. Ya sea el ADT, el jdk... No debería de ser el problema si antes te funcionaba. 
  • Vete a Android SDK Manager, desde el menú Window. Actualiza las cosas que te diga. Entre otras cosas, instala el SDK platform
  • Hay un error que no acabo de entender. Lo llama hierarchical parent error: viene a decir que, si por algún casual debajo de la carpeta gen tienes un R.java, lo elimines. Evidentemente, después tendrás que volver a hacer un clean y, si es que no se hace automáticamente, un rebuild. Yo recomiendo que en este caso no se haga automáticamente. En mi caso, no es posible eliminarlo porque no existe/ha desaparecido. 
  • Hay un ejemplo que ponen en el que la ruta al sdk tiene que terminar en "/" (barra). Es un ejemplo con rutas en Linux. 
  • Copipasteando: "I got this error after i have typied & symbol in string.xml file". 
  • Otro posible error es haber puesto un .js en una carpeta que no sea assets.
  • Eliminar la carpeta /res/raw con todo su contenido, volver a crearla y volver a hacer el proceso clean/rebuild.
  • Actualizar los plugins de Eclipse: Menú Help --> Check for updates. Aunque no sea esto, nunca está de más actualizarlos. ¿No?
  • Otra, que se me estaba ocurriendo mientras que estaba escribiendo estas líneas: reiniciar el ordenador. No es normal que si creas un proyecto totalmente nuevo, te de estos errores. 
  • Si reiniciando veis que sigue dando ese error, podéis volver a probar lo anterior. Por ejemplo, una vez reiniciado, si haciendo limpieza y volviendo a reconstruir no funciona, ni siquiera dándole a la opción del fix con desde las herramientas de Android, puedes ir a sus propiedades, y en el build path mirar si la versión está seleccionada o no (tal y como expliqué más arriba. Es más, recomiendo mirar una vez más las actualizaciones. Si has tenido que actualizar, una vez reiniciado el Eclipse, podrás hacer el clean & build.
En mi caso, he hecho un montón de todas estas cosas, pasando por el clean, rebuild, cerrar y abrir el Eclipse, actualizar todo lo actualizable, reiniciar el equipo, volver al clean, build, ir al java build path... Unas cuantas horas para conseguir solucionar todo esto, y, de paso, de vuelta al proyecto original, que me dejase arreglar cosas que antes no me decía que estuviesen mal. 

Total, que si te da ese problema, estas son muchas de las razones por las que te puede estar dando la brasa y no te deje trabajar. Eso si, si sabéis de alguna otra no enumerada aquí, por favor, ponedla en los comentarios. 

Algunas fuentes de donde he podido obtener esta información:
  • StackOverflow: Algunos de los enlaces aquí referenciados están indicados en las primeras respuestas. De hecho, dos de ellos ya los había encontrado antes de ver esta pregunta.
  • StackOverflow: Bastantes ejemplos/posibles soluciones. Me ha gustado mucho por eso. 
  • StackOverflow: Actualiza el SDK platform, hierarchical parten error,  carácter especial en el strings.xml...
  • Ejemplo, con captura incluida, de los nombres en mayúsculas. Otra solución al otro posible problema:  main cannot be resolved or is not a field. Sustituye main por el nombre del recurso.
  • StackOverflow: Más ejemplos (por ejemplo, las carpetas de Order and Export). $%!¿¡¿?!!. Acabo de perder el enlace a este post.

lunes, 11 de febrero de 2013

Hacker's keyboard

¿Cuántos de vosotros tenéis un Android? ¿Y cuántos de vosotros le habéis puesto un terminal?

Terminal en android
Terminal en android 
Seguro que muchas veces habéis necesitado pasearos por los directorios y utilizando el teclado del propio dispositivo, el Swype, el Touchpal... y ha sido un infierno. Hoy os traigo un teclado que está bastante bien a la hora de utilizar el terminal. Se trata del Hacker's keyboard.

Este teclado, con la pantalla en vertical, no difiere en prácticamente nada con respecto al resto de teclados:

Teclado Hacker's keyboard - Vertical
Teclado Hacker's keyboard - Vertical
Y, si hiciese falta utilizarlo en este modo, la verdad, no merecería la pena dejarlo puesto. No tiene, a día de hoy, escritura en modo swype (recordemos cómo algunos nombres propios acaban quedándose como nombre genérico. Ej: ¿Cómo se llama el aparato para ayudar a escuchar a los sordos?).

Por lo tanto, lo mejor es ponerlo en modo horizontal:

Teclado Hacker's keyboard - Horizontal
Teclado Hacker's keyboard - Horizontal
Lo mejor de todo es que haciendo alguna combinación de teclas permite realizar acciones del estilo del Tab, que, si se está escribiendo en la consola, permitirá autocompletar. O, haciendo memoria, VolMinus-C es como tener pulsado Ctrl+C.

De hecho, como se puede apreciar en la siguiente imagen

Teclado Hacker's keyboard - Horizontal. Ctrl y Alt activadas
Teclado Hacker's keyboard - Horizontal. Ctrl y Alt activadas
no hace falta tener pulsadas las teclas de Alt o Control al mismo tiempo que la tecla auxiliar. El indicador luminoso de color indica si están pulsadas o no.

Presionando la tecla Fn, podremos utilizar más teclas, como son las teclas FX, PagUp, PagDown, Insert, Delete...

Teclado Hacker's keyboard - Horizontal utilizando tecla Fn
Teclado Hacker's keyboard - Horizontal utilizando tecla Fn
Y, seguro que tiene muchas más opciones con las que no he podido jugar. Lo que sí que tengo claro es que para estos casos es el mejor teclado que se podría utilizar.

lunes, 14 de enero de 2013

Blug en Android

Si os preguntáis qué es blug me lo acabo de inventar. Es una mezcla muy rebuscada que he querido montar para indicar un blogger bug. En este caso, en Android.

¿En qué consiste? Son dos.

El primero, si se te olvida poner un post sin título, no lo muestra en el listado de publicados (y, posiblemente, tampoco aparezca en borradores).

El otro, no menos importante, si tienes borradores con una fecha futura, no aparece en el listado.

Y,  esto de que no vea las imágenes que quiero subir, como son los pantallazos...

jueves, 29 de noviembre de 2012

Android en modo monitor

Hace un mes, en el Asegur@IT Camp 4, David me comentó que había un proyecto en Google en el que habían estudiado cómo poner los Android en modo monitor

El caso es que no he podido hacer nada al respecto, pero, leyendo los feeds retrasados, he visto que desde Hackplayers se han hecho eco del proyecto:

Crackea redes wifi con tu Android (en modo monitor)

A ver si puedo probarlo pronto. Aún así: ¿Lo habéis probado?

lunes, 15 de octubre de 2012

Particionando Android

¿Cuántos de vosotros habéis instalado Linux a manubrio alguna vez? Supongo que la pregunta debería de ser: ¿Cuántos de vosotros habéis particionado alguna vez una unidad X desde Linux?

Mmmh… Bueno. Para los que no lo hayan hecho, vamos a verlo. Y para los que sí lo hayan hecho, os lo refresco, por si las moscas. Lo haré a mi manera. Por lo tanto, puede que no sea del todo exacto, pero, para realizar la tarea básica, puede bastar.

Lo primero de todo, y muy, muy importante. Las operaciones que haremos aquí harán que los datos se pierdan. Por lo tanto, cualquier dato al que le tengas mucho aprecio y que se encuentre en el equipo que utilices para realizar todas estas operaciones, hazle un backup. Por si las moscas. Cualquier cosa que suceda, no me responsabilizo. Vamos, típico disclaimer de exoneración de responsabilidad.

Lo siguiente: ahora mismo (justo cuando estoy editando estos párrafos), no puedo asegurar que vaya a funcionar del todo. Léete todo antes de realizar cualquier operación.
Paso 1: Localizar la unidad que queremos particionar. En Linux, los dispositivos se encuentran en la carpeta /dev.

Si es un dispositivo IDE, su nombre será hdX donde X será a, b, c o d según la posición donde se encuentre instalado en la placa base. Si tiene un número, ése indica la partición detectada.

Si es un dispositivo SATA, USB… su nombre empezará por sdX. La X será abc… no se hasta cuándo terminará, la verdad. Y no se en qué se basa para asignarlas. Lo normal es que vaya asignando según vayan haciendo falta y de manera consecutiva. Pero, no sería raro que alguna vez me haya puesto otra que no me esperaba.

Paso 2: Ejecutar el comando fdisk para realizar la partición. Lo podemos lanzar de esta manera:

fdisk /dev/sdb

Donde el parámetro que necesita fdisk es el dispositivo, y no la partición.

Paso 3: Manipular la tabla de particiones elimando las que hagan falta, creando nuevas, indicando el sistema de ficheros que planeamos alojar, y guardando los cambios (o saliendo sin guardalos).
--

Un ejemplo práctico. Tenemos una nueva tarjeta microSD en nuestro flamante super Android Modelo Cojojundo XYZ con una ROM CyanogenMod9 (vale, ahora acaba de salir el 10, es un ejemplo!). . Queremos particionar la tarjeta por cualquier motivo. El que más os guste.

Termial en Android - Donde 'au' debía de ser 'su' 
Abriremos el emulador de terminal que tengamos instalado (repito: necesitamos un terminal instalado en el móvil), y elevar privilegios con su.

Ahora, necesitaremos saber cómo identifica el móvil las tarjetas. Un problema: no es hdX ni sdX. Una opción para saberlo sería googlear. ¿Para qué, si lo puedo decir yo? Las tarjetas las identifica en

/dev/block/vold/*

donde el asterisco será un número, como, por ejemplo, 179:8. A ver. El problema está en que no conseguí hacer funcionar esto del todo desde el móvil la primera vez que lo hice. No se si es que no guardé bien la tabla, pero el resultado que obtenía era raríiiisimo.
También hará falta saber dónde está montada. Normalmente se indentifica ejecutando

mount

y obtendremos el listado de los dispositivos montados en qué carpetas.

Sigo contando el proceso que hice (o que debería de haber hecho [esta segunda vez, lo voy a repetir mientras lo escribo], a ver si ahora me sale a la primera).

fdisk /dev/block/vold/179:8

Nos pide que introduzcamos el parámetro deseado. Pulsaremos "m" (sin comillas) para pedir la ayuda. Queremos eliminar las particiones que nos solicite, Para ello pulsaremos la letra "d". Pondremos una a una cada una de las particiones que tenemos. Se pueden ver si, estando en el prompt que nos pide hacer una acción, ponemos una "p". Así:

Imprimiendo las particines existentes
Imprimiendo las particines existentes
Eliminando las particiones de la tarjeta microSD
Eliminando las particiones de la tarjeta microSD 
Posiblemente, lo mejor sea guardar con "w" (lo veremos casi al final), y continuar por aquí. Si te sale otra partición "rara" o "enana", podrás eliminarla y ahora, sí que sí, intenta continuar.

Y ahora creamos las particiones. Le diremos que queremos que sean primarias,("p", de primaria y, otra vez, sin las comillas), un número de partición, en mi caso será 1 y 2, y un tamaño, yo pondré 7GB y 8GB respectivamente. Con un ejemplo debería de bastar:

Creando nuevas particiones, 7GB y 8 GB
Creando nuevas particiones, 7GB y 8 GB 
Una vez tenemos las particiones hechas, tendremos que seleccionar el tipo de sistema de ficheros que alojaremos para cada una de las particiones realizadas. Para ello, podremos buscar con la "l" (L minúscula) el listado con los códigos necesarios:
Listando los distintos tipos de particiones disponibles
Listando los distintos tipos de particiones disponibles 
que serán los que más te plazcan. Para que la partición sea visible con el terminal conectado al USB será necesario utilizar el código C (antes estaba usando el 7). Se podrá cambiar utilizando el "paramétro" "t":

Cambiando los tipos de particiones
Cambiando los tipos de particiones 
Para terminal con el fdisk,

Ahora, sólo queda salir presionando la tecla "w". Si te arrepientes de cualquier cambio, puedes salir introduciendo como parámetro la "q" (¿se ve que es una Q minúsucla?).

¿Guardando tabla de particiones?
¿Guardando tabla de particiones? 
Mmmh.... Pues... no. No me ha funcionado. Se ha quedado tal y como lo tenía antes de escribir este post. Es decir, al conectar el USB, se muestra la partición de esa tarjeta con el fichero ya que tenía dentro.

A reiniciar, entre cada operación, sí que han empezado a salir. Por lo tanto, la clave parece estar en que cuando se eliminan las particiones, tenemos que reiniciar el terminal y continuar con el proceso por donde lo hemos dejado.

He de reconocer que cuando lo hice la primera vez, lo acabé haciéndolo desde una VM, pero es muy raro. Sin reiniciar dice que sí, que está hecho, pero... No se.

Ahora que parece que están las particiones, puedo hacer el formateo.

mkfs.vfat -F 32 /dev/block/mmcblk1pX

donde la X será el número de partición.

Si te sale un error como "value too large for defined type" se resuleve... con el comando

newfs_dos /dev/block/mmcblk1p1
Lo he encontrado aquí.

Total, y para resumir:
- desmontar las particiones de la tarjeta:
- fdisk: eliminar partciones con "d". Reiniciar por si las moscas.
- fdisk: crear las particiones. Ojo: acordarse de poner el símbolo "+" (más) antes del valor del tamaño y las unidades (muy importante). Indicar el tipo de particion si se quiere cambiar.
- fdisk: ¿Reiniciar?
- Formatear (si se deja)

Y ya está!!

Soy consciente de que es mucho lío lo que he puesto. Esa es la razón del resumen. Y también que la primera vez que lo hice hace unas semanas fue haciendo trampa: conectando el adaptador de microSD a SD y después, desde una VM particionándolo. En principio, el comando newfs_dos debería de funcionar bien. El resto, os lo dejo a vosotros!!

Update, 2013-08-21: He actualiazdo los estilos. Se me habían puesto horrorosos.

martes, 12 de junio de 2012

Probando Virustotal para Android

Cono ya he comentado en el anterior post, acaban de sacar Virustotal para Android.

Y me la he instalado.

Lo primero de todo, va a hacer falta una conexión a Internet para poderla utilizar:

Requiere internet

Esto es lo que me ha dicho después de cerrar la aplicación y haber visto que podía estar chupando mucha conexión. La he quitado y... al volver a entrar me ha puesto el mensajito.

Al arrancarla por primera vez (con el Internet puesto) pude unos pantallazos como el siguiente:

Ejemplo de checkeo del sistema

Y, obtenemos resultados varios:

Resultados varios: Sin virus, sospechosos y... quí lo sa?.

Se pueden observar varios resultados:

Uno, positivo (bueno) que las casas antivirus no han detectado que estén infectados. Es el caso de los Androides verdes:

Resultado bueno

Otro caso, es que se obtenga un positivo (es decir, algo malo): ¡Alerta!. Tenemos un Android rojo:

Resultado malo

Incluso podemos averiguar qué casa(s) de antivirus han detectado/sospechado de la aplicación:

Casas antivirus

En este caso, es Avast quien encuentra una amenaza en esta aplicación. La verdad, no he podido averiguar qué es, pero no voy a esperar a ver qué sucede. Sabemos que es muy sospechoso y con eso debería de bastar. 

Y los interrogantes... No tengo ni idea. Me están pidiendo un usuario y contraseña:

API key settings

Poco más puedo contar al respecto. Me he econtrado con que una aplicación que se suponía que tenía que ayudar a alertar sobre el uso del DroidSheep, parece que tiene un coladero por ahí. De todas formas, una vez investigado, ya veré si la vuelvo a enchufar. 

Por cierto, mucho ojo que hay otra aplicación con el mismo logo pero que no está a nombre de Virustotal. Es muy sospechosa. Es la del Virustotal Uploader. Mientras que no se sepa nada (si es que no se sabe ya), no la instaléis!!

¿Qué os ha parecido la herramienta? Espero vuestras respuestas!!











lunes, 6 de febrero de 2012

Flasheando el Android - Cyanogen

Creo recordar que hace un tiempo os comenté que me compré un Android. Era de segunda mano, comprado por eBay. Estuve tres días sin ponerle ni una sola contraseña. Al final, me atreví. Y sí, tendría que haberlo reseteado desde entonces. Más vale tarde que nunca.

La cosa es que quería tumbarlo. Hace unos meses me contaron de una ROM que va muy bien para el Samsung Galaxy S. Esa ROM  se llama CyanogenMod. Es lo que se llama una ROM cocinada. Bueno. Pues este viernes pasado, me puse a trabajar sobre ello.

¿Cómo la instalé? Me puse a buscar la documentación. Y, he de decir, que no está muy clara. Parece un poco anticuada... O que sirve para alguna versión del Android en concreto... No se. Ahí me arriesgué bastante.

Lo primero de todo, la información que puede ser de utilidad para hacer la instalación es encontrar el wiki. Sí. Lo primero que llama la atención, y es para volverse loco buscando, es que te lo muestran como si sólo fuese para actualizar tu versión de Cyanogen. Después descubres en un foro que dan a entender que ese es el sitio para seguir las instrucciones para la instalación.

Yo voy a decir los pasos que seguí, teniendo en cuenta que uno de los programas que pedían ya lo tenía instalado. Si vas a intentar hacer esto ten en cuenta que la garantía la invalidas y que puedes hacer lo que llamo embrickar al móvil. Embrickar, procedente del inglés to brick. Es decir, convertir el terminal en un ladrillo. Para el que no entienda este disclaimer: si te cargas el móvil, es tu responsabilidad (y no la mía) y no me vengas llorando.

Primero, descargar los ficheros necesarios. Serán el propio sistema operativo y el Market, que no está incluido en la instalación. Guárdalos en un lugar que sea fácil de acceder.
También tendrás que instalar lo que llaman... ClockworkMod. Yo ya lo tenía instalado. Siento no poder ayudaros en esto. :(

Conecta el terminal en el USB y aceptas que se ponga en ese modo. Tendrás que guardar los ficheros descargados (el sistema operativo y el Market) la raíz. A ver, podría ser en otro lugar que te ofrezca, pero será más fácilmente accesible después desde el móvil.

Lo siguiente es hacer una copia de seguridad de tu terminal, por si algo va mal. Los programas que usan ClockworkMod te permiten hacer una especie de imagen que almacenan el backup en alguna parte de la tarjeta interna. En este sitio parece que indican que, instalando el ClockworkMod, puedes reiniciar el equipo en modo recovery con

reboot recovery

Incluso en ese enlace parece que te indican cómo hacer la instalación de esta herramienta.

Para recapitular: hemos copiado los ficheros necesarios al móvil, hemos hecho un backup, hemos copiado los ficheros a una localización de nuestro disco duro (que nunca está de más) y acabamos de reiniciar en modo recovery.

Este modo es un menú en el que la pantalla no será tactil. Para navegar por los menús se utiliza el botón del volumen y para aceptar, se utiliza el botón central.

El siguiente paso es hacer un pequeño formateo o un wipe. Aquí es donde puede liarse un poco la cosa. No lo explican del todo bien. Yo hice una eliminación de TODOS los datos y de la caché. Cuando se acaba el proceso y ya tienes el terminal operativo, no se sabe muy bien qué ha eliminado porque te encuentras con muchos datos que ya tenías. Pero hay que hacerlo según las instrucciones. Así que...

Ahora, tendrás que seleccionar en el menú Install zip from sdcard y choose zip from sdcard. Tendrás que seleccionar el fichero zip que tiene el sistema operativo. Y aquí, tocará esperar hasta que te pida el PIN de tu tarjeta SIM.

Supongo que querrás el Market. Tendrás que volver a acceder al recovery y repetir la operación del párrafo anterior. Si no se te reinicia sólo, navega por el menú hasta el principal, en el que puedes hacer dos cosas: decirle que apague el terminal y encenderlo por ti mismo, ó, reiniciar (que no lo encontraba hasta que acabo de empezar a escribir este artículo).

Con el Market instalado, te queda recuperar las aplicaciones que instalaste con tu cuenta de Google. Te logueas como si estuvieses en gmail y las aplicaciones que tenías instaladas, te aparecerán como installed. No es del todo cierto, pero puedes volver a indicar que te la instale.

Ahora queda configurar el trasto a tu gusto.

Parece que es complicado, pero al final, una vez hecho, es una pequeña chorrada. El problema está en acostumbrarse al nuevo formato en el que te presentan las cosas, o el instalar el ClockworkMod.

Aún así, si queréis una pequeña ayuda de cómo se podría hacer, aquí os dejo un vídeo, en el que llama la atención el nombre del fichero de la imagen del sistema operativo (por eso también me mosqueaba bastante):



Como de costumbre, cualquier comentario, ya sabéis!!