send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Paquetes de GNU/Linux en tu Android

  • 1 Respuestas
  • 1467 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kodeinfect

  • *
  • Underc0der
  • Mensajes: 327
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Kodeinfect's Blog
« en: Enero 30, 2013, 07:39:31 pm »

Quieres portar tus aplicaciones de GNU/Linux a tu Android pues acá tienes lo necesario.
Para esto necesitaríamos una ISO de Debian para ARMEL la cual podemos descargar acá:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

ATENCIÓN Acá está el SCRIPT export.pl esencial para trabajar:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

De la iso solo extraeríamos la carpeta: POOL (no necesitaremos mas nada) ademas de la herramienta DEB2DROID, podemos bajar archivos .deb para nuestras aplicaciones pero siempre y cuando sean para ARMEL.

En este ejemplo exportaremos la aplicación NMAP a nuestro dispositivo, para eso la descargamos:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Lo movemos a la carpeta: pool/main/n/ y con la herramienta Deb2Droid la exportamos con sus dependencias.
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm # perl export.pl

Deb2Droid v0.1 by Xianur0

Use: ./export.pl [pool dir] [deb]

kode@kode:/home/kode/debian-arm/nmap # perl export.pl ../pool/main/ n/nmap_5.00-3_armel.deb

[...]

[-] Instaladas!

[-] Paquete y dependencias extraidos correctamente!

Aquí tendremos todo extraído (carpeta donde se ejecutó el export.pl), haciendo un ls veremos:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap # ls
bin  config  etc  export.pl  lib  sbin  selinux  shlibs  symbols  templates  usr  var

De este modo ya estaría apto para correr en nuestro dispositivo android pero el problema es que la aplicación se torna un poco (mejor dicho) muy pesada.
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap # du -sh .
68M

Ahora tendremos que tomar solo lo que necesitemos para quitar la "basura" por así decirlo:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap/usr/bin # objdump -x nmap  | grep NEEDED

NEEDED               libpcre.so.3

NEEDED               libpcap.so.0.8

NEEDED               libssl.so.0.9.8

NEEDED               libcrypto.so.0.9.8

NEEDED               liblua5.1.so.0

NEEDED               libdl.so.2

NEEDED               libstdc++.so.6

NEEDED               libm.so.6

NEEDED               libgcc_s.so.1

NEEDED               libc.so.6

kode@kode:/home/kode/debian-arm/nmap/usr/bin # mkdir -p /home/kode/nmap-final/bin/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp nmap /home/kode/nmap-final/bin/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # mkdir -p /home/kode/nmap-final/lib

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../../lib/libpcre.so.3 /home/kode/nmap-final/lib/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../lib/libpcap.so.0.8 /home/kode/nmap-final/lib/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../lib/libssl.so.0.9.8 /home/kode/nmap-final/lib/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../lib/libcrypto.so.0.9.8 /home/kode/nmap-final/lib/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../lib/liblua5.1.so.0 /home/kode/nmap-final/lib/

kode@kode:/home/kode/debian-arm/nmap/usr/bin # cp ../../lib/libdl.so.2 /home/kode/nmap-final/lib/

Ahora tenemos nuestra aplicación con lo necesario en /home/kode/nmap-final.
Ahora tendríamos que ver si alguna de sus dependencias depende de otra, para eso hacemos:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap/usr/bin # objdump -x * | grep -i NEEDED | sort -n | uniq

NEEDED               libacl.so.1

NEEDED               libattr.so.1

NEEDED               libbz2.so.1.0

NEEDED               libcrypto.so.0.9.8

NEEDED               libcrypt.so.1

NEEDED               libc.so.6

NEEDED               libdl.so.2

NEEDED               libgcc_s.so.1

NEEDED               liblua5.1.so.0

NEEDED               liblzma.so.2

NEEDED               libm.so.6

NEEDED               libpcap.so.0.8

NEEDED               libpcreposix.so.3

NEEDED               libpcre.so.3

NEEDED               libperl.so.5.10

NEEDED               libpthread.so.0

NEEDED               librt.so.1

NEEDED               libselinux.so.1

NEEDED               libssl.so.0.9.8

NEEDED               libstdc++.so.6

NEEDED               libz.so.1

Copiamos las que nos falten:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap/usr/bin # ls -l /home/kode/nmap-final/lib/

total 6712

-rwxr-xr-x 1 root root ld-linux.so.3

-rw-r–r– 1 root root libacl.so.1

-rw-r–r– 1 root root libattr.so.1

-rw-r–r– 1 root root libbz2.so.1.0

-rw-r–r– 1 root root libcrypto.so.0.9.8

-rw-r–r– 1 root root libcrypt.so.1

-rwxr-xr-x 1 root root libc.so.6

-rw-r–r– 1 root root libdl.so.2

-rw-r–r– 1 root root libgcc_s.so.1

-rw-r–r– 1 root root liblua5.1.so.0

-rw-r–r– 1 root root liblzma.so.2

-rw-r–r– 1 root root libm.so.6

-rw-r–r– 1 root root libpcap.so.0.8

-rw-r–r– 1 root root libpcreposix.so.3

-rw-r–r– 1 root root libpcre.so.3

-rw-r–r– 1 root root libperl.so.5.10

-rwxr-xr-x 1 root root libpthread.so.0

-rw-r–r– 1 root root librt.so.1

-rw-r–r– 1 root root libselinux.so.1

-rw-r–r– 1 root root libssl.so.0.9.8

-rw-r–r– 1 root root libstdc++.so.6

-rw-r–r– 1 root root libz.so.1

Al revisar veríamos que nuestra aplicación ya no es pesada, ya que quitamos la basura que traía Debian.
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap/usr/bin # du -sh /home/kode/nmap-final/
7,2M   /home/kode/nmap-final/

Ahora toca preparar el entorno y subirlo al dispositivo:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
kode@kode:/home/kode/debian-arm/nmap/usr/bin # mkdir -p /home/kode/nmap-final/proc

kode@kode:/home/kode/debian-arm/nmap/usr/bin # mkdir -p /home/kode/nmap-final/dev

kode@kode:/home/kode/debian-arm/nmap/usr/bin # mkdir -p /home/kode/nmap-final/sys

kode@kode:/home/kode/debian-arm/nmap/usr/bin # adb push /home/kode/nmap-final /sdcard/nmap

Probamos para ver si funciona, copiamos la carpeta a /data/local/nmap porque la SD es fat32 y no acepta permisos de ejecución.
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
cp -R /sdcard/nmap /data/local/nmap
cd /data/local/nmap

Montamos las particiones para que estén con el sistema:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
mount -o bind /proc proc
mount -o bind /dev dev
mount -o bind /sys sys

Ejecutamos finalmente:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
chroot /data/local/nmap /bin/nmap -V
Nmap version 5.00 ( http://nmap.org )

También podriamos portar GCC/Make y otras herramientas de desarrollo y directamente compilar el programa en el celular, lo cual nos ahorraría eliminar tanta basura.

Así tendríamos nuestra aplicación corriendo en Android, doy agradecimientos a Xianur0 por todo esto ;)
« Última modificación: Junio 30, 2014, 06:39:06 pm por Expermicid »

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #1 en: Enero 30, 2013, 08:28:16 pm »
se ve muy interesante, se te agradece que lo postees por estos lares.

un saludo mi buen amigo y si ves a xianur0 mandale saludos de mi parte.

 

¿Te gustó el post? COMPARTILO!



Android para PC y Mac con "bluestacks"

Iniciado por Only

Respuestas: 1
Vistas: 2075
Último mensaje Diciembre 29, 2012, 09:27:51 pm
por |şSɘŬ
Limpia la cache de tu Android con App Cache Cleaner

Iniciado por 54NDR4

Respuestas: 0
Vistas: 1580
Último mensaje Marzo 31, 2013, 10:58:06 pm
por 54NDR4
Android sabrá cuándo bloquear y cuándo no tu smartphone

Iniciado por Reina_Mora

Respuestas: 1
Vistas: 1740
Último mensaje Marzo 24, 2015, 08:20:04 am
por k0rs0
Código Fuente de Android 4.0 "Ice Cream Sandwich"

Iniciado por Only

Respuestas: 0
Vistas: 1876
Último mensaje Noviembre 16, 2011, 10:06:38 pm
por Only
Fast For Facebook - Excelente Cliente Facebook para Android

Iniciado por Kodeinfect

Respuestas: 0
Vistas: 1346
Último mensaje Febrero 03, 2013, 04:58:14 pm
por Kodeinfect