2

Microsoftのsigntoolを使用してexeに署名する方法のほとんどを理解しています。ファイルが変更されていない場合にのみ実行したいexe(C#)があり、正しく理解していれば、これで確認できます。私が理解していないのは、ファイルを検証する方法です。ファイルを検証するためのコードが検証しているexe内に構築されている場合、exeを逆コンパイルし、ファイルをチェックするコードを削除して、再コンパイルすることはできませんか?

コード署名についての私の理解は、基本的に次のとおりです。

画像クレジット: https ://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html

しかし、ファイルの整合性をチェックするメカニズムをファイルから完全に取り出して、変更後にプログラムを実行することができない方法がわかりません。

4

2 に答える 2

-2

私があなたをよく理解しているなら、あなたは既存のexeアプリケーションにいくつかのコードを挿入したいですよね?もしそうなら、コードインジェクション、exeファイルで操作する方法についてもっと学ぶのが最善です(アプリケーションの既存のコードに新しいコードを追加するのに必要なほど大騒ぎする必要がないので、一般的にこれは非常に簡単です既存のものを変更して)。そして、はい、それが既存のexeと通信する唯一の方法であるため、アセンブラを学ぶ必要があります。exeは、その中のオブジェクト/コードのラッパーおよびスターターとしてのみ機能するように形成されているため、何もコンパイルする必要はありません(そのため、exeを操作するよりも、新しいコードを入力する方がはるかに簡単です。既存のものでは、コードを台無しにしてもエラーは発生しません)。まず、

于 2012-06-04T01:33:16.943 に答える