【发布时间】:2013-08-02 15:32:59
【问题描述】:
我有一个 windows exe 程序,我知道它是用 C# 编写的,当我使用 ILSpy 7.6 解密 dll(exe) 时,类代码如下所示:
namespace eGTt4d2HADJI3qZvyr
{
internal class epOl6XynGueNUNwY5Y
{
internal static ModuleHandle e1gr6SXh7;
internal static RuntimeTypeHandle e53w34m968awCm9P85taUZe(int token)
{
return epOl6XynGueNUNwY5Y.e1gr6SXh7.GetRuntimeTypeHandleFromMetadataToken(token);
}
internal static RuntimeFieldHandle q3oMVe54wE47w4v68C7s2I(int token)
{
return epOl6XynGueNUNwY5Y.e1gr6SXh7.GetRuntimeFieldHandleFromMetadataToken(token);
}
public epOl6XynGueNUNwY5Y()
{
<PrivateImplementationDetails>{75896B12-4F98-4FD3-B464-42D866146FAE}.SLV0fFIsptsZtjvFft17();
base..ctor();
}
static epOl6XynGueNUNwY5Y()
{
// Note: this type is marked as 'beforefieldinit'.
<PrivateImplementationDetails>{75896B12-4F98-4FD3-B464-42D866146FAE}.SLV0fFIsptsZtjvFft17();
epOl6XynGueNUNwY5Y.e1gr6SXh7 = typeof(epOl6XynGueNUNwY5Y).Assembly.GetModules()[0].ModuleHandle;
}
}
}
我想知道是否可以重构代码的真实名称。因为代码名称几乎看不懂,没有人能从无意义的代码名称中理解其含义。如何才能得到原始名称?是否可以获取真实姓名或提高代码的可读性?
【问题讨论】:
-
你是怎么得到这个名字的?你的意思是反射?....这只是我的意见,但你应该考虑其他命名约定。
-
这是反编译的代码吗?
-
这看起来像你正在尝试对混淆代码进行逆向工程......是这样吗?
-
这似乎与加密无关。像这样修改类名实际上称为混淆。
标签: c# obfuscation deobfuscation