BV1AL 之無所不記

2012-07-31

Android root最後一里路, 以及 OTG

對於已經能經由 adb 連進手機並且有root權限的人,卻受困於從手機本身的terminal
無法執行 su, 就算系統裡都已經有 su 了, 它還是會告訴你 permission denied 或像是 
uid xxxxx is not allowed to su, 因此很多事不能做, 包括chroot, 真是令人不爽。

這最後一里路就差兩樣東西,我們可以到 http://androidsu.com/superuser/ 下載
Superuser-x.x.x-arm-signed.zip 回來解開只拿其中的 Superuser.apk 以及 su
, 分別把Superuser.apk 丟到 /system/app/ 以及把 su 丟到 /system/bin/
當然要先 remount /system/ 成可讀寫,然後 chmod 06755 /system/bin/su

如果系統裡已有別的 su 版本,也順便把它 rm 掉, 裝好後先關掉你原先開啟的 terminal
再重跑一次(不必重開機),這樣從手機本身開啟 terminal 或像是 irssi-connectBot
就可以執行su 然後做愛做的事了。個人是推薦 irssi-connectBot, 它俱有像是 Ctrl, Alt,
Esc 等等按鍵的功能。

這個 Superuser-xxxx 從 Froyo 到 ICS 都適用。那個網站還同時提供 x86 版本,如果
玩 x86 Android 有需要的話也可以抓來 su 一下。


關於 OTG 接頭

之前在光華商場一帶買了一支包裝上寫著 OTG USB 接頭(一頭microUSB 一頭標準USB,
NT$60)回來,結果不能用!

後來在露拍又買了一支(NT$30),終於可以用。差別在 microUSB 那一端的第四腳(ID)
跟第五腳(GND)有沒有短路,沒有短路的只能當 microUSB 轉標準USB 轉接頭(可以讓
adb工作沒問題),有短路的才能讓 OTG 當 host 用,可以連接鍵盤、老鼠、外接碟、
HUB 等等。

方便的話最好在購買的當場用三用電錶量一下,確認哪支腳是開路還是短路,但是
microUSB 腳很細,因此電錶的探針需要綁上像是大頭針之類的很細的金屬,標準
USB 那一端最好也插一片紙來絕緣它的外框,這樣才能順利量測。

標籤:

2012-07-22

MSN是最便利的VPN

說來很簡單,不過在孤狗上找了半天好像都沒找到現成、可用的,因此
要自己動手做。

簡單來說:
1. VPN的目的是讓我們能從遠端(防火牆外)進入在防火牆內的主機
2. MSN的目的是讓我們毫無阻隔的傳送訊息(主要為文字)到天崖海角

把兩者組合起來,只要防火牆沒擋MSN的話,我們就可以透過MSN把指令
傳到天崖海角的主機裡,從某個角度來看這要比VPN還low cost很多!因為
完全沒有架設成本,無需動到任何網路設定,就讓我們有手指直接按在遠端
主機鍵盤上相同的效果。

適合用MSN來指揮的就是接受指令的環境,那麼Linux便是首選啦!

這樣,不管是單一方或雙方都在防火牆的內部,一樣可以遙控對方。

工作邏輯就是MSN client在收到某種字串(message)時,可以傳送給
某個外部程式(也就是作業系統裡的程式、軟體),然後將執行的結果
回傳給送訊過來那一端,這樣就達到遙控的目的了。

其中當然還要建立allow list,只允許某些對象進行遙控,或進一步將
對象分級,各用各的權限,不能被大家亂玩。

說到這裡,只要將『被控端』準備好,『主控端』可以用任何現成的MSN軟體。

但是這裡還牽涉到加密的問題,因為MSN的message是不加密的明文(字串)
,因此你傳送的所有內容是可以輕易的被中途任何人讀取,特別是有關
主機上的東西被讀取總是不好的,除非你的主機完全沒有任何安全考量,
因此還是要幫message加密。

工作方式便是送、收雙方各持有一個相同的key,送出之前把message加上key
來進行加密運算,然後送出。收到message的一方則根據key將收到的內容還原
成一般文字。這裡又牽涉到傳送的問題,因為文字經過用各種加密演算出來後,
可能會變binary,而MSN message主要是傳送『文字』,於是我們要再把它以
另外的演算(如base64)轉換成text才能當成一般message由MSN送出。

這樣藉由MSN做一來一往的遙控便大功告成了。

標籤: