2017-11-17 2 views
0

私の会社では、私の部門で現在公開されている巨大なソフトウェアパッケージ(C#で書かれています)を購入しました。営業秘密の理由から私の会社は開発者とサービス契約を結ぶことを選びませんでしたので、今私は自分自身でソフトウェア/ハードウェアを学ぶ立場にあります。これを実行している間、私は元に戻すことができなかった以下のエラーを引き起こしたある時点で変更を加えました。レポートを生成しようとすると、次のエラーメッセージが表示されます。私は私が予約しているものを削除することができるようにハッシュテーブルの内容を表示しようとしている完成したソフトウェアからハッシュテーブルにアクセスしようとしています

enter image description here

キー「1」またはので、私はレポートを生成するときように、私が変更されたものは何でも返すことができ別のキーを入力しようとします。ハッシュテーブルがどこにあるのか、それをどのように読むことができるかアドバイスしていますか?私はハッシュテーブルを読む方法に関する他の記事を見てきました。私はそれを見つけるのが難しいだけです。

私はほとんどすべての.hと.dllファイルにアクセスできますので、私はそれらを調べています。私は数年前にいくつかのC++コースを取ったので、コードを読む方法に関する一般的な考えがあります。

実行可能ファイルにハッシュテーブルがありますか?それはどこにありますか?私はそれを.txtまたは.mdbファイルとして見つけることができませんでした。一度見つけたら、どうすればアクセスできますか?それが役に立たなければ、コードの一部を投稿することができますが、この時点でコードのどの部分が役に立つかはわかりません。どんな助けでも大歓迎です。前もって感謝します。

+0

辞書の 'Key、Value'のペアを読み上げます。これは基本的に' SRC'へのアクセス権があれば同じ値の2つのキーを持つことはできません。= new Dictionary <' – MethodMan

+1

@MethodMan stacktraceはこれが 'Dictionary'ではなく' Hashtable'であることを示しています。とにかく、あなたが何をしているかについての知識がなくても、 "巨大なソフトウェアパッケージ"を修正することは、あまり良い考えではないようです。 – Evk

+0

エラーは 'strConfig'を参照しています。あなたの設定ファイルをチェックしましたか?おそらく重複キーを持つkey = value形式のものがあります。おそらく、「理由」のセクションに、メッセージのヒントが表示されます。 – Blorgbeard

答えて

0

DTL3DTDTPのソースコードをお持ちでない場合は、本当に不運です。リバースエンジニアリングして何が起こるのか理解する必要があります。 Visual Studioから実行中のアプリケーションに接続し、例外(「自分のコードだけ」を無効にした場合)およびReflectorアドインがインストールされている場合、再構築されたソースとコールスタックを見ることができます、おそらく変数。そのHashTableはDTL3DTDTPのフィールドかローカル変数か他のものです...何時に二番目の(そして最初の)重複キーを追加するかは誰でも推測できます...最悪の場合、製品全体を再構築することができますコードを読んで一ヶ月を過ごす。

もちろん、パッケージが商用であれば、それはまったく違法となる - IPオーナーはリバースエンジニアを好まない。

ソースがある場合は、デバッグするだけです。

関連する問題