反编译Dll - 代码对于vars有$ 4 $ 0001

时间:2012-11-20 18:36:55

标签: c# .net asp.net-mvc-3

如果可能,我想编辑一个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"))

2 个答案:

答案 0 :(得分:6)

那些可以是:

  • 局部变量(IL中没有名称)
  • 支持自动实现的属性/类似字段事件的字段
  • 任何编译器生成的字段(与捕获上下文相关的范围等)
  • 表达式树/委托缓存
  • “动态”缓存
  • iterator-blocks中的状态变量/“等待”代码
  • etc(再次,主要是编译器生成的任何内容)

他们很重要。但坦率地说,你可能不应该通过反射器提取代码:通常,如果你有理由这样做,你已经拥有源代码(或被授权访问它)

答案 1 :(得分:1)