gpt4 book ai didi

c# - 反编译的 DLL - 有助于判断它是 C# 还是 VB.NET 的线索?

转载 作者:太空狗 更新时间:2023-10-30 00:03:13 24 4
gpt4 key购买 nike

当使用 DotPeek 之类的工具反编译 DLL 时,如何判断它最初是用 VB.Net 还是 C# 编写的?

我想没有简单的方法可以分辨,但在某些反编译代码中可能有明显的迹象(即线索)?

最佳答案

您可以查找对 Microsoft.VisualBasic 库的引用。如果存在,则代码很可能是使用 VB 编写的。该库有时也包含在 C# 项目中,但这并不常见。如果引用不存在,则肯定不是 VB。

(嗯,可能使用命令行编译器和特殊的编译器开关编译 VB 而无需库,但这种情况极为罕见。)

您还可以检查 VisualBasic 库的使用频率。在常规 VB 程序中,它会经常使用,但在 C# 程序中,它通常只用于其他库中不可用的某些特定任务,例如 DateDiff 调用。

任何 VB 特定命令,如 CIntMid 将显示为对 VisualBasic 库的调用,甚至 = 运算符在字符串上使用时,将使用库。此代码(其中 ab 是字符串):

If a = b Then

实际上会调用一个库来进行比较,当反编译为 C# 时显示如下:

if (Operators.CompareString(a, b, false) == 0) {

关于c# - 反编译的 DLL - 有助于判断它是 C# 还是 VB.NET 的线索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com