1

で難読化されたアプリケーションがありますEazFuscator.NET。ただし、これをデバッグすることは (小さなアプリケーションであっても) まったく不可能です。たとえば、これはエラー レポートです。

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Stacktrace:
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at .(Object , RunWorkerCompletedEventArgs )
at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)

バックグラウンドワーカー内でエラーが発生したことを明確に示しています。小さいアプリなのでどこか分かる気がしますが、それは単純に小さいアプリだからです。

ユーザーからの構成ファイルを既に添付しています。エラー レポートにスクリーンショットを含めるためのチェックボックスがあります。

難読化されたコードを使用しながら、このデバッグを簡単にする方法はありますか?

4

2 に答える 2

3

難読化された小さなプログラムでクライアントの問題をデバッグした経験もあります。そして、私はあなたに2つのオプションを提案することができます:

1)クライアントが設定で有効にできる、プログラムの構成可能な詳細ログを作成します。このロギングを使用して膨大な量の情報を収集できます (たとえば、パラメータが渡された各重要なメソッドへのエントリ ポイント)。一般的に言えば、プログラムに適切なログを記録することは、クライアント (クライアントだけでなく) の問題をデバッグする際の時間を大幅に節約します。

2) また、ユーザーが環境へのアクセスを許可する場合は、難読化されていないアプリケーションを一時的に再インストール (または特定の DLL を変更) できます。デバッグが完了したら、変更された DLL を元に戻します。

于 2012-12-29T11:58:29.507 に答える
2

ほとんどの難読化ツールは、元のクラス/メソッド名と難読化されたものとの間のマッピングを示すマッピング ファイルを生成します。これらのファイルは、バージョンごとにどこかに保存するか、または ... 実際のスタック トレースを見つけるために使用する必要があります。

于 2015-02-11T18:14:16.073 に答える