物事がどのように機能するかを確認するのに役立ちますが、合法性についてはわかりません
4 に答える
ほとんどのMacアプリは、Objective-CでCocoaを使用して作成されています。これはコンパイルされた言語ですが、逆コンパイラーが使用できる情報がかなり残っていることを意味します。
この情報を活用する逆コンパイラーがたくさんあるかどうかはわかりませんが、少なくとも聞いたことはありません。
ただし、別のオプションもあります。Fスクリプト。
F-Scriptを使用して、実行可能ファイルに接続し、そのインターフェイスを調べることができますが、ソースほど良くはありませんが、実行可能ファイルがどのように構築され、どのように動作するかについてかなり明確なアイデアを得ることができます。
合法性の問題について:
IANALですが、私が知る限り、互換性を目的としたリバースエンジニアリングは多くの法域で合法であり、特定のEULAで特に禁止されていない限り、実行可能ファイルを逆コンパイルしてコードを調べることが違法であるとは想像できません。
編集:特にWRT Steamは、おそらくCocoaで記述されていませんが、何らかの.NET互換性レイヤーを備えたC#です。Mac OS X用のアプリケーションの作成方法を学びたい場合は、おそらくここから始めるのは適切ではありません。
オープンソースのアプリなら、はい。それ以外の場合は、逆コンパイルによって可能ですが、出力を見るのは本当に面倒です。カテゴリとクラスのプロトコルとインターフェースだけが必要な場合は、class-dumpを参照してください。
nib逆コンパイラについては知りません。
逆コンパイルが合法かどうか: 弁護士に相談してください。これは管轄区域ごとに異なる場合があります (おそらく異なります)。
Mac アプリのソースを表示することはできますか?
現実的には、いいえ。確かに、逆コンパイラを使用してのぞき見ることができるかもしれませんが、得られる出力の種類は読みやすいものではありません。この質問をしている場合、このルートはおそらく役に立たないでしょう。
特に GUI と、Mac 用の Steam アプリの仕組みに興味がある
他のほとんどのアプリケーションが動作するのとほぼ同じように動作することは良い賭けです。標準の Cocoa コントロールを主に使用する典型的なアプリケーションとは異なる外観にするために、カスタム コントロールを使用する場合があります。しかしその下では、MacOS X 用に作成されたほぼすべての GUI アプリケーションが、Cocoa が提供する実行ループ、レスポンダー チェーン、およびビュー階層を使用します。主な例外は、OpenGL や WebKit などの代替フレームワークを使用して構築されたアプリケーションです。
具体的には、Steam アプリケーションが何をしたいのかを理解してください。Cocoa が提供するツールを調べて、自分で理解できるかどうかを確認してください。そうでない場合は、ここで質問してください。