Gambar dari http://www.nexiando.com/ |
Beberapa hari lalu seorang teman meminta bantuan untuk me-root-kan ponsel Android miliknya. Yakni ponsel Nexian Energy A850. Singkat cerita, saya mulai Googling dan hanya menemukan proses rooting Nexian Energy A850 menggunakan sistem operasi Microsoft Windows. Berhubung saya tidak memiliki sistem operasi Microsoft Windows pada komputer, maka saya melakukan proses rooting ini dengan sistem operasi (distro) yang saya gunakan, yaitu Slackware GNU/Linux. Juga, dengan menggunakan sistem operasi GNU/Linux, sudah tidak perlu repot-repot lagi untuk memasang macam-macam driver agar device dikenali oleh komputer.
INFO:Tidak ada metode baru yang saya gunakan dalam proses rooting ini. Saya hanya mentranslasi isi dari file runme.bat (batch script - ada dalam paket exploit DooMLoRD v4 yang digunakan pada tulisan kali ini) yang notabene hanya berjalan pada sistem operasi Microsoft Windows agar/ untuk dilakukan dengan sistem operasi (distro) GNU/Linux. |
*Langsung saja kita mulai*
Download paket binari su, busybox dan zergRush exploit dari http://forum.xda-developers.com/showthread.php?t=1321582. Saya menggunakan exploit versi 4.
Langkah pertama yang dilakukan adalah memastikan bahwa perangkat telah tersambung dan terdeteksi dengan baik.
$ su Password: # ./adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached A850 device |
Kemudian, gunakan parameter shell untuk mendapatkan shell Android lalu periksa keberadaan direktori tmp pada lokasi /data/local.
# ./adb shell $ cd /data/local $ ls tmp $ exit # |
Ok. Direktori tmp sudah ada. Bila tidak, silahkan kamu buat sendiri dengan perintah mkdir.
$ mkdir tmp |
*OPTIONAL*
Kamu bisa membersihkan isi direktori /data/local/tmp terlebih dahulu bila dirasa perlu atau tidak yakin bila direktori tersebut bersih. Gunakan perintah rm.
$ rm * rm failed for *, No such file or directory |
Selanjutnya, copy program exploit zergRush ke direktori tersebut. Ganti file attributnya menjadi 777 kemudian jalankan.
# ./adb push files/zergRush /data/local/tmp 402 KB/s (23060 bytes in 0.055s) # ./adb shell chmod 777 /data/local/tmp/zergRush # ./adb shell /data/local/tmp/zergRush [**] Zerg rush - Android 2.2/2.3 local root [**] (C) 2011 Revolutionary. All rights reserved. [**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew. [+] Found a Froyo ! 0x00000108 [*] Scooting ... [*] Sending 149 zerglings ... [+] Zerglings found a way to enter ! 0x10 [+] Overseer found a path ! 0x000140e8 [*] Sending 149 zerglings ... [+] Zerglings caused crash (good news): 0x40119cec 0x0064 [*] Researching Metabolic Boost ... [+] Speedlings on the go ! 0xafd1875f 0xafd3a9af [*] Popping 8 more zerglings [*] Sending 157 zerglings ... [+] Rush did it ! It's a GG, man ! [+] Killing ADB and restarting as root... enjoy! |
Selesai. Proses exploit berjalan dengan baik, :-)
Cek kembali, apakah handphone masih terhubung setelah proses exploit tadi.
# ./adb devices List of devices attached A850 device |
Copy program busybox ke direktori yang sama (/data/local/tmp). Rubah atribut filenya kemudian remount ulang partisi /system.
# ./adb push files/busybox /data/local/tmp 560 KB/s (1075144 bytes in 1.872s) # ./adb shell chmod 755 /data/local/tmp/busybox # ./adb shell /data/local/tmp/busybox mount -o remount,rw /system |
Untuk memastikan bahwa ruang bebas (memori) yang tersedia mencukupi untuk instalasi busybox, binari su, dan aplikasi Superuser, cek dengan script makespace yang disediakan dalam paket.
# ./adb push files/makespace /data/local/tmp 9 KB/s (439 bytes in 0.046s) # ./adb shell chmod 777 /data/local/tmp/makespace # ./adb shell ./data/local/tmp/makespace --- Free space on /system : 82% bytes test: 82%: bad number --- NOT enough free space on /system!!! --- making free space by removing Google Maps |
Dari proses yang saya lakukan, handphone ini tidak memiliki direktori /system/xbin. Jadi silahkan buat direktori /system/xbin terlebih dahulu.
# ./adb shell mkdir /system/xbin |
Kemudian copy binary busybox dengan perintah dd.
# ./adb shell dd if=/data/local/tmp/busybox of=/system/xbin/busybox |
Atau dengan perintah cp.
# ./adb shell cp /data/local/tmp/busybox /system/xbin/busybox |
Rubah atribut file menjadi 04755.
# ./adb shell chmod 04755 /system/xbin/busybox |
Lalu lakukan instalasi (linking) utilitas busybox.
# ./adb shell /system/xbin/busybox --install /system/xbin |
Hingga menghasilkan seperti ini:
# ./adb shell ls /system/xbin zcip zcat yes xzcat xz xargs whoami who which wget wc watchdog watch wall volname vlock vi vconfig uuencode uudecode usleep uptime unzip unxz unlzop unlzma unix2dos uniq unexpand uname umount udpsvd udhcpd udhcpc tunctl ttysize tty true traceroute6 traceroute tr touch top timeout time tftpd tftp test telnetd telnet tee tcpsvd tar tail tac syslogd sysctl sync switch_root swapon swapoff svlogd sv sum sulogin su stty strings stat start-stop-daemon split sort softlimit smemcap sleep slattach showkey sha512sum sha256sum sha1sum sh setuidgid setsid setlogcons setkeycodes setfont setconsole setarch seq sendmail sed scriptreplay script rx runsvdir runsv runlevel run-parts rtcwake rpm2cpio rpm route rmmod rmdir rm rev resize reset renice remove-shell reformime reboot realpath readprofile readlink readahead rdev rdate raidautorun pwd pscan ps printf printenv powertop poweroff popmaildir pmap pkill pivot_root pipe_progress ping6 ping pidof pgrep patch passwd openvt od ntpd nslookup nohup nmeter nice netstat nc nbd-client nameif mv mt mpstat mountpoint mount more modprobe modinfo mktemp mkswap mkpasswd mknod mkfs.vfat mkfs.minix mkfs.ext2 mkfifo mke2fs mkdosfs mkdir microcom mesg mdev md5sum man makemime makedevs lzopcat lzop lzma lzcat lsusb lspci lsmod lsattr ls lpr lpq lpd losetup logread logname login logger loadkmap loadfont ln linuxrc linux64 linux32 less length last klogd killall5 killall kill kbd_mode iptunnel iprule iproute iplink ipcs ipcrm ipcalc ipaddr ip iostat ionice install insmod init inetd ifup ifplugd ifenslave ifdown ifconfig id hwclock hush httpd hostname hostid hexdump head hdparm hd halt gzip gunzip grep getty getopt fuser ftpput ftpget ftpd fsync fsck.minix fsck freeramdisk free fold flock findfs find fgrep fgconsole fdisk fdformat fdflush fbsplash fbset false fakeidentd expr expand ether-wake envuidgid envdir env eject egrep ed echo dumpleases dumpkmap du dos2unix dnsdomainname dnsd dmesg dirname diff dhcprelay df devmem depmod deluser delgroup deallocvt dd dc date cut cttyhack cryptpw crontab crond cpio cp comm cmp clear cksum chvt chrt chroot chpst chpasswd chown chmod chgrp chattr chat catv cat cal bzip2 bzcat bunzip2 brctl bootchartd blockdev blkid beep basename base64 awk ash arping arp adjtimex adduser addgroup add-shell acpid [[ [ busybox |
Selanjutnya, copy binary su ke dalam direktori /system/bin dan rubah atribut filenya menjadi 06755.
# ./adb push files/su /system/bin 402 KB/s (22228 bytes in 0.053s) # ./adb shell chmod 06755 /system/bin/su |
Perbaiki symbolic-link yang tadi dibuat oleh busybox saat instalasi agar merujuk pada binari su yang baru kita copy.
# ./adb shell rm /system/xbin/su # ./adb shell ln -s /system/bin/su /system/xbin/su |
Terakhir adalah meng-copy paket Superuser.apk ke dalam direktori /system/app kemudian restart handphone.
# ./adb push files/Superuser.apk /system/app 547 KB/s (785801 bytes in 1.401s) # ./adb shell reboot |
Selesai. Proses rooting Nexian Energy A850 telah berhasil bila pada langkah-langkah diatas tidak terjadi kesalahan atau error. Selanjutnya, semua terserah kamu karena akses administrator sudah ditangan.
Sekian dan semoga bermanfaat, ^_^