LINEを調べてみました

最近スマートフォンでLINEを使っている人をよく見かけますね。

電話番号とキャリアメールのアドレスを聞くよりLINEのアカウントの有無を
尋ねるほうが多いという人も多いそうです。

さて、このLINEなのですが、googleで少し検索してみると、色々な噂や議論が
されているようです。特に LINEの開発国がどこであるか、という話題や
LINEの個人情報に関する安全性についての話がこれでもかとヒットします。

様々な意見を拝見しましたが、やはり自分で調べてみなければ始まらない。

ということで実際に PC版 Android版の LINEアプリケーションをかる~く
調べてみましたので、結果と考察などを書いておきます。。。

開発国はどこか

安全性等ハードな話に入る前にLINEのアプリがどこで開発されたのか、
調べてみます。 日本の多くの報道機関では、LINEのシステム、アプリは
韓国NHNの日本法人である NHN Japanがその開発の一切を行い。
また、開発者のほとんどは日本人である。という主張を行なっているようです。

Wikipediaによりますと、LINEのアプリの発案は、NHN JAPANの"会長"で、
本国 NHNの取締役会議長 である、韓国人の李海珍(イ・ヘジン)氏による
ものだそうです。 そして開発はNHN Japanが手がけ、開発リーダーは
日本人の 稲垣あゆみさんが担当したということになっています。

本当かどうか確認してみます。

まずは PC版LINEクライアントを調べてみます。
Windows用の実行ファイルであれば、その実行ファイルがどんな環境でコンパイル
されたか、ある程度調べることができます。

試しに、ProgramFilesフォルダにあった明らかに日本人開発のプログラムとして
サクラエディタの実行ファイルを調べてみます。

いくつか有益な情報が確認できます。
細かいバージョンなのもそうですが Language が 日本語 となっており、
たしかに 日本語環境のWindowsにて開発されたプログラムであることが
確認できます。

では、LINEのPC版クライアントと、周辺の主なDLL等コンポーネントを
調べてみましょう。

主要なコンポーネントは全て韓国語環境で製作されているようです。
さすがに日本法人といっても、買収されたLivedoorの残党さんたちもいるはず
ですし、技術者の使っているOSは日本語、最悪英語だと思うのですが。。。

続いてアンドロイドアプリについても調べていきます。

通信のキャプチャなども行ったのですが、調べた結果がまとめきれていないので
そちらは後日書くとして、今回はアプリの開発の話です。

今回は LINE_v3.3.4 のapk を調べました。

まずは apk-tool にて apk のアンパック
dex2jar と jd などを使ってできるだけ可読な状態にしています。

まずは apkアンパックをした状態で色々データをあさってみます。

まず目についたのは assets フォルダです。
このフォルダにはアプリケーションが使用する追加のデータを配置することができます。

幾つものHTMLファイルがでてきました。
これをオフラインモードのFireFoxで開いてみます。

ハングルに出くわしました。
このフォルダにはさらに plugin というフォルダあるので
こちらも開いてみます。

なにやらjpg画像ファイルが一覧されました。が、破損画像と表示されて表示
することはできません。 ここでちょっと違和感に気が付きました。
line_api や authentication など およそ画像タイトルには似つかわしくない単語です。

と思ってバイナリエディタでこの画像を開いてみると。。。

おもいっきりテキストデータでした。 javascriptのようです。

どのデータにももれなくハングルのコメントがつけられています。

唯一、ChannelBrowserだけは、NHN Japanの記載がありました。

ちなみにこの偽装jsの中に cordova というデータがあります。
これはPhoneGap( Cordova )  というJava scriptで開発できる
マルチプラットフォームフレームワークで、iOSやAndroid、
BBerry、WP系でも同じコードを動かすことができます。

続いて、アプリの本体部分も調べてみます。
Javaのデコンパイラを使って class.dex を覗いてみましょう。

これである程度アプリの中身が見えます。
上記の通りcordovaが使用されているのが確認できます。
ただし、LINEは膨大なソースを含んでおり、クラス名なども復元できない
ものが多いので詳しく調べるのは大変です。
今回は処理を追うよりぼんやり眺めてみます。

パッケージはこんなかんじです。
krドメインが見えていますが、容量を調べたところほとんど
jp.naver に含まれていました。
具体的には LINE HOMEやLINE cafe の名前がjpドメインで
開発されているようでした。

一方 kr.naver.amp.android には どうやら音声通話に関する
コードが含まれているようです。

とりあえずソースをさらっと眺めて見えたのは

1,LINEが(韓国系企業にしろ)純日本チーム製とは言いがたい。
2,日本チームの名前で開発されたのはHOMEやCafeなどで
  通信関連の重要部分は多くを韓国人開発者が担当している
  可能性が高い
3,周辺機能は日本ドメインでの開発がほとんど
といったところでしょうか。

LINEというアプリ自体は非難するつもりはありませんが、
一時期あれだけ純日本製ともてはやしてユーザーを爆発的に
増やしたのも事実ですので、微妙なところですね。
本当は 準日本製 が正しいようです。

今回はあんまり技術的なことではなくてとりあえずどこでどうやって
開発されたのか ということを眺めてみたので、あまり好奇心を
刺激するような内容ではなかったですね。。。

今、LINEの通信をキャプチャーしてみたりしているので、
そちらで面白いことがわかればまた記事にしてみようと思います。
特にログイン時などでどこと通信しているのか や、音声通話は安全なのか
それと、各所で言われている個人情報の安全性の観点で調べてみようと
思っています。

まだキャプチャしただけでなにも調べていませんが、音声通話に関して言うと
接続確立後はP2Pのようで、SRTPなどといった単語も見えたので、
それなりに秘匿性は高そうです。

一部ブログで音声通話も盗聴されているなどという書き込みも読んだ記憶が
あるのでその辺りの真偽も探ってみます。

僕の技術がいたらずなにもわからなかったりすると記事にならない可能性も
十分ありえるので上記のようなことに興味を持っていただいた方は、
諦め半分でお待ちください。。。

コメントを追加する