c# - 使用 dotPeek 反编译 .net 程序集给出无效语法

标签 c# decompiling dotpeek

我在反编译 .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/

相关文章:

c# - 为什么我的 NamedPipeServerStream 不等待?

android - 找出一个apk的类名

visual-studio - dotPeek问题调试第三方.dll

.net - 像 DotPeek 这样的软件可以反编译和编辑 DLL 吗?

c# - WPF:将 datagridrow 对象传递给转换器

c# - 一个全局变量,用于存储当前 session 中的当前用户数据

c# - 为桌面应用程序进行静默更新的最佳方式有哪些?

java - 在IntelliJ中,有没有办法在字节码查看器中修改反编译的类?

java - 将 .jar 文件转换为 JAVA DOC

c# - 当 dotpeek 仅使用 "//Stub method (' ret 指令填充方法时,这意味着什么)”