アプリケーションパッケージ解析 [1.89.0/1]

3DCircleWithoutShadowTransparent.pngフェヴ・ゲームス(fev games)
2015/12/18 06:41:44
皆さん、ごきげんよう。敢えて言及するに足る変更点もなかったため、バージョン・アップにともなう解析も数回お休みさせてもらっていましたが、カプセル操作(ソート、複数選択)の強化という興奮隠せぬ変更が行われました。これらの変更は全てのエージェントへ適用されていますが、隠された変更がないか解析を進めています。

1-89-1.png

今回の解析には非常に手間取っています。まず1.89.0でイングレスの内部データ構造が刷新されており、あらゆる復号ツールを受け付けませんでした。折しもそのツールには早急に対処すべき不具合修正がありましたが、その修正に難航したのです。修正を終えたのはアノマリーへ向かう車中のことです。このような経緯で遅れてしまいましたが、紹介いたしましょう。

Upsight の解析
Androidのマニフェストファイルとソースファイルに大規模な変更が行われていることがわかりました。Upsight 社を除外すれば、いずれもGoogle  Analytics と思しき新たな分析エンジンを参照していました。
マニフェストファイルには、基本的な送信情報が記載されていました。

  • ハッシュユーザーID
  • レベル
  • ファクション
  • 言語
  • タイプ
    • アプリケーション・オープン & アクティブ
    • アプリケーション・クローズ
    • アプリケーション・ポーズ(最前面)

この変更に関しては耳にしたこともなかったため、イングレスのプライバシーポリシーを確認までしました。そこには次のような興味深い一文がありました。

第三者への情報提供について
調査、分析、統計などを目的に集計情報や非個人情報を第三者へ提供する場合があります。

この情報が集計されているか否かを断定することはできませんが、一見するとどのリクエストも端末固有の情報のようです。私は1.89.0スキャナー端末のリクエスト送信や特定動作あるいは200~400秒間ごとに同社へリクエスト送信された次の情報を監視していきました。

Screenshot-2015-12-12-at-7.42.48-AM.png

突出していたフィールドには次のようなものがありました。

  • 緯度・軽度
    • 確かにイングレスの仕様上不可欠な情報ですが、第三者へ提供されています。
  • ユーザーID(ハッシュ化)
  • 端末ID(ハッシュ化)

そこで私はUpsight 社の測定基準を調べてみると、それは実に素晴らしいものでした。膨大な情報量がレポートと手軽にソートできるグラフとで提供されていたのです。

コードの追加・削除
今回の更新では僅かながら追加・削除が行われています。

  1. 1. 「招待専用」システムの削除
    招待しかなかった時期の人々であればご存知でしょう。
  2. 依存型「FasterXML」の追加
    これはJSONの読み込みおよび構文解析に用いられます。イングレスおよびUpsight がサーバー・クライアント間通信に活用するものです。
  3. アンドロイド・ウェア機能の削除
    心配する必要はなく、バージョン1.89.1で再搭載されています。

総括
1.89.0は12月2日に構築され、12月7日に入手しました。同じく1.89.1は12月10日に構築・公開されています。Upsight は膨大なコード整理の実施された今回のバージョンの大規模変更でした。

fev games
2015/12/18 06:41:44
Ingress APK Teardown [1.89.0/1]

https://wp.me/p56hj3-1GI

#FevGames #Ingress 


Published on December 17th, 2015 | by Connor Tumbleson
Ingress APK Teardown [1.89.0/1]

Welcome back everyone. We took a break for a few versions of teardowns, as there was not much worth mentioning. We did have some exciting changes though with the enhanced capsule handling (sorting, multi select, etc). These changes were visible to all agents while we try and focus our effort to finding things that hide from the public eye.
Now this teardown is late, really late. First off, this version of Ingress (1.89.0) started a new data structure of internal elements. This structure broke all my tools that I use to decode. Luckily, I also maintain such tools so fixes had to be done and quick. This bug took far too long to fix. Once I finally fixed the problem, I was in a car driving to an anomaly.
Thus we are late, so lets get into it.

Upsight Analytics

I noticed a large amount of changes to both the AndroidManifest and source files. They all referenced this new analytic engine (Think Google Analytics), except from a company known as Upsight.
The Manifest file showed a basic list of what was being sent.
Hashed User ID
Level
Faction
Language
Type
Application Open & Active
Application Closed
Application Paused (Foreground)


I hadn't heard an update about this change, so I took a peek at the Ingress Privacy Policy. This line interested me (shown on right).

Information Shared with Third Parties.
We may share aggregated information and non-identifying information with third parties for industry research and analysis, demographic profiling, and other similar purposes.

I can't speak if the information is aggregated or not by the time it reaches the source, but on initial look every request seems unique to my device. I monitored the requests my 1.89.0 scanner sent and between certain actions or 200-400 seconds a request was sent to this company with the following information.

With a lot more information than I thought. Fields that stuck out to me were
My latitude & longitude coordinates
Granted Ingress needs those for the game to function, but a 3rd party

Code Cleanup & Additions

This version also removed & added a few things
Removed the old "invite only" system.
Those who were around during the invite only days will remember this.
Added a new dependency "FasterXML"
This is used for reading/parsing JSON
Conveniently what both Ingress & Upsight uses to communicate between server & client.
Removed Android Wear (Ingress Wearable)
Never mind. Version 1.89.1 added it back.

Conclusion

1.89.0 was built on Dec 2nd and we obtained it on Dec 7th. Likewise 1.89.1 was built and released on Dec 10th. Upsight was the large change of this version with a large amount of code cleanup done.