2011-01-04 14 views
6

ただ確認したかった: バイナリにあるすべての文字列、URLには何が起こったのですか?App Storeコード難読化?

私がプロジェクトをビルドした後、バイナリの内容を参照すると(プロジェクトが何かと呼ばれると、something.appが生成され、バイナリの中に:something)、Smultronやその他のソースエディタを使ってこの場合、アプリで使用しているすべての文字列、APIへのURL、「login TITLE」(Localization.stringsへのリンク)などのローカライズキーを簡単に見つけることができます。

私のアプリケーションが承認され、アプリケーションをダウンロードしました。 ipaをzipに改名して抽出しました。私の驚いたことにバイナリでは、URLやその他の文字列を見つけることができませんでした。

私のアプリケーションが難読化されているか、Apple DRMによって暗号化されていたことを意味しますか?

よろしく クリス

+1

"strings/path/to/your/binary"を実行するとどうなりますか? –

+0

私はApp Storeで私は上のすべての文字列、メソッド名、ログとを持ってXcodeのから建てバイナリの文字列を実行しますが、:i'4 @ S_ll MrRQ> D:PU YR#WYt Z_〜= Hww @ Z 3A^P wy05 OWlg < cb 9i。 w7g] –

答えて

2

あなたは確かに簡単にそれらを見つけることができます。しかし、ネットワーク接続を監視することによってURL呼び出しも簡単に見つかります。そのトリックは、POSTを使用してSSLを介して通信することです。

App Storeのビルドでは、アプリをある程度確保することができますが(DRMとは何か)、シンプルなHEXエディタでは何かを戻すことができると思います。リバースエンジニアリングは常にオプションです。

私はURLを見つけることについて心配するつもりはない、私はそれらの呼び出しがどれくらい安全であるか心配だろう。人々は常に、あなたが隠したいものを見つけることができます。そのトリックは、彼らがそれを(誤って)使用することを不可能にすることです。

+0

URL呼び出しを試してみるのに十分な専用サイトであれば、SLLやPOSTメソッドでさえ助けにならないでしょう。 SSLで使用されるCONNECTプロトコルは、パケットロガーによって迂回され、システム証明書がインストールされていて、「Charles」のようなプロキシがある場合、プレーンなPOSTメソッドとして読み取られる可能性があります。 –