アプリケーションパッケージ解析 [1.68.0]

3DCircleWithoutShadowTransparent.pngフェヴ・ゲームス(fev games)
2015/01/13 13:15:36
アプリケーションパッケージ解析 [1.68.0] の紹介です。

Connor Tumbleson が新たな解析結果を報告してくれました。お楽しみください!

1-68-0.png

2015年01月13日 Connor Tumbleson
アプリケーションパッケージ解析 [1.68.0]

新たなイングレスの解析をご紹介します。バージョン 1.67.1 は小規模であったため解析は見送りましたが、ここに今現在 Play Store 上で 1% 公開されている バージョン 1.68.0 の解析を発表させていただきます。既に公開された人々に不具合が生じなければ、今後数日内に皆さんのもとへも展開されることでしょう。いつも通り、アプリケーションパッケージを確認し、その内に秘められた内容を知ることができました。それではバージョン 1.68.0 を見ていきましょう。

ウェアラブル
お話してきたように、イングレス・ウェアラブルが間もなく登場します。わからないのは、それがいつになるかということです。

wear_generic_bg.png

ご覧いただいているこの画像は、namedwear_generic_bg.png です。これはウェアラブルの背景画像であることを示唆しています。つまり、イングレスのウェアラブル版で背景インターフェイスに活用されるはずです。これはかつて見たことのないロゴ・デザインで、とても見栄えよく思えます。

ウェアラブル・アプリケーションが皆さんとやりとりする手法の手がかりとなる様々な文字列も確認しています。

<string name="IOS_NOTIFICATION_UNLOCK_MESSAGE">launch Ingress</string>
<string name="ACTIVE_MODE_RUNNING">Active Mode online.</string>
<string name="STOP_ACTIVE_MODE">Stop</string>
<string name="ACTIVE_MODE_RUNNING_ABOUT_TO_EXPIRE">Active Mode about to expire.</string>
<string name="EXTEND_ACTIVE_MODE">Extend</string>
<string name="ACTIVE_MODE_PLAYER_RECOVERABLE_ISSUE">There was a problem. Touch to resolve.</string>
<string name="ACTIVE_MODE_SESSION_EXPIRED">Active Mode session has expired.</string>
<string name="NEW_ACTIVE_MODE_SESSION">New session</string>

この文字列にもとづくと、次のような基本機能になると思われます。

  1. セッションの開始または動作中のセッションを延長します。
  2. スマート通知機能を開始し、時計といったウェアラブル端末上にアラート表示します。スマート通知情報をこちらで確認できます。
  3. タイマーはこのセッションがいつまで続くかを示し、「停止」させることも「延長」させることも時間切れを待つこともできます。
  4. このような手法は「アクティブモード」と呼ばれるもので、イングレスの新たなプレイ方法を提供してくれることでしょう。

新たなアイコン(ステータスバー・アイコン)
それ自体の解析はあまり得られていませんが、ステータスバーに利用される画像変更を特定しました。これらの背景は透明となっています。スキャナーに利用するいずれの端末でも調和したものとなるはずです。

Screenshot-from-2015-01-12-212757.png

上述のとおり、これらはいずれも基本的な通知のためのものです。

  • 当日の最新情報の通知
  • 多様な最新情報の通知
  • ポータル中立化の通知
  • COMMの通知
  • ポータル攻撃の通知

難読化
変更点を見つけ出す方法が今までのバージョンとは変わりました。これは予想する変更点を炙り出すために活用していたに過ぎないものですが、今回の変化を下記の例でご紹介します。

バージョン 1.67.1
.field public static final CREATOR:Lo/ח;

バージョン 1.68.0
.field public static final CREATOR:Lo/צ;

ご覧いただいた通り、これは単純な変数変更です。Unicode文字が1文字変更されたに過ぎないのです。これは Proguard のような難読化ツールが用いられた可能性が最も高いでしょう。この変化はバージョン 1.68.0 において数多く行われたもののひとつに過ぎません。膨大な自動検索と文字列処理ツールを用いた置換を行いました。かつては解析を執筆することは容易い作業でしたが、随分と時間の掛かる作業となってしまったのです。バージョン更新されるごとに情報の所在が変わることから、何を探すか予めわかっていなければ「変更」されたデータを見つけ出すことは随分と困難になりました。

これの意味するところは、以前よりも見逃してしまうものが多くなってしまうということです。興味深い情報を求めて3千のファイル群を綿密に調べ上げることは大変な課題となりました。しかしながら、これによって更新ごとにスプーフィングを困難にしていくのであれば、是非とも継続してほしいものです。

総括
今回のバージョンは2015年01月06日に構築され、2015年01月12日に私たちの手元に渡りました。AXAシールドが導入されましたから、アプリケーションパッケージ上に存在しながら未発表の機能はイングレスのウェアラブル版のみとなりました。私たちは今後の解析でもこの開発状況を追い続けたいと思います。

fev games
2015/01/13 13:15:36
Ingress APK Teardown [1.68.0]

Another great teardown article by +Connor Tumbleson. Enjoy!

http://goo.gl/jKuMLF

#Ingress #FevGames

Published on January 13th, 2015 | by Connor Tumbleson
Ingress APK Teardown [1.68.0]

Welcome back to another Ingress Teardown. After a small hiatus with no teardown with 1.67.1, I'm proud to announce a teardown of 1.68.0 which is currently on a 1% rollout to a play store near you. Assuming no errors crop up for those already on it, this version should reach the rest of you in the next few days. Like usual, we can peek into the APK and see what is hidden away. So lets dig into1.68.0.

Wearables
As we've talked about. Ingress wearables are coming. The only question is when.  This image you see on the right (or below) was namedwear_generic_bg.png. This means a wearable background photo. So this could be the background interface used on the wearable version of Ingress. It looks pretty nifty in my eyes, especially since it is a design of the logo we haven't seen before.

We also saw the addition of various strings that hint towards how the wearable app will interact with you (the user).

<string name="IOS_NOTIFICATION_UNLOCK_MESSAGE">launch Ingress</string>
<string name="ACTIVE_MODE_RUNNING">Active Mode online.</string>
<string name="STOP_ACTIVE_MODE">Stop</string>
<string name="ACTIVE_MODE_RUNNING_ABOUT_TO_EXPIRE">Active Mode about to expire.</string>
<string name="EXTEND_ACTIVE_MODE">Extend</string>
<string name="ACTIVE_MODE_PLAYER_RECOVERABLE_ISSUE">There was a problem. Touch to resolve.</string>
<string name="ACTIVE_MODE_SESSION_EXPIRED">Active Mode session has expired.</string>
<string name="NEW_ACTIVE_MODE_SESSION">New session</string>

It appears based on these strings that the basic functionality will be as follows.

  1. Start a Session / Extend a currently running one
  2. This starts a Smart Notification, where alerts can be seen on your watch  / wearable.
    • See information on Smart Notifications here.
  3. Timer starts of how long this session will last, it can be "Stopped", "Extended" or let expire.
  4. This mode has been called "Active Mode" and lets you take your Ingress playing to a new level.

New Icons (Status bar icons)
Not much of a teardown, per se, but I located some changed images that are used in the status bar. These have a transparent background, so they should blend in more to all the different types of devices powering your scanners.

As you can read from above, they are for all the basic notification things like

  • News (News of the Day) notification
  • Multiple News notification
  • Neutralized portal notification
  • Comm notification
  • Attacked portal notification

Obfuscation Again
My method of finding changes is diffing the previous version with the current. This used to expose just the changes like one would expect. However, take a look below at an example of one of the changes now.

1.67.1
.field public static final CREATOR:Lo/ח;

1.68.0
.field public static final CREATOR:Lo/צ;

As you can see, it was a simple change of variable. One unicode char for another. Most likely done by an obfuscator like Proguard. As of 1.68.0, this change is just one of many. Automating huge find and replace operations using sed has worked, but the once manageable job of writing a teardown has become quite the time investment. Information shuffles location on every release so finding "changed" data has become very difficult unless you know what you are looking for.

This means -- I will probably miss more things than I have in the past. It has become quite the task to comb through 3,000 files looking for interesting tidbits. However, if this makes spoofing more difficult on every release, then by all means continue Niantic.

Conclusion
This version was built on January 6 and found us on January 12. AXA Shields have been launched so the only unreleased feature remaining in the APK is Ingress Wearables Edition. We will continue to follow this development, including future teardowns.