当使用DotPeek之类的东西反编译DLL时,我如何判断它最初是用VB.Net还是C#编码的?
我认为没有简单的方法可以判断,但在某些反编译的代码中可能存在明显的迹象(即线索)?
您可以查找参考Microsoft.VisualBasic
图书馆。如果存在,则该代码很可能是使用 VB 编写的。该库有时也包含在 C# 项目中,但这并不常见。如果参考文献不存在,那么它肯定不是 VB。
(嗯,这是possible使用命令行编译器和特殊编译器开关在没有库的情况下编译 VB,但这种情况极为罕见。)
您还可以检查频率VisualBasic
使用库。在常规 VB 程序中,它会经常使用,但在 C# 程序中,它通常仅用于其他库中不可用的某些特定任务,例如DateDiff
call.
任何 VB 特定命令,例如CInt
or Mid
将显示为对VisualBasic
图书馆,甚至=
运算符在字符串上使用时,将使用该库。这段代码(其中a
and b
是字符串):
If a = b Then
实际上会调用库来进行比较,并在反编译为 C# 时显示如下:
if (Operators.CompareString(a, b, false) == 0) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)