らいふうっどの閑話休題

興味のあることをゆる~く書いていく

ADB Helperをハックしてみた(install.rdf,main.js篇)

目次

前回:ADB Helperをハックしてみた(前篇)に引き続き、adb-helperをハックしていきたいと思います

  1. フォルダ内のファイル構成
  2. install.rdf
  3. main.js
  4. 今回のまとめ

フォルダ内のファイル構成
[解凍フォルダ内のjsファイル群]
windowsmaclinux
install.rdf
main.js
adb.js
adb-client.js
adb-running-checker.js
adb-socket.js
bootstrap.js
scanner.js
subprocess.js
subprocess_worker_unix.js
subprocess_worker_win.js

前回jsファイル群は、全て同じと記載しましたが、訂正します。
上の表の通り、WindowsmacLinuxで異なるファイルが有るのが、分かりました。
まずは、install.rdfファイルからハックしていきたいと思います。

install.rdf

rdfファイル
Resource Description Framework (リソース・ディスクリプション・フレームワークRDF) とは、
ウェブ上にある「リソース」を記述するための統一された枠組
weblioより抜粋

ご覧の通り、中身はXMLファイルでした。
スクリーンショット 2014-11-08 21.54.46
各OSとの差異は無いか比較してみると・・・・・。
スクリーンショット 2014-11-08 20.55.54

スクリーンショット 2014-11-08 20.57.15
並びはWindos,macLinuxの順番です。

トピックは、versionタグとupdateURLタグです。
versionタグは、Windowsだけ0.7.0でmacLinuxは0.7.1でした。
この辺はUnix系かそうでないかで違っているのだと勝手に想像しています。

updateURLタグは、ご覧の通りかくOSのURLへ繋がるようになっていますね。

main.js

次は、main.jsを見たいと思います。
winmerge_,main
こちらは、ご覧の通り、各OSでの差異はありません。
関数がどの程度有るか調べると・・・・・・・
main
拡大すると下記画像になります。
スクリーンショット 2014-11-08 21.32.23

アドオンの main.js コードは、アドオンが読み込まれるとすぐに実行されます。
※ADD-ON SDKより抜粋

文字通り、起動時のメインの処理になるようです。
最初の関数から調べてみるか・・・・・?!
スクリーンショット 2014-11-08 22.04.11関数リテラル?で記述してあるコードだ・・・(冷や汗) この漏れにハック出来るのか・・・・?!

色々と調べて見てたら、ど真ん中ストライクが有りました。
アドオンのロードとアンロードのリッスン
https://dev.mozilla.jp/addon-sdk-docs/dev-guide/tutorials/load-and-unload.html
またこちらの方も簡単に解説して下さっています

Lifecycle - Add-on SDK (Jetpack SDK) - あすかぜ・ねっと
http://www.asukaze.net/etc/jetpack/105.html
すみません、未確認な事は後で追記します!!!

  • 『onConnected』,『onDisconnected』辺りはデバイススマホタブレット等)の 切断接続をになっているだろうなとは思います。 103~114行目
  • 『Device』で、デバイススマホタブレット等)のidの取得すると。
  • 『Device.prototype = {~~}』 Device.prototypeオブジェクトの内容です。
    1. connectメソッド:remotePortの接続
    2. シェルメソッド:adbシェルのbindの実行(push,pull)
    3. isRootメソッド:adbシェルでidのマッチングを図り、rootの判定に用いています。 isRoot⇒宿題にさせて!!!!
    4. summonRootメソッド:adb.root()でroot接続をします。 ってか、あおいたん先に(adb push/pullをrootでやりたいときの処方箋)紹介してました。 summonRoot⇒宿題にさせて!!!!
    5. getModelメソッド:デバイス製造情報の取得 getModelでデバイス製造情報の取得かな?

今回のまとめ

正直、前篇,後篇又は前篇,中編,後篇位で終わると
軽く考えていましたが、無理!!!!

と云う事なので!
複数回に渡る事をなりました!

次回はadb.jsファイルの中身からハックしていきたいと思います。
次回公開は、11/16(日)を予定しています。
※守れるとは言っていない。(^^;;;

お暇な方、宜しかったら見て下さい。m(__)m
グンマー@坊主五厘

追伸
愛のあるツッコミ、ご指摘宜しくお願い致します。

追記
宿題やりました!!!。
・・・・が、自分の無知さ加減に
顔から火が出る位恥ずかしいです。

でも、これも修行?!w