5

我在反编译 .net 程序集时遇到问题。当我在 dotPeek 中打开程序集时,有一个名为 frmMain 的类,其中声明了数百个变量,如下所示:

[SpecialName]
private static int \u0024STATIC\u0024SortByLengthAsc\u002402811241124\u0024xlen;

当我尝试将其导出到项目时,所有这些行都会出现错误(未定义 STATIC),即使我将所有 \u0024 更改为 $。难道我做错了什么?

4

1 回答 1

3

不,该程序集已被混淆以防止人们(如您)偷看代码并可能“窃取”它。这些变量名在 IL 中是允许的,但在实际的 C# 代码中是不允许的,所以这就是它失败的原因。

我知道的唯一补救方法是反向混淆工具,它知道混淆器如何混淆并试图扭转这种情况。或者你可以手工完成,这通常会花费很多时间,这证明混淆是有回报的。

于 2016-11-03T15:49:47.580 回答