问题标签 [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 投票
9 回答
188044 浏览

.net - 比 .NET Reflector 更好的东西?

过去我曾经很喜欢 .NET Reflector,但自从 Red Gate Software 接手后,它就急剧走下坡路。现在它迫使我更新(这绝对是荒谬的),有一半的时间更新不顺利,而且每次更新都越来越妨碍我的工作效率。我已经厌倦了,我已经准备好迎接更好的事情了。有没有更好的反汇编程序?


更新:

答案中提到的各种替代方案列表 -

0 投票
2 回答
1164 浏览

c# - 反射器和编译器生成的代码

我有一个在 Reflector 中反汇编的 dll,然后生成一个类。该类包含无法在 Visual Studio 中编译的代码。

我认为它是 leagl IL 代码,但我怎样才能从中生成更高级别的 c#。

似乎 yield 和 IEnumerator<>1__state;在 IL 中生成了无法编译的东西。

有人知道我如何从包含这种 IL 的反射器生成一个类吗?

有没有反射器插件可以解决这个问题?

0 投票
1 回答
497 浏览

wpf - 如果 Visual Studio 2010 基于 WPF,为什么我不能用反射器打开它?

如果 Visual Studio 2010 基于 WPF,为什么我不能用反射器打开它?

换句话说,devenv.exe似乎是原生程序集,那么 WPF UI 代码在哪里呢?

0 投票
3 回答
825 浏览

c# - 有人可以解释一下这个懒惰的评估代码吗?

所以,这个问题只是被问到了:

如何处理“无限”的 IEnumerable?

我的示例代码:

有人可以解释为什么这是懒惰的评估吗?我在Reflector中查过这段代码,比刚开始的时候更加困惑。

反射器输出:

对于 numbers 方法,并且看起来已经为该表达式生成了一个新类型:

这对我来说毫无意义。在我将代码放在一起并自己执行之前,我会认为这是一个无限循环。

编辑:所以我现在明白 .Take() 可以告诉 foreach 枚举已经“结束”,而实际上它还没有,但在链接到 Take() 之前不应该完整地调用 Numbers() ? Take 结果是实际枚举的结果,对吗?但是,当 Numbers 没有完全评估时,Take 是如何执行的呢?

EDIT2:那么这只是'yield'关键字强制执行的特定编译器技巧吗?

0 投票
2 回答
1185 浏览

c# - Is it possible to link a method marked with MethodImplOptions.InternalCall to its implementation?

In trying to find the possible cause of an exception, I'm following a code path using Reflector. I've got deeper and deeper, but ended up at a method call that looks like:

This markup on the method tells the framework to call a C++ function somewhere. Is there any way to find out what method actually gets called, and in turn what else is likely to be called?

NB: I don't really want to see the source code of this method, I just want to know the possible things that could throw the exception I am seeing that originates out of this method call.

0 投票
3 回答
1365 浏览

wpf - 反编译 WPF 程序集(即 PresentationCore、PresentationFramework)时的反射器问题

我刚刚从 RedGate 下载了最新版本的 Reflector,但无法反编译某些核心 WPF 程序集中的类,例如 PresentationCore 和 PresentationFramework。

这是描述我的问题的图片的链接:

http://997966480542455630-a-1802744773732722657-s-sites.googlegroups.com/site/badrdocs/files/Reflector_issue.png?attachauth=ANoY7cqzFOr_iIPHnS2V67hKSpxXdlr4B0fOh7u2pzWImgJp6QKELErlVpOoCkDP3IVd4zvbnCBDWHXw-hY_eeGu5UUqWiuW5bbAb2YDTETnZYJ3bMvfN6WF28u2ERar9DcjeuqXslKt1bv7SY8dW82da0ndleAaoBDBe0QuY1jHVfOPK4HkXqpZOqKF0nMZNCP36rhFkBgzdG8SSYnA4YwKmYwD_mS2Kg%3D%3D&attredirects=1

感谢您的帮助。

0 投票
2 回答
1279 浏览

c# - 如何从 .resources(不是 .resx)文件中获取位图

我已经打开了带有反射器的程序集,并将一些 .resources 文件保存到我的硬盘上。那里有一些位图,我怎样才能从保存的 .resources 文件中获取它们?我想通过代码或某些程序将它们保存为图像(.bmp)文件。

0 投票
3 回答
1129 浏览

c# - .NET Reflector 和 getter/setter 问题

我正在使用最新的 .NET Reflector 来反汇编一个内部遗留应用程序,其源代码几乎无法恢复。我需要找到一个讨厌的错误的原因,然后可能会修补它。Reflector 像往常一样在重新创建项目结构方面做得很好,但很快我发现一些属性调用被“扩展”到它的get_()set_()方法签名中,导致源代码无法编译。

起初,我认为每个 get/set 调用都有问题。但仔细一看,其中几个是可以的,而其他的(尤其是 OleDbCommand 和 Forms.Control 属性)将生成为get_()set_()

使用正则表达式的快速 Visual Studio“搜索/替换”解决了这些情况,但这很尴尬。有没有办法让 Reflector 行为正确

编辑 1 - 下面的示例有问题的代码:

编辑 2 - 程序集是在发布模式下构建的。

0 投票
0 回答
399 浏览

c# - 令人困惑的 C# 代码

可能的重复:
保护 .NET 代码免受逆向工程?
您使用什么来保护您的 .NET 代码免受逆向工程的影响?
如何保护我的 .NET 程序集免受反编译?

鉴于 C# 可以被反射和反编译,你能建议我如何混淆我的代码或保护它免受逆向工程吗?

0 投票
2 回答
94 浏览

.net - 如何跟踪可能引发潜在异常的位置?

我们在这里有很多关于堆栈跟踪和分析已抛出异常的问题。

我正在使用 RedGate Reflector 来检查一些 .net 类的工作原理。特别是,我正在查看对象的ConnectionString属性System.Data.SqlClient.SqlConnection。反射器指示ArgumentException如果提供了无效的连接字符串,此属性可能会抛出一个。

我的问题是:鉴于此属性可能会引发此特定异常,我如何分析代码以找到可能引发异常的位置?该属性调用另一个函数来设置值。这个函数不ArgumentException直接抛出。我想知道如何找到可能引发此异常的位置。