k__BackingField与反编译
来源:互联网 发布:矩阵a与b相似 编辑:程序博客网 时间:2024/03/29 08:04
今天反编译umbraco的组件ProWorks Redirect Page v1.03,看到代码中有:
[CompilerGenerated]
private string
立马汗颜,自己搞C#到现在,也自称不是倒数第一,却没有见过这种形式。马上baidu,释怀!
是反编译的原因!找到一篇很好的文章,转载如下:
《reflector <....>k__BackingField 问题解决方法》
使用 reflector后生成的源代码出现 :
private string
这样的问题,造成编译失败。
解决方法:
因为菜,所以不能改 reflector ,只好改生成的源代码了,使用.net 的在文件中替换的功能来解决:
1、Ctrl+Shift_H 打开替换窗口;
2、如下图示,使用正则表达式替换;
查找内容:/<{.#}/>k__BackingField
替换内容:_/1_k__BackingField
3、结束。
没办法,懒人就是这个样子,谁让生成的代码里边这种错误这么多呢,要不然也用不着这个方法了。
===============================================================================
goldarch:有网友自己写一段代码,反编译,观察结果如下:
http://topic.csdn.net/u/20090726/16/50060e4f-8255-4706-abe8-455cb51fe2a7.html
CompilerGenerated是反编译生成的代码如
public class MyClass
{
public string Name{set;get;}
public string Value { set; get; }
public MyClass(string pName, string pValue)
{
Name = pName;
Value = pValue;
}
}
反编译后
反编译后
public class MyClass
{
// Fields
[CompilerGenerated]
private string
[CompilerGenerated]
private string
// Methods
public MyClass(string pName, string pValue)
{
base..ctor();
this.Name = pName;
this.Value = pValue;
return;
}
// Properties
public string Name
{
[CompilerGenerated]
get
{
string str;
str = this.
Label_0009:
return str;
}
[CompilerGenerated]
set
{
this.
return;
}
}
public string Value
{
[CompilerGenerated]
get
{
string str;
str = this.
Label_0009:
return str;
}
[CompilerGenerated]
set
{
this.
return;
}
}
}
=============================================
goldarch结论:
形如
只不过vs不认这个命名而以,把这个命名改成vs能认的命名就可以了。
PWUrlRedirect代码简短,我直接把
需要注意的是:要主动应用"替换"功能,vs自动的替换没有作用(它根本不认为那是变量,不会主动替换的)。
- k__BackingField与反编译
- k__BackingField与反编译
- k__BackingField与反编译
- vs2012查找替换已经反编译出现<keyword>k__BackingField解决方法
- java 反编译与阻止反编译
- android反编译与防止反编译
- Android反编译与防止反编译
- Android反编译与防止反编译
- Android反编译与防止反编译
- Android反编译与防止反编译
- lua编译与反编译
- Android反编译与混淆
- 反编译与反汇编
- apk反编译与编译
- apk反编译与编译
- apk反编译与编译
- apk反编译与编译
- apk反编译与编译
- 引用 JAVA POI导出EXCEL报表的操作
- 分析会话:COOKIE 和 SESSION
- sql解封代码(有后门,自行清除)
- 遍历对象
- k__BackingField与反编译
- k__BackingField与反编译
- 更改csdn账号
- [转]程序员:增加编程经验的3种途径
- tcp的close与shutdown的区别引发的血案
- PRTX P2P文件传输控件、组件功能说明
- rev
- 新的一周,打开一本新书—敏捷开发的艺术(Agile Development)
- Microsoft SQL Server 2000 Driver for JDBC在MyEclipse中的使用方法
- 搭建开发平台Eclipse