Detect-It-Easy/db/PE/_NetCompilersLibs.4.sg
DosX c740cfaa8e Refactor Go compiler and .NET libs detection scripts
Removed unnecessary whitespace and unused return statement in _NetCompilersLibs.4.sg. Updated Go compiler version string in compiler_Go.4.sg for improved clarity.
2026-01-30 14:37:49 +03:00

38 lines
No EOL
1.3 KiB
JavaScript

// Detect It Easy: detection rule file
// Author: DosX
// E-Mail: collab@kay-software.ru
// GitHub: https://github.com/DosX-dev
// Telegram: @DosX_dev
function detect() {
// https://github.com/0xd4d/dnlib
if (PE.isNetObjectPresent("dnlib") && PE.isNetObjectPresent("ModuleDef"))
_setResult("library", "dnlib", "", "");
// https://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/
if (PE.isNetObjectPresent("Mono.Cecil"))
_setResult("library", "Mono.Cecil", "", "");
// https://github.com/Washi1337/AsmResolver
if (PE.isNetObjectPresent("AsmResolver"))
_setResult("library", "AsmResolver", "", "");
// https://learn.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/using-the-codedom
if (PE.isNetObjectPresent("System.CodeDom.Compiler")) { // Standard .NET library
var languages = "";
if (PE.isNetObjectPresent("CSharpCodeProvider"))
languages = "C#";
if (PE.isNetObjectPresent("VBCodeProvider"))
languages += (languages ? " + " : "") + "VB.NET";
if (PE.isNetObjectPresent("JScriptCodeProvider")) // Should check the relation to System.CodeDom......
languages += (languages ? " + " : "") + "JScript";
if (languages) {
_setResult("library", "CodeDom Compiler", "", languages);
}
}
}