アプリケーションのコンパイル後に GUI を変更することは可能ですか、それとも可能にするべきですか?

StackOverflow https://stackoverflow.com/questions/4607637

  •  25-09-2019
  •  | 
  •  

質問

私は Linux ユーザーですが、Glade が生成する XML ファイルは簡単に変更できるため、Glade を使用して GUI を設計することに非常に躊躇していました。大きな問題ではないように思えますが、単に担当者を変更したくない商用アプリの場合はどうすればよいでしょうか?

私は時々 Mac OS X を使用するのですが、Mac OS X では GUI に「.nib」と呼ばれるファイルが使用されていることがわかりました。これらは基本的に Nextstep と Openstep で使用されるものと同じタイプだと思います (これらのファイルを編集できる Linux アプリもあります)。とにかく、これらのファイルはアプリケーションバンドルに含まれており、 一部の人々, 、完全に編集可能です。この人物は、Keynote のインターフェースの編集にも成功したと主張しています。

さて、なぜそんなことが可能なのでしょうか?エンドユーザーがインターフェースを変更してもまったく問題ありませんか?それとも、従来の GTK アプリのように、コンパイルされたアプリケーション コードに直接 GUI を含めた方が良いのでしょうか?

役に立ちましたか?

解決

OS X nib ファイルはオプションの 1 つです。もう 1 つのオプションは、プログラムで処理することです。Android の場合、XML ファイルで GUI を定義することも、プログラム コードで定義することもできます。Windows WPF では、UI は XML で作成されます。Firefox/モジラ?XUL、別の XML ベースの UI 言語。

最新の GUI ツールキットのほとんどには、これらのオプションの両方が備わっているか、ファイル内で UI を定義するだけのオプションもあります。

ただし、バイナリであっても変更可能です。優れたバイナリ リバース エンジニアリング ツールを使用すると、可能性が広がります。本当に確実である唯一の方法は、Apple が iOS で行ったことと同じことを行い、署名されたコードを実行することです。バンドル全体はキーによって署名されており、変更された場合は実行できません。

これはほとんどすべての人にとって問題ではありません。UI が変更されていることをなぜ気にするのでしょうか?基礎となるコードはそうではないため、機能を追加または変更することはできません。

当然のこととして (そして少し話題から外れますが)、次のような懸念があるかもしれません。 もう少しこのようなものを.

他のヒント

私は実際にそれで問題が表示されていません。彼のUIアップユーザー台無し場合、それは彼の問題です。 moddableゲームのようなものと考えて。ユーザーは常に彼らを愛し、そして最後に、ほとんどのゲームはそれから恩恵を受ける。アプリケーションのユーザーインターフェイスに関する秘密は何も通常ありません。ある場合、あなたは常に暗号化のいくつかの並べ替えを行うことができます。

他の人が言ったように、あなただけの不許可編集する場合は、

、あなたはまた、チェックサムを追加することができます。

のxmlを指定もう少しインターフェイスのルックスが好きなものより。コンパイル時にイベント処理コードがなければ、それはかなり役に立たないのです。私の意見は、顧客が自らの責任でそれを変更し、あなたが実際に彼らのハックのうちのいくつかの無料の有益な改善を得る可能性があります。

あなたは、人々がそれを変更することについて、本当に妄想している場合は、XMLを読み込む、またはヘッダファイルにXML文字列をコンパイルするときに

、あなたは常にMD5ダイジェスト検証ステップか何かを追加することができますが、利点の多くは敗北。

テーマ・エンジンは、パラサイトのような缶ツールとして、あなたのGUIを大幅に見える変更を行うことができます。グレイドのレイアウトを更新する - 自分の責任で - 。これらのいずれよりもはるかに安全です。

とにかくUIをカスタマイズするユーザーと何が間違っている?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top