45

配布用の静的ライブラリとしてコンパイルしたObjective-Cのライブラリを完成させました。

これを逆コンパイルするチャンスはどこにあるのか知りたいと思いました。

  • これを実行できるソフトウェアを知っていますか?
  • もしそうなら、どうすれば私をよりよく保護できますか?

編集:私の静的ライブラリはiPhone/ARM用に作成されています

アプリのいくつかのパラメーターに応じて、デモまたは完全なコードとして実行できるアルゴリズムを作成しました。X変数を使用してオブジェクトを初期化し、フルバージョンのロックを解除します。彼らがキージェネレーターを作成できるように、このアルゴリズムを見ることができるかどうか疑問に思いました。

4

3 に答える 3

84

実行すると逆コンパイルできます。Objective-Cは、その動的な機能のおかげで、特に読みやすいコードに逆コンパイルするのが簡単です。少し難しくしたい場合は、ほとんどのコードをプレーンCで記述し、実行可能ファイルを削除できます。もちろん、アプリケーションの設計を管理しにくくするというトレードオフがあります。しかし、自分自身に正直に言ってください。誰かがあなたのコードを解読したいのなら、あなたはそれらを止めることはできません。クラッカーには事実上無制限の時間と熱意があり、クラッカーを止めるためにあなたが行った斬新な努力に実際に興奮するでしょう。クラックできないソフトウェアを作った人はまだいないし、世界最大の企業が試した。特にStackOverflowで質問する必要がある場合は、それらよりもうまくいくことはありません。

逆コンパイルを阻止するために時間をかけ、それを使用して製品を改善します。これにより、ROIが大幅に向上します。

于 2010-02-25T18:32:28.510 に答える
60

何から身を守ろうとしているのかは明確ではありません。はい、リバースエンジニアリングできます。最も単純なツールはotool、標準の開発者ディストリビューションの一部です。

otool -tV <library>

そこから、 iPhoneをサポートし、この種の作業に非常に適したIDAProのようなものに出くわします。その間に、iPhone/ARM用のotxのリワークがまだ見られないことに本当に驚いています。最終的に1つが表示されるのを見て驚かないでしょう。そしてもちろん、物事がどのように流れるか、さまざまな時点でのデータが何であるかを理解しようとしている場合は、gdbがあります。

自分を守ろうとしていることについてもっと詳しく知っているなら、いくつかの的を絞った答えがあるかもしれません。それを超えて、チャックのコメントを読んでください。

于 2010-02-25T18:43:26.657 に答える
5

ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled / PopularOfLibrary

もしあなたが本当に知りたいのなら、私はそれをあなた自身で逆コンパイルしようとします。これがPPC、Intel、またはARMのいずれであるかは、違いを生むとは言えません。これがInteli386Decompilerのデ コンパイラです

これを制限するためにあなたが何ができるかわかりません(私は多くはないと思います)。コードはいつでもリバースエンジニアリングできます。javaまたは.netを使用していないことを嬉しく思います。彼らの逆コンパイルはとてもいいです。

于 2010-02-25T13:23:09.187 に答える