-5

可能であればdllファイルを編集するか、内容を抽出して変更したいです。

.Net Reflector を使用して、ファイルを逆コンパイルおよび生成しました。

一部のファイルCS$4$0001に変数の代わりに次のようなものがあることを除いて、それはうまくいきました。

また<>g__initLocal31

それらが何であるかを見つける方法はありますか?または、すべてのインスタンスを置き換えてテストする必要がありますか?

追加した:

    [OutputCache(NoStore=true, Location=OutputCacheLocation.Client, Duration=1)]
    public ActionResult _StateTile(string AssetName, string StateName)
    {
        aaReportsEntities dataContext;
        string CS$4$0001 = StateName;
        if (CS$4$0001 != null)
        {
            if (!(CS$4$0001 == "IDLE-UPSTREAM"))
4

2 に答える 2

6

それらは次のとおりです。

  • ローカル変数 (IL には名前がありません)
  • 自動的に実装されたプロパティ / フィールドのようなイベントのバッキング フィールド
  • コンパイラによって生成されたすべてのフィールド (キャプチャ コンテキスト関連のスコープなど)
  • 式ツリー / デリゲート キャッシュ
  • 「動的」キャッシュ
  • イテレータ ブロックの状態変数 / 「待機」コード
  • etc (繰り返しますが、主にコンパイラによって生成されたもの)

それらは重要です。しかし、率直に言って、おそらくリフレクター経由でコードを抽出するべきではありません。通常、それを行う正当な理由がある場合は、ソース コードを既に所有している (またはアクセスするライセンスを取得している) ことになります。

于 2012-11-20T18:41:38.593 に答える
1

変数名を取り戻すことはできません。Tリバース エンジニアリングを行うのは非常に難しいため、この本をお勧めします - http://www.amazon.co.uk/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817/ref=sr_1_1?ie=UTF8&qid=1353436851&sr=8- 1

于 2012-11-20T18:41:16.390 に答える