问题标签 [reflector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
609 浏览

c# - 反射器和自动属性的问题

我刚刚反汇编了一个项目以使用Reflector对其进行调试,但它似乎不愿解码自动属性的“编译结果”,例如下一行给了我一个语法错误。我试过手动修复这些,但每次我修复一个,都会出现更多。

对此我能做些什么吗?

0 投票
13 回答
2911 浏览

reflector - 为什么人们要反汇编 .NET (CLR) 二进制文件?

我对 .NET 有点陌生,但对编程并不陌生,而且我对反汇编已编译的 .NET 代码的趋势和兴奋感到有些困惑。似乎毫无意义。

.NET 的高级易用性是我使用它的原因。我在资源有限的环境中编写了 C 和真实(硬件处理器)程序集。这就是为什么要在如此多的细节上花费精力,以提高效率。在 .NET 领域,如果您浪费时间深入研究实现的最隐秘的细节,这有点违背了拥有高级面向对象语言的目的。在使用 .NET 的过程中,我调试了常见的性能问题和奇怪的竞争条件,我通过阅读自己的源代码完成了这一切,从来没有想过编译器正在生成什么中间语言。例如,考虑到 foreach() 将使用枚举,很明显 for(;;) 循环将比数组上的 foreach() 更快对象带有一个方法调用来前进到下一次,而不是简单地增加一个变量,这很容易通过一个紧密的循环运行几百万次来证明(不需要反汇编)。

真正让反汇编 IL 变得愚蠢的是它不是真正的机器代码。是虚拟机代码。我听说有些人实际上喜欢移动指令来优化它。你在开玩笑吧?即时编译的虚拟机代码甚至无法以本机编译代码的速度执行简单的紧 for(;;) 循环。如果您想从处理器中挤出最后一个周期,那么请使用 C/C++ 并花时间学习真正的汇编。这样一来,您花在了解许多低级细节上的时间实际上是值得的。

那么,除了手头有太多时间之外,人们为什么还要反汇编 .NET (CLR) 二进制文件呢?

0 投票
2 回答
837 浏览

c# - 这些操作码是做什么用的?

使用反射器我得到以下输出:

为了

第 11-14 行是做什么的?我调用一个函数并得到一个结果(第 7 行)。我将结果转换为正确的返回类型(c 行) - 为什么不立即返回?

不知何故,转换后的结果被存储为一个局部变量——然后无条件跳转到下一行,再次加载局部变量。为什么?

在我看来,第 11-14 行和局部变量可以省略...?

0 投票
2 回答
860 浏览

.net - 如何从 Reflector 查看代码的 XML 注释

我更喜欢使用反射器浏览程序集,即使我有源代码,特别是当我移动到新项目时。但是我觉得如果我能在反射器中看到源代码的 XML 注释会很好。

有没有可以做到这一点的插件?

提前致谢,乌代

0 投票
4 回答
612 浏览

asp.net - 将 ASP.NET 源代码与已编译的 Web 应用程序匹配

我的客户有一个已编译的 ASP.NET 2.0 应用程序,该应用程序在一年前编译和部署。他们还有 4 个版本的源代码项目/解决方案不受源代码控制(存储在以前的开发人员的工作站文件系统中)。没有一个文件日期似乎彼此匹配。

有没有办法确定这些版本中的哪个(如果有)是实际部署到生产网站的版本?

0 投票
6 回答
1838 浏览

c# - 反射器时代的 C# 加密

我有一个程序,其中数据库的密码由远程用户设置。该程序将用户名和密码保存到 xml 文件中的加密字符串中,否则该文件应该是人类可读的。现在,这工作正常,我使用带有密钥的 C# DES 加密,它被加密和解密。现在,问题是任何人都可以使用反射器来查看密钥。即使进行了混淆,密钥也应该很明显。那么,如何处理呢?现在,我不需要它来保证 NSA 的安全,但我真的很想防止任何人偷看。谢谢。

编辑:感谢到目前为止的所有建议,关于这类事情的信息并不是很普遍,我非常感谢一般提示和具体答案。

0 投票
2 回答
2702 浏览

.net - How to use reflector to view the implementation of .NET library functions

I tried to see the implementation of [MethodImpl(MethodImplOptions.InternalCall)] public extern int get_Length(); function, which in turn is Length property of string.

But reflector gave me the following error:

The member is not loaded or may be hidden due to your visibility settings

However the member is loaded and the visibility settings is ALL

0 投票
2 回答
13267 浏览

c# - 为什么 Console.Out.WriteLine 存在?

实际上问题应该是为什么Console.WriteLine存在只是为了包装Console.Out.WriteLine

我发现了这个使用智能感知的小方法,然后打开.NET 反射器并“反编译”了该Console.WriteLine方法的代码,然后发现:

那么为什么要这样WriteLine实现呢?它完全只是一个捷径还是有其他原因?

0 投票
1 回答
634 浏览

.net - .NET 源代码 XML 注释如何保留在程序集元数据中?

您是否注意到对于系统程序集中的某些方法,.NET Reflector 也显示了相应的文档?这意味着文档可以保存在程序集元数据中。

我怎样才能使它适用于我自己的程序集?意思是,当我在 .NET 反射器中反映我的方法时,我想看到我对方法的评论。

谢谢。

0 投票
2 回答
284 浏览

.net - 分发反射器组件列表

有人知道允许您分发程序集列表的反射器插件吗?也就是使用File、Open List菜单选项时可以维护的列表?

我有一个开发程序集列表,目前需要在不同开发人员使用的几台机器之间进行更新。不那么痛苦的东西会很棒!我也不想丢弃他们现有的配置,只需添加/更新一个程序集列表。