前提是:
1) 手機已經root,且裝有busybox,
2) 還裝有至少一款terminal(模擬終端)軟體,手機連wifi路由器。
3) 還要有一些基礎常識,比如linux命令,telnet。
這裡模擬終端推薦以Better Terminal Emulator Pro,任意app市場裡搜尋
(1)
Android端開啟terminal軟體,輸入以下命令
# su
然後按軟鍵盤的“回車”,su命令指 獲得root許可權
(2)
# busybox ifconfig
此命令獲得手機的ip,顯示如下,這裡以192.168.1.104為例:
tiwlan0 Link encap:Ethernet HWaddr 98:4B:4A:7C:98:B8
inet addr:192.168.1.101 Bcast:255.255.255.255 Mask:255.255.255.0
inet6 addr: fe80::9a4b:4aff:fe7c:98b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24801 errors:0 dropped:0 overruns:0 frame:0
TX packets:20885 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:22691266 (21.6 MiB) TX bytes:4128646 (3.9 MiB)
(3)
# busybox telnetd -l /system/bin/sh
開啟telnetd服務,telnetd可以看作一個服務端。
(4)
然後回到電腦端,開始-執行-cmd,輸入telnet 192.168.1.101,回車,
ok,就連上手機了,大部分linux命令都可以執行(不過要加上busybox,不明白為什麼的去google或百度)
(5)
這裡, 就可以在你的手機執行幾個簡單的Linux命令了,
cd /data/app 回車
ls 回車
可以看到/data/app目錄下所有程式的資料檔案。
busybox ps
可以看到你當前執行的所有程式,以及程序號
12586 10039 0:03 com.motorola.blur.conversations
12631 10055 0:00 com.motorola.atcmd.plugin
12662 10047 0:00 com.motorola.blur.contacts
12737 10080 0:00 com.motorola.android.datamanager
12744 10148 0:00 com.estrongs.android.taskmanager
12761 10047 0:00 com.motorola.android.simcontactadapter
12795 0 0:00 /system/bin/sh
12812 10062 0:00 com.android.music
12837 0 0:00 busybox ps
busybox top
相當於win下的工作管理員,可以看到所有執行的後臺任務,以及它們的cpu佔用率。Ctrl + C退出。
Mem: 468304K used, 20380K free, 0K shrd, 15408K buff, 110848K cached
CPU: 0.0% usr 23.0% sys 0.0% nic 76.9% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.00 0.04 0.13 1/816 12838
PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
12838 12795 0 R 1080 0.2 0 23.0 busybox top
1342 1150 1000 S 327m 68.6 0 0.0 system_server
3647 1150 10110 S 251m 52.7 0 0.0 jp.co.johospace.jorte
1519 1150 10008 S 232m 48.6 0 0.0 com.motorola.blur.service.main
1528 1150 10047 S 197m 41.3 0 0.0 com.motorola.blur.home
cat /proc/cpuinfo
檢視CPU資訊,當前頻率。
# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 299.11
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : mapphone_UMTS
Revision : 0000
Serial : 0000000000000000
CPU Tier : 10
注意,慎用rm, mv等命令!
////////////////////////////////////////////////////
如何終止telnet服務,檢視telnet的程序號,:
# busybox ps | busybox grep telnetd
然後回車, 看到顯示如下:
12385 0 0:00 busybox telnetd -l /system/bin/sh
12797 0 0:00 busybox grep telnetd
可以看到telnetd的程序號是12385,
執行kill <程序號>就可以殺死程序了, 比如kill 12385
如果覺得每次在手機上輸一堆命令列過於麻煩,可以把上述shell命令寫進指令碼,
注意,如果指令碼放在SD卡下將不可執行,必須放在/data目錄下。
我的指令碼如下
####su
#####echo "Su Success...Opentel Now Get Root Access..."
##cp /sdcard/opentel.sh /data
#busybox telnetd -l /system/bin/sh
echo " "
echo "Telnetd Service Running..."
busybox ifconfig | grep 'inet addr' | grep -v '127.0.0.1' | awk '{print $2}'
echo " "
echo "PID:"
busybox ps | grep telnetd | grep '/system/bin/sh' | awk '{print $1}'