.net中反编译过后代码怎么组合?(c#)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net中反编译过后代码怎么组合?(c#)相关的知识,希望对你有一定的参考价值。

我用反编译工具将.net生成的dll文件反编译过来,其中有这样一段代码我不知道是什么意思
[CompilerGenerated]
internal class <PrivateImplementationDetails>8999A67A-212D-47DF-A238-0E4E6E5AB1F0

// Fields
internal static Dictionary<string, int> $$method0x600005c-1;
internal static Dictionary<string, int> $$method0x6000092-1;

这段代码应该放在程序的那个地方?

参考技术A [CompilerGenerated] 这个标志已经告诉你这个是编译器生成的了,常规情况下你可以去掉这段代码并重试。

反编译过来的代码通常是无法直接编译的,需要你自己改写
参考技术B 你反编译的应该是混淆过的代码。。
$$method0x600005c-1;$$method0x6000092-1; 都只是变量名称{8999A67A-212D-47DF-A238-0E4E6E5AB1F0 也是差不多,是类名称
参考技术C 8999A67A-212D-47DF-A238-0E4E6E5AB1F0 类名

这是混淆或者有其他的引用dll 导致reflactor 弄不出来,一般需要化时间进行替换。
参考技术D 这里有变量名都是自己生成的,你换成别的有可能就看懂了。

以上是关于.net中反编译过后代码怎么组合?(c#)的主要内容,如果未能解决你的问题,请参考以下文章

c#如何防反编译

如何在Visual Studio和CodeBlocks中反编译C++代码

使用 LitJson 在 C# 中反序列化 JSON 对象数组 [重复]

如何从 iexpress 创建的 exe 中反编译 [vb] 脚本

IDA Hex Rays 无法在自动化中反编译函数

如何在 C# .NET 中反序列化复杂的 JSON 对象?