Gecko JavaScript 之 “改 code 卻不 build code" 小徑。

8515474-3d-abstract-digital-code-connection [1]

問:

常常我們會收到某些 Gecko 的問題,但卻是 log 不足或是可能需要在手機上摹擬某些特殊/額外的資訊才有可能重現問題。而我們又確定這個問題,大概會從 Gecko 的 JavaScript 檔案下手。但是,我又不想抓/編譯程式碼,這個症狀可有解?

答:

有的!!的確是有方法可以透過不抓/編譯程式碼的手續就可以把想做的事情達成的。

(記得拿出一台 firefox OS 的機器邊看邊操作嘿,(啥,沒機器?? 那就去"買"一台啊!!!!))

 

首先,我們先確認一下,你所想看的部份的 log 有沒有打開 [2]。

舉個 RIL (Radio Interface Layer) [3] 的例子來說,

1. ril_consts.js

2. RadioInterfaceLayer.js

喔喔! ril 相關的 log 沒開!!!!

可是,還好有 preference 可以手動的去打開它。

來吧~我們就來動手把它給打開吧。

adb logcat 來看一下,是不是可以看到 “RadioInterfaceLayer" 這個關鍵字出現在 log 裏面了呢(如下面的範例)?

 

這時候,你會問說,可是 我需要的資訊不是現有的 log 裏面就包含的。 那我該怎麼辦???

我有沒有辦法不去編譯程式碼,同時變造一些資料好讓我可以做一些測試?

那我們就來看下一個例子囉!!

 

舉個偽IMEI來當作範例。

1. 確認當前 IMEI 為何。

進撥號畫面,輸入*#06# [4],查看一下當下手機告訴你這台機器的 IMEI 是什麼!

2013-10-30-00-57-03

2. 從手機中把需要的檔案拉出來:

 

3. 修改步驟2.5中所找到的檔案,將 IMEI 偽造成我們想要的資料:

在此,我們將 IMEI 假造成為"123456789012345″。

modified

 

4. 打包/跟新檔案:

 

5. 重新查詢 IMEI :
2013-10-30-13-32-53

完成了。。。 IMEI 被我們偽造成123456789012345了。

修改 Gecko 裏面的 JavaScript 檔案,卻不重新 build code ,是不是相當的簡單呢?

 

有沒有想試試看的東西了?

還等什麼?快點去試一把吧!!

 

註:

請確定你所使用的機器是開發者的版本,並且取得 root 的權限,上面的步驟才玩的下去喔。

參考資料:
[1] 圖片來源 – http://www.123rf.com/photo_8515474_3d-abstract-digital-code-connection.html
[2] https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks#Changing_preferences
[3] https://wiki.mozilla.org/B2G/RIL
[4] 3GPP TS 22.030 version 11.0.0 Release 11, 6.7 Presentation of IMEI

您可能也會喜歡

目前找不到相關文章

共 1 則讀者回應

對此文章發表回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *