是否可以使用像 Reflector 这样的反汇编器查看成员变量的硬编码值?
鉴于下面的示例源代码,有人可以使用反汇编程序查看 _secret 的值吗?我没有找到通过 Reflector 获取该值的方法,但我并没有经常使用它。假设代码没有以任何方式混淆。
class Foo
{
private string _secret = @"all your base are belong to us";
public void Foo()
{
...
}
}
谢谢!
Given the example source code below, is it possible for someone to see the value of _secret
using a disassembler? I didn't see a way to get at the value via Reflector, but I haven't used it very much. Assume the code is not obfuscated in any way.
class Foo
{
private string _secret = @"all your base are belong to us";
public void Foo()
{
...
}
}
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它在 Reflector 的构造函数中可见。
构造函数
转换为具有在方法
.ctor
的Foo
下的 Reflector 中可见的。您还可以在
Foo::.ctor : void
中的ildasm
(随 Microsoft Visual Studio 一起提供)中查看此信息:最后,如果有人知道您的类型名称和您的私有字段的名称,您可以这样获取值:
当然,我总是可以使用以下命令查看您的所有私有字段
It's visible in the constructor in Reflector.
translates to having constructor
which is visible in Reflector under
Foo
in method.ctor
.You can also see this information in
ildasm
(ships with Microsoft Visual Studio) inFoo::.ctor : void
:Finally, if someone knows the name of your type and the name of your private field, you can obtain the value as such:
Of course, I can always see all of your private fields with
是的,这是可能的。硬编码值将出现在 IL 中,并且可以通过任何 .NET 反汇编程序查看。由于这是一个字段,因此可以在 Reflector 的构造函数中查看其从文字中进行的初始化。
Yes, it is possible. The hard-coded value will be present in the IL and will be viewable via any .NET disassembler. Since this is a field, its initialization from the literal will be viewable in the constructor in Reflector.