アプリケーションパッケージ解析 [1.65.0]
フェヴ・ゲームス(fev games)
2014/11/18 13:55:22
フェヴ・ゲームにおいて Morgan Jones 協力のもと Connor Tumbleson がイングレスの解析を初めて公開いたします。

2014年11月18日 Connor Tumbleson
アプリケーションパッケージ解析 [1.65.0]
新たなイングレスの解析をご紹介します。従前のバージョン 1.64.0 までと比較し、今回のバージョン 1.65.0 は異なることにご注意ください。未発表あるいは導入を間近に控えアプリケーションパッケージに隠されている膨大な変更に驚かれることでしょう。より手間を掛けたものとなります。それではバージョン 1.65.0 を見ていきましょう。
変更
通常、新たなバージョンでは、およそ300~1200ファイルに変更が行われています。これは難読化ツールのProguardを使用することでソースファイル内の変数名称を変更させることで、差分報告に膨大な誤認識を引き起こします。バージョンを追うごとに、私の扱うツールもこの処理に適用していっていました。
バージョン 1.65.0 ではそれも様変わりしました。難読化に新たな手法が加わり、アプリケーション内のものの隠蔽が幾分強化されたのです。難読化させるためにディレクトリ配置が変更され、データ再配置のためだけにUnicode変数が追加されていました。バージョン 1.64.0 と1.65.0 を比較することでその全体を知ることができます。
7109ファイルが変更され、236,284の挿入と202,269の欠失がありました。
これは極めて大規模な差分報告です。新たな難読化にはGoogle Play 内部サービス、JSON パーサー、libGDX の新バージョンが含まれていました。どうやらこれら全てが依存して更新されたもののようです。
新アイテム「エキストラ・シールド」
新アイテムを調査した際に幾つかのファイルを目にしました。「エキストラ・シールド」と名付けられた新アイテムを見つけ出した際には大いに驚いたものです。通常、開発中のアイテムには、ファイル内に可読名称とその説明文が含まれていますが、このエキストラ・シールドでは可読名称の文字列もその説明文も null となっています。おそらくはナイアンティックも事前に情報が解析されてしまうことに辟易とし、導入準備が整うまでは説明文を空白のままにしておくでしょう。このMOD画像は存在していましたが、今では取り除かれてしまっています。
このアイテムのための新たなモデルとサウンドがありました。サウンドは下記から再生できますし、モデルはサウンドの次にある動画でご覧いただけます。
この音声では、「AXAシールド」と言っているようです。Morgan Jones の協力を得て、憶測を裏づける動画を得ました。
このアイテムに関する私たちの考えをご覧ください。
Android ウェア
- Android ウェア・アプリケーションの更新が必要です。
- Android ウェアを更新します。
- Android ウェア・アプリケーションが更新されるまでこのアプリケーションは実行できません。
この文字列は、Android SDK ビルドツール19 へのアップグレードで追加されたもののようです。はっきりとはわかりませんが、この文字列は確かにアプリケーションパッケージに組み込まれたのです。敢えて言及しようと考えたのは、実際にAndroid ウェア版のイングレスが登場する可能性はあると判断してのことです。
宣伝
- 宣伝にギャラリーへの画像保存を許可しますか?
- 宣伝にイベント・カレンダーの作成を許可しますか?
改めて言えば、イングレスにはギャラリーもイベント・カレンダーも実装されてはいないにも関わらず、この文字列が存在していました。したがって、これは存在するとの報告に過ぎません。
Google ウォレット(アプリケーション内電子決済システム)
独自の整理コードが幾つか存在していました。
色調部分には
- res/color/wallet_[primary/secondary].xml
レイアウトには
- Theme.IAPTheme
- WalletFragmentDefaultStyle
そして文字列があったのです。
Buy with Google
新アイテムと広告、そしてウォレットが並び、この新アイテムはウォレットに関わってくるのではないかと考えてしまいますね。これら全ての機能は今回のバージョンで追加されていますから、おそらくは何らかの関連性があるのではないでしょうか。
それから、今回のバージョンではコードがすっかり再編されてしまっています。エンドゲームといった他のモバイル・アプリケーションとのコード共有が図られているのかもしれませんが、イングレスには直接的な影響を与えてはいません。
その他
- [新規] enableIOSGridPhotoViewer
- [廃止の可能性] enableIOSRecruit
- [廃止の可能性] enableIOSPortalDiscovery
- 2014年11月14日構築、2014年11月17日実装
総括
新たな開発サイクルが開始されました。コードが再編され、依存関係が更新され、新たなアイテムや変更が行われようとしています。開発は何ら停滞した様子はありませんが、ミッション機能の実装以来不具合の修正にとどまっていました。いよいよ本格的な機能開発が開始されたと見て間違いないでしょう。
fev games
2014/11/18 13:55:22
Ingress APK Teardown [1.65.0]
Fev Games is proud to bring you its first Ingress Teardown by +Connor Tumblesonwith an assist from +Morgan Jones.
http://goo.gl/gqYFuZ
#Ingress #FevGames
Published on November 18th, 2014 | by Connor Tumbleson
Ingress APK Teardown [1.65.0]Welcome back to another Ingress teardown. For those new to Teardowns, we simply compare the previous release (1.64.0) to the current one (1.65.0) and note the differences. You would be surprised at the amount of changes that go un-announced or simply hide in the APK for an upcoming release. With that out-of-the-way. Lets dig into 1.65.0.
Changes on Changes
Usually a new version has around 300-1200 files changed. This is because Proguard (the obfuscator) used for Ingress shifts the naming of variables among the source files which causes quite a lot of false alarms in the diff reports. As versions have come out, my tools have become "smarter" at handling this.1.65.0 changed all of that. We are looking at a newer iteration of obfuscation and a bit more effort into hiding whats in the APK. Directories shifted locations and even Unicode variables were added to just relocate data for the purpose of obfuscation. This can be seen overall via the diff report of 1.64.0 compared to 1.65.0.
7109 files changed, 236,284 insertions(+), 202,269 deletions(-)
This is a huge diff report. On top of a new obfuscator version, new versions of the internal Google Play Services, JSON Parser and libGDX have been included. This seemed like a version to just update all the dependencies on.
New Item: EXTRA_SHIELD
There are a few files I watch when looking for new items. This time I was quite surprised when I saw a new item named "EXTRA_SHIELD". Usually when items are in development (like Capsules), their entry in this file includes a human readable name and a description. (Like EMITTER_A = Resonator). In the case of EXTRA_SHIELD, the value for the human readable string was null along with a null description. This is probably because Niantic is getting tired of teardowns revealing information before they can, so they keep the descriptions blank till such item is ready to launch. An image was included for this mod, but the image is completely blank.There were new models and sounds for this item. The sound can be played below and the model can be seen in the video below the sound.
Use Up/Down Arrow keys to increase or decrease volume.
The sound appears to say "AXA Shield". Thanks to Morgan Jones, we have a video of the item which confirms our guesses.
Read on for what we think this item is doing.
Android Wear?
- An application requires an update to the Android Wear app.
- Update Android Wear
- This app won't run unless you update the Android Wear app.
It is quite possible these strings are added in the upgrade to Android SDK Build Tools 19. I'm not sure, however the strings are in the APK regardless. So I thought I would mention it, because it might actually be an extension for Ingress to Android Wearables.
Ads?
- Allow Ad to store image in Picture gallery?
- Allow Ad to create a calendar event?
Once again, these strings seem strange because there is no picture gallery or calendar in Ingress. Yet, the strings are there. So just reporting.
Google Wallet / In App Purchases ?
There were some unique references in the colors to
- res/color/wallet_[primary/secondary].xml
Along with the following layouts
- Theme.IAPTheme
- WalletFragmentDefaultStyle
and the string
- Buy with Google
With a new item, possible ads, and wallet. It makes me wonder if this new item potentially plays into our wallet. I'm really reaching there, but all these features were added in this version so they could possibly be connected. Then again, this version was completely reorganized code wise. Its quite possible the code base is shared among other mobile apps (Endgame) and the changes don't directly affect Ingress.
Nitty Gritty Knobs
- [new] enableIOSGridPhotoViewer
- [deprecated] enableIOSRecruit
- [deprecated] enableIOSPortalDiscovery
- Built November 14, Obtained November 17
Conclusion
A new cycle of development has started for Ingress. Code has been reorganized, dependencies updated and a new item/change is coming. Development seemed to have stalled with nothing but bug fixes since the release of missions. It's safe to say active feature development has started from our point of view.
フォローしませんか?