Android hacking: Diferència entre les revisions

De Guifi.net - Wiki Català

(Es crea la pàgina amb «Recursos per amodificar sobre Android i les seves ROMs. == Connectar-se a la línia de comandes del mòbil des del cable USB == Consulteu adb. === Executar ordres ...».)
(Cap diferència)

Revisió de 23:19, 13 nov 2010

Recursos per amodificar sobre Android i les seves ROMs.

Connectar-se a la línia de comandes del mòbil des del cable USB

Consulteu adb.

Executar ordres sense entrar a la shell

$ ./adb shell ordre

Comandes

Les trobareu a /system/bin:

Reiniciar el dispositiu

$ reboot

No cal ser superusuari. Es pot enviar a recovery-mode amb:

$ reboot recovery

Veure els fitxers de log

$ ./adb logcat

S'anirà mostrant el fitxer de log de forma continuada (a l'estil de tail -f). Es pot executar al mateix temps que s'utilitzen aplicacions al mòbil; útil per depurar.

Boot

Hi ha diferents formes d'arrancar el HTC Hero:

  • Normal: Amb el botó de la dreta superior (penjar/encendre/apagar)
  • Recovery Mode: es fa amb el botons Home (casa) i encendre premuts al mateix temps amb el mòbil apagat. Apareix un senyal d'exclamació i un mòbil a sota.
  • Fast Boot: es fa amb els botons enrere i encendre premuts al mateix temps.

Recovery Mode

En un HTC Hero lliure amb firmware 1.5 d'Android apareix una senyal d'atenció i un mòbil abaix i no fa res més. Si s'instal·la una imatge Recovery aleshores tenim menús amb opcions.

Fast Boot

Apareix un menú similar a:

http://www.cnet.de/i/c/praxis/insider/0907_htc-magic-root/0907_android_workshop_handy_05.jpg


Comandes

usage: fastboot [ <option> ] <command>

commands:
 update <filename>                        reflash device from update.zip
 flashall                                 'flash boot' + 'flash system'
 flash <partition> [ <filename> ]         write a file to a flash partition
 erase <partition>                        erase a flash partition
 getvar <variable>                        display a bootloader variable
 boot <kernel> [ <ramdisk> ]              download and boot kernel
 flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
 devices                                  list all connected devices
 reboot                                   reboot device normally
 reboot-bootloader                        reboot device into bootloader

options:
 -w                                       erase userdata and cache
 -s <serial number>                       specify device serial number
 -p <product>                             specify product name
 -c <cmdline>                             override kernel commandline

FastBoot a Linux

Canvis a udev:

For Opensuse 11.1, the following config file, in /etc/udev/rules.d/11-android.rules, seems to work:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c01", MODE="0666", OWNER="mylogname" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c02", MODE="0666", OWNER="mylogname"

Rooting

Beneficis

  • Control absolut sobre tots els fitxers
  • Backup dels sistema. Permet fer una imatge de la ROM i carregar ROMS a mida
  • Estalviar espai a la memòria interna del mòbil: la mem pot moure cache a SD i aplicacions de la memòria interna a la SD (la memòria internar és limitada i les SD es poden ampliar). Consulteu: Apps2SD
  • Executar aplicacions especials:
  • Move Cache for Root: move cache for browser, market, maps, street view, and gmail onto SD card
  • Startup Manager: TODO... – Clean up android system from system startup to boost system power and memory from the get go
  • SetCPU for Root Users: overclocking. TODO: – Overclocking your rooted device lets you speed up your phone’s processor when you are using it and lets you slow it down when it goes into "sleep" mode. It can either be a battery hog or battery saver.

Instal·lar aplicacions de tercers (no de market)

Cal configurar el mòbil:

Botó Menu > Configuración > Aplicaciones > Activar Origenes desconocidos

Ara es podran instal·lar aplicacions utilitzant uns instal·lador d'aplicacions com Astro o altres.

Les aplicacions per a anddroid són fitxers amb l'extensió apk.

Pas a pas per HTC Hero


Instantroot

Aplicació que facilita rootejar un terminal android. Provada amb exit a un HTC Hero lliure amb Symio. Seguint les instruccions de:

http://customhero.ctestudioweb.com/2009/10/instant-root-htc-hero-en-1-clic/
http://www.taranfx.com/download/instant-root.zip

Aplicacions de terminal

Connect bot (també client SSH)

Funciona prou bé. Disponible a Market.

Formatear la SD

Sempre ho recomanen abans de fer operacions re rooting o ROMS a mida (nota: no se perquè):

Ajustes -> Almacenamiento -> Desmontar tarjeta SD -> Formatear tarjeta SD -> Montar tarjeta SD

ROMs

Terminologia

  • SD: targeta de memòria flash externa (memòria Flash)
  • flashing: El terme flashing o flash s'utilitza per indicar que fem una operació d'escriptura a una memòria flash. Per exemple quan recuperem una imatge, el que fem és fer un flashing d'un fitxer .img a una mèmòria flash (és a dir escrivim la imatge a la flash)
  • bootloader (hbot): el gestor d'arrancada del dispositiu (nota: Not a term actually used by Qualcomm for msm7k has a more complex boot path involving both CPUs). Normalment té dos parts (Inicial/Initial i Secundaria/Secondary):
  • IPL o Inital Program Loader: És la part (stage) que s'executa primer del gestor d'arrancada. . Initial/secondary program loader is usually in reference to nand/onenand boot setups where you have a very small initial bootloader (1k to 16k typical), that is just enough to load a much larger secondary bootloader. Often there is something that runs first, in-rom, on-die (this is true of omap and msm chips for example) that is responsible for getting the IPL loaded.
  • SPL ( Second Program Loader: conjuntament amb el IPL fan el que s'anomena el gestor d'arrancada del dispositiu. (the IPL comprise a device's bootloader. Aside from bootstrapping Android, the bootloader also fulfills various diagnostic functions. One of these functions is the manipulation of data in the device's internal flash ram. Depending on the SPL installed, the user can apply a signed NBH file, flash nand images, and more. Note that the SPL is installed and operates independently of the Android build that runs atop it.[1]
  • Hi ha tres tipus de SPL?:
  • The G1 variant: is the SPL that is installed in stock T-Mobile G1 phones.
  • The Engineering variant: is found in the Android Dev Phone 1.
  • The HardSPL: is a modification of the Engineering variant by cmonex, with additional hacker-friendly functionality. HardSPL is the recommended SPL.
  • ROM: conté el firmware del dispositiu.
  • rooting: és el procés que permet als usuaris de mobils amb Android obenir accés de root. El procés similar per a Iphone (iOS) s'anomena jailbreaking. Permet saltar-se les limitacions que imposin les operadores i permet instal·lar noves versions d'Android () que no siguin proporcionades per la operadora. També permet utilitzar versions a mida d'Android. No cal ser root per instal·lar aplicacions que no provinguin del market (calr però configurar el mòbil per poder-ho fer)
  • Brick/ladrillo: és el nom que s'utilitza per tal de referir-se a un mòbil que s'ha fet malbé i no arranca.

IMPORTANT: Rooting no és el mateix que instal·lar una ROM a mida! Instal·lar una ROM sovint requereix fer rooting prèviament. Es pot rootejar un mòbil sense tocar el sistema operatiu/firmware original

  • OTA (Over The Air): Quan una aplicació s'instal·la està disponible a través de la connexió 3G? Inclou WIFI?
  • Radio: és l'encarregada de les comunicacions del dispositiu mòbil ( GPS, WIFI, GPRS, etc...). Un canvi de radio pot influir en aspectes com la cobertura o la bateria. [2]
  • GoldCard: es tracta d'una targeta SD preparada especialment per a dispositius Android que permet fer un flash d'un fitxer RUU amb un CID diferent. Per exemple permet posar a un dispositiu Orange una ROM genèrica.
  • RUU (Rom Update Utility):
  • CyanogenMod
  • A2SD: El nom d'una aplicació (Apps to SD) que permet moure les aplicacions de la memòria interna del mòbil a la SD.[3]daCo
  • MCR Modaco Custom ROM

Còpia de seguretat de la ROM d'un HTC lliure

Hi ha una ROM a megaupload:

Nandroid (Nand)

Un backup nandroid és similar a fer una imatge del disc dur d'un PC. Cal però tenir en compte que els dispositius mòbils no tenen disc dur: tenen una memòria flash interna (independent i diferent de la memòria SD extraible). El que conté una imatge nandroid és:

D'aquesta forma es guarda configuració del mòbil, els contactes, els missatges, bookmarks, paraules de pas, etc.

IMPORTANT: No fa cap còpia de la SD externa

IMPORTANT: Si esteu utilitzant apps2sd les aplicacions es guarden a la SD i per tant no es fa còpia de les aplicacions que estan a la SD

IMPORTANT: Per tal de poder restaurar una imatge nandroid cal tenir una recovery image funcionant correctament. És a dir compte al fer un flash de la recovery image! Assegurau-vos de fer-le correctament ja que és la eina que us permetre recuperar el mòbil en cas d'error.

BART

Run bart via adb!

Google Files

Backup Google propietary System Files?

RA-hero

La versió 1.7.0.1 té disponibles:

ROMs oficials

Oficialment s'han de carregar amb l'aplicació RUU (Rom Update Utility). Les ROM es poden descarregar amb el número de serie del mòbil des de la web de HTC. També les podeu trobar però a:

http://hero-roms.blogspot.com/p/official-ruu-roms.html

ROMs a mida

També se les anomena aftermarket firmware, ROM cuinadas (cocinadas), mods...

Imatges a mida per a recovery boot

Recovery de Amon_RA

Es una especie de menú d'arrancada per a HTC que permet fer diverses accions amb el mòbil. Un cop instal·lat si accedeix accedint al mobil en Recovery Mode (Botons Home i encendre al mateix temps). Vegeu fotos a Google images:

http://www.google.com/images?hl=ca&q=Recovery%20de%20Amon_RA&um=1&ie=UTF-8&source=og&sa=N&tab=wi&biw=1440&bih=642

Amon_RA és l'usuari del fòrum xda-developers:

http://forum.xda-developers.com/showthread.php?t=561124

que ha creat aquest software.

This is a custom recovery based on Cyanogen's recovery source with a lot of things added by me. The purpose of this recovery is to avoid using adb by accessing all features directly from the menu.

Primer vaig instal·lar una versió antiga a partir d'un enllaç antic. Després he baixat la versió 1.7.0.1.

IMPORTANT: Sempre comprovar el fitxer amb md5sum que si es baixa incorrectament podem convertir el mòbil en un tubot ;-)

Opcions

Wipe:

  • Neteja/prepara des de 0 una zona de dades. Jo he provat de fer un wipe només de les dades abans d'instal·lar la VillainROM(--acacha 15:04, 19 ago 2010 (UTC))

Flash des de zip

  • Nota: Sembla que abans el fitxer havia de dir-se update.zip i estar a l'arrel, ara sembla però que en donen a escollir i fins i tot no cal que estigui a l'arrel.

Clockwork

És el que utilitza ROM Manager. Creat per Koushik Dutta.


Comparatives

Descarregues

ROM Villain

Villain 12
$ wget http://villainrom.desean.net/releases/VillainROM12/VillainROM12.0.0-Full-signed.zip
$ md5sum VillainROM12.0.0-Full-signed.zip
061b3a43d4c05e4fdb61ebd206a408e5
Froyd Villain (sense Sense)

La he descarregat de:

http://www.multiupload.com/JXTCF8HPG6

He seguit els passos de:

http://www.sizzledcore.com/2009/12/02/how-to-install-a-custom-rom-on-htc-hero/
http://forum.xda-developers.com/showthread.php?t=645253

Primer cal tenir una recovery image feta i haver fet la còpia de seguretat. Cal baixar-se la ROM que volem, per exemple FroydVillain-1.2.1:

$ cp Baixades/FroydVillain-1.2.1-release-signed.zip HTC_Hero/ROMS
$ cd HTC_Hero/
$ cd ROMS/
$ mkdir FroydVillain
$ cd FroydVillain/
$ mv ../FroydVillain-1.2.1-release-signed.zip .
$ touch README
$ joe README
$ cat README
Fitxer original: roydVillain-1.2.1-release-signed.zip
$ mv FroydVillain-1.2.1-release-signed.zip update.zip
$ md5sum update.zip 
276501f2709e595a3fc4fa7c656817df update.zip

Muntm el mòbil amb USB:

$ cp update.zip /media/NO_NAME
$ md5sum /media/NO_NAME/update.zip 
276501f2709e595a3fc4fa7c656817df  /media/NO_NAME/update.zip


Per a instal·lar-la.

Inseriu ací text sense format

ROM BeHero

CyanogenMod

Més ROMs ...

  • Stock Froyo
  • CyanogenMod V6.0.0-RC1
  • DamageControl 3.5
  • Fresh Evo 3.1.0.1
  • BakedSnack 1.2.5
  • Burnt Droid 1.0
  • EViO 2 Series v1.0.2
  • Ava-FroyoV3RevA
  • OMJ’s v2.1
  • FroYo Fusion 2.3

ROM Upgrade

Conèixer la ROM

Configuracion -> Acerca del telefono 

La versió que jo tinc a un HTC Hero comprat per reis de 2010 és:

Modelo: HTC Hero
Versió firmware: 1.5
Version banda base: 63.18.55.06U_6A:.35.05.15
Version del kernel: 2.6.27-a5504199
Número de compilación: 1.79.482.3
Version del software: 1.0.0.A6288

Upgrade de Android 1.5 a 2.1

Primer de tot cal tenir el SDK d'Android:

Plantilla:DowloadSDKAndroid

Imatges a mida per a recovery boot

Recovery de Amon_RA

Es una especie de menú d'arrancada per a HTC que permet fer diverses accions amb el mòbil. Un cop instal·lat si accedeix accedint al mobil en Recovery Mode (Botons Home i encendre al mateix temps). Vegeu fotos a Google images:

http://www.google.com/images?hl=ca&q=Recovery%20de%20Amon_RA&um=1&ie=UTF-8&source=og&sa=N&tab=wi&biw=1440&bih=642

Amon_RA és l'usuari del fòrum xda-developers:

http://forum.xda-developers.com/showthread.php?t=561124

que ha creat aquest software.

This is a custom recovery based on Cyanogen's recovery source with a lot of things added by me. The purpose of this recovery is to avoid using adb by accessing all features directly from the menu.

Primer vaig instal·lar una versió antiga a partir d'un enllaç antic. Després he baixat la versió 1.7.0.1.

IMPORTANT: Sempre comprovar el fitxer amb md5sum que si es baixa incorrectament podem convertir el mòbil en un tubot ;-)

Clockwork

És el que utilitza ROM Manager. Creat per Koushik Dutta.

Aplicacions

FlashRec

Tool to flash the recovery image on Android phones. The so-called “one click root”.

Consulteu també l'ordre flash_image.

Cyanogen Mod

CyanogenMod is an aftermarket firmware for four families of cell phones—HTC Dream (marketed as T-Mobile G1 in Europe and the US, and Era G1 in Poland) and HTC Magic (T-Mobile myTouch 3G in the US, DoCoMo HT-03A in Japan and Vodafone Magic in the UK, Germany among some other states.), the Motorola Droid[2], and the Google Nexus One.[3]

http://en.wikipedia.org/wiki/CyanogenMod


ROM Manager

Versió gratuïta a Market:

Disponible a Market pagant hi ha una versió Pro.

Sembla que facilita les coses amb les Nexus One? ([4])

DroidMod

Canviar la Radio

Crear una GoldCard

Tethering

Tethering, traduït com "anclatje a la xarxa" és el procés a partir del qual un dispositiu mòbil amb accés a Internet dona accés sense fils a altres dispositius, actuant com un mòdem o router WIFI.

A Custom ROMs com VillainROM per defecte ja bé instal·lada l'aplicació aNetShare

aNetShare

Aplicació molt senzilla, disponible al Market que converteix el mòbil em un AP. Es pot decidir el SSID de la xarxa. La xarxa és oberta però l'aplicació decideix qui es pot connectar i qui no. També permet monitoritzar l'ampla de banda.

Gestió de memòria

AppSaver

Guarda aplicacions de la memòria interna a la SD. Disponible a Market.

Línia de comandes

Cal activar la depuració USB:

Boto Menu > Configuracion > Aplicaciones > Desarrollo > Depuracion USB

Connecteu el cable USB al telefon i al PC. Amb l'odre lsusb haureu d'identificar el dispositiu USB:

$ lsusb
...
Bus 002 Device 004: ID 0bb4:0c01 High Tech Computer Corp.
...

Necessiteu el SDK d'Android:

Plantilla:DowloadSDKAndroid

Ara aneu a la carpeta tools:

$ cd tools

I podeu utilitzar l'ordre adb:

./adb push asroot2 /data/local/
./adb shell
chmod 0755 /data/local/asroot2
/data/local/asroot2 /system/bin/sh

flash_image

Sembla que l'ordre permet copiar un fitxer imatge. Per exemple per canviar la imatge de recovery:

$ su
# flash_image recovery /sdcard/recovery-RA-hero.img

Es pot fer quelcom similar amb l'aplicació gràfica disponible a market flashrec i altres com ROM Manager.

Comandes per a fer backup/restore des de adb

Mètode 1:

   BACKUP:
   #mount /sdcard
   #mount /system
   #mount /data
   #cd /
   #tar cpf /sdcard/data.tar /data
   #tar cpf /sdcard/sys.tar /system
   RESTORE:
   #mount /sdcard
   #mount /system
   #mount /data
   #cd /
   #tar xpf /sdcard/data.tar
   #tar xpf /sdcard/sys.tar

Mètode 2:

   BACKUP:
   #mount /sdcard
   #cat /dev/mtd/mtd3 > /sdcard/system.img
   #cat /dev/mtd/mtd5 > /sdcard/user.img
   RESTORE:
   #mount /sdcard
   #cat /dev/zero > /dev/mtd/mtd3
   #cat /sdcard/system.img > /dev/mtd/mtd3
   #cat /dev/zero > /dev/mtd/mtd5
   #cat /sdcard/data.img > /dev/mtd/mtd5

Fundes

Octilus: http://www.octilus.com/accesorios-htc-htc-hero-c-106_1643.html

  • 20,95€

HTC com a modem. tethering

Eines de backup

Vegeu també:

Suport d'HTC

Vegeu també


Enllaços externs

Eines de l'usuari