署名されたXCARCHIVEファイルをクライアントと共有すると、ソースコードが表示されますか?

署名されたXCARCHIVEファイルをクライアントと共有すると、ソースコードが表示されますか? IPAファイルを送信するよりも安全性が低いですか?

ありがとう

4

2 答え

.xcarchiveの内部を見ると、 "dSYM"ディレクトリ(アプリケーションのデバッグシンボルを保持する)、Info.plist、およびアプリケーションバイナリを含むディレクトリで構成されていることがわかります。それは、IPAを送るより安全であるべきです。

7
追加された
十分に聞こえる私は16進エディタを使ってアプリケーションのバイナリを見ていました。読み込み可能なコードは見当たりませんでしたが、セレクタ名がたくさん見つかりました。これらは互換性がありませんでしたか?
追加された 著者 Chris,
だから、wevahが言っていることで判断すると、XCARCHIVE上でIPAに行くことでセキュリティが強化されるわけではありません。私には理にかなっています。
追加された 著者 Chris,
それを署名しても、ユーザーがアプリケーションバンドルの中身を突き止めることはできません。何も変更できず、非jailbrokenデバイスで動作することを期待できます。
追加された 著者 Wevah,
私は私の専門分野を超えているのではないかと心配しています。私が尋ねることができるなら、あなたの方法の名前でクライアントができる最悪のことは何ですか?
追加された 著者 Mark Adams,
メソッド名だけに基づいてアプリのすべての機能をリバースエンジニアリングすることができれば誰でもそれに値するでしょう。
追加された 著者 Mark Adams,
申し訳ありませんが、私はあなたがおしゃぶりしていると思います。ディズニーランドと同じレイアウトと場所の名前を持つ遊園地をデザインすることはできますが、それはディズニーランドにはならないでしょう。それはすべて詳細です。
追加された 著者 Mark Adams,
@マークアドミニストレーター:OPの仕事が効果的に価値のないものになるようにアプリをリバースエンジニアリングし、彼はビジネスと彼のIPの両方を失う?
追加された 著者 darvids0n,
@Chris:アプリケーションバイナリでLinuxで strings ユーティリティを実行すると、ソースコードに書かれたすべてのリテラル NSString の値を見ることができます。
追加された 著者 darvids0n,
@MarkAdams:ソフトウェア開発は、単にXを行うメソッドを書くことができるだけでなく、アプリケーションフローを設計し、コードを適切にモジュール化することにもなります。したがって、クライアントが実際にデザイン/フローを見ることができる場合、OPは実際には一部のIPを失います。
追加された 著者 darvids0n,

リバースエンジニアリングが心配な場合は、.xcarchiveディレクトリを配布することは悪い考えです。

具体的には、.ipaファイルには通常Cシンボルテーブルが含まれていません。

objcにリンクされたmach-oバイナリには、objcクラス、セレクタ、impアドレスのすべてを記述するセグメントが含まれます。これは逆転時にはうまくいきますが、Cシンボルテーブルは分散バイナリから破棄することができるものです。

.dSYMディレクトリ(破棄されたシンボルテーブルを含む)は、クラッシュレポート内のスタックトレースをシンボル化できるように特別に保持されます。それを配布する専門的理由はない。

確かに、リバースエンジニアには、シンボルテーブルを持つことは貴重なことができます。

あなたのロジックの一部をリバースエンジニアリングすることを心配している場合は、private C関数(すべてコンパイラに関する限り同じファイル内にある)ですべてを実装し、ストリップされたバイナリのみを配布します(.ipaではなく.xcarchive)。

あなたが強制されている以上にobjcを使用しないでください。

それでも、逆コンパイラでうまくいく人は、それでもすべてを理解するだろうが、もっと難しくなるだろう。

2
追加された