我用Reflector5.1反编译“程序员秘书”的主程序,发现了很多问题,比如在一个类中,居然有同名的方法和字段!
比如在类t中,就有很多这样的情况(例子r既是方法,又是字段)
这是语法错误啊,根本不能通过编译啊?
难道是Reflector的BUG?
但是我反编译了很多软件,都不存在这样的问题啊我把“程序员秘书”的主程序上传上来,由于没有上传一些必要的组件,所以无法运行,大家直接反编译看源码就行了
另外,我还有一个问题:
如果源程序中含有匿名方法或Lambda表达式,反编译后是个含有非法字符的方法名,再有插件导出成项目后没法编译,难道没有人向官方反映吗?

解决方案 »

  1.   

    VS自带一款混淆器: http://blog.csdn.net/qdzx2008/articles/836715.aspx
      

  2.   

        没看过``` 不过方法名跟字段名相同话应该没什么事啊``` 假设吧``` 有一字段跟方法名称都是 a    调用字段仅一个a搞掂```调用方法的时候加个括号a()``````````````` 那编译不是分得很清了吗`
      

  3.   

    肯定是经过混淆过的。
    某一款软件混淆过的软件,里面的方法名大多是a,参数也是啊,你还可以看见a这样的变量,你可能看到下面的代码:
    public class ab
    {
      private int a;
      private long b;
      public int a()
      {//代码省略}
      public int a(int a)
      {//代码省略}  public long b()
      {//代码省略}  public int b(int b)
      {//代码省略}
    }
    这样的代码是能通过编译的,只不过人难以看懂罢了。
      

  4.   

    public class ab 

      private int a; 
      private long b; 
      public int a() 
      {//代码省略} 
      public int a(int a) 
      {//代码省略}   public long b() 
      {//代码省略}   public int b(int b) 
      {//代码省略} 

    这样的代码是能通过编译的,只不过人难以看懂罢了。
    这样的代码还能编译?!
    老大,你学c#几天?方法名跟字段重名是语法错误!
     没看过``` 不过方法名跟字段名相同话应该没什么事啊``` 假设吧``` 有一字段跟方法名称都是 a     调用字段仅一个a搞掂```调用方法的时候加个括号a()``````````````` 那编译不是分得很清了吗`分是分的清楚,甚至我觉得静态方法和实例方法都可以是方法名和参数完全相同但语法上是不允许的
    我要反混淆工具