我在反编译 .net 程序集时遇到问题。当我在 dotPeek 中打开程序集时,有一个名为 frmMain 的类,其中有数百个变量声明如下:
[SpecialName]
private static int \u0024STATIC\u0024SortByLengthAsc\u002402811241124\u0024xlen;
当我尝试将它导出到项目时,即使我将所有\u0024 更改为 $,所有这些行都会出错(STATIC 未定义)。我做错了什么吗?
最佳答案
不,程序集已被混淆以防止人们(如您)偷看代码并可能“窃取”它。这些变量名在 IL 中是允许的,但在实际的 C# 代码中是不允许的,所以这就是它失败的原因。
我知道的唯一补救措施是反向混淆工具,它知道混淆器如何混淆并试图扭转这种局面。或者您可以手动完成,这通常会花费很多时间,这证明混淆是有返回的。
关于c# - 使用 dotPeek 反编译 .net 程序集给出无效语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40405892/