Android hacking
De Guifi.net - Wiki Català
Recursos per amodificar sobre Android i les seves ROMs.
Contingut
- 1 Connectar-se a la línia de comandes del mòbil des del cable USB
- 2 Boot
- 3 Rooting
- 4 ROMs
- 5 Tethering
- 6 Gestió de memòria
- 7 Línia de comandes
- 8 Fundes
- 9 HTC com a modem. tethering
- 10 Eines de backup
- 11 Suport d'HTC
- 12 Vegeu també
- 13 Enllaços externs
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:
- Android-WiFi-Tether or Barnacle Wifi-Tethering: permeten convertir el mòbil en un AP WIFI.
- Super User: permet donar accés de root o denegar a una aplicació.
- Auto Memory Manager: permet matar tasques.
- 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.
- aftermarket ROM Rom modificada, ROM a mida.
- 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:
- ROM
- Radio
- Recovery image
- bootloader ? (aka hboot)
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:
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 ;-)
- http://forum.xda-developers.com/showpost.php?p=4549551&postcount=1
- http://www.megaupload.com/?d=WP29CWHK
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
- http://segmentnext.com/2010/04/28/how-to-create-gold-card-to-flash-android-ruu-files/
- http://en.wikipedia.org/wiki/Gold_card
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
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:
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é