diff --git a/README.md b/README.md
index 204072d..b0820c3 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Xvirus SDK C#
-Xvirus SDK 4.0.5 C# bindings.
+Xvirus SDK 4.1 C# bindings.
## Table of Contents
@@ -17,29 +17,38 @@ Xvirus SDK 4.0.5 C# bindings.
## Minimum Requirements
-To run Xvirus SDK you need:
+To use Xvirus SDK you need:
-- .NET 5 Runtime - [download](https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-5.0.11-windows-x64-installer)
+- .NET 7 SDK - [download](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
## Changelog
-- Completely redone in .NET 5
-- Now supports Linux (CLI and C# bindings only)
-- Added XvirusAI scan engine (BETA)
-- Scan speed is up to 2x faster
-- Fixed memory usage spike when scanning large files
-- Removed file size limit for scanned files by default
-- The checkUpdate function can now check for SDK updates
-- Added 3 new settings "EnableAIScan", "MaxScanLength" and "DatabaseVersion"
+- Version **4.1**:
+
+ - Upgraded from .NET 5 to .NET 7
+ - C++ bindings now also support Linux
+ - Removed Minimum Requirements on C++ bindings and CLI
+ - Changed how exceptions are handled in C++ bindings
+
+- Version **4.0**:
+ - Completely redone in .NET 5
+ - Now supports Linux (CLI and C# bindings only)
+ - Added XvirusAI scan engine (BETA)
+ - Scan speed is up to 2x faster
+ - Fixed memory usage spike when scanning large files
+ - Removed file size limit for scanned files by default
+ - The checkUpdate function can now check for SDK updates
+ - Added 3 new settings "EnableAIScan", "MaxScanLength" and "DatabaseVersion"
## Known Issues
- XvirusAI engine is still in BETA. It is not recomended to use in production yet.
+- XvirusAI engine does not work in C++ bindings.
- The checkUpdate function can now check for SDK updates but can't update it
## Get Started
-The "`example`" folder contains an example project on how to import and use Xvirus SDK in C# (.NET Core 5).
+The "`example`" folder contains an example project on how to import and use Xvirus SDK in C# (.NET 7).
You can run it by building it and then running executable file in the output folder.
@@ -74,7 +83,7 @@ The `scan` function returns a class `ScanResult` with the following properties:
public class ScanResult
{
public bool IsMalware { get; set; } // true if malware
- public string Name { get; set; } // detection name
+ public string Name { get; set; } // detection name
public double MalwareScore { get; set; } // between 0 and 1, higher score means more likely to be malware, -1 if there was an error
}
```
diff --git a/bin/BaseLibrary.dll b/bin/BaseLibrary.dll
new file mode 100644
index 0000000..d24ca45
Binary files /dev/null and b/bin/BaseLibrary.dll differ
diff --git a/bin/XescSDK.dll b/bin/XescSDK.dll
deleted file mode 100644
index a5d9d0e..0000000
Binary files a/bin/XescSDK.dll and /dev/null differ
diff --git a/bin/XescSDK.runtimeconfig.json b/bin/XescSDK.runtimeconfig.json
deleted file mode 100644
index d54914b..0000000
--- a/bin/XescSDK.runtimeconfig.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "runtimeOptions": {
- "tfm": "net5.0",
- "framework": {
- "name": "Microsoft.NETCore.App",
- "version": "5.0.0"
- },
- "configProperties": {
- "System.Reflection.Metadata.MetadataUpdater.IsSupported": false
- }
- }
-}
\ No newline at end of file
diff --git a/bin/XescSDK.deps.json b/bin/XvirusSDK.deps.json
similarity index 99%
rename from bin/XescSDK.deps.json
rename to bin/XvirusSDK.deps.json
index 9858ed5..e011256 100644
--- a/bin/XescSDK.deps.json
+++ b/bin/XvirusSDK.deps.json
@@ -1,19 +1,17 @@
{
"runtimeTarget": {
- "name": ".NETCoreApp,Version=v5.0",
+ "name": ".NETCoreApp,Version=v7.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
- ".NETCoreApp,Version=v5.0": {
- "XescSDK/4.0.5": {
+ ".NETCoreApp,Version=v7.0": {
+ "XvirusSDK/4.1.0.0": {
"dependencies": {
- "Microsoft.ML": "1.7.1",
- "Microsoft.ML.FastTree": "1.7.1",
- "PeNet": "1.6.1"
+ "BaseLibrary": "1.0.0"
},
"runtime": {
- "XescSDK.dll": {}
+ "XvirusSDK.dll": {}
}
},
"Microsoft.CSharp/4.3.0": {
@@ -1035,11 +1033,21 @@
"fileVersion": "1.3.12.62151"
}
}
+ },
+ "BaseLibrary/1.0.0": {
+ "dependencies": {
+ "Microsoft.ML": "1.7.1",
+ "Microsoft.ML.FastTree": "1.7.1",
+ "PeNet": "1.6.1"
+ },
+ "runtime": {
+ "BaseLibrary.dll": {}
+ }
}
}
},
"libraries": {
- "XescSDK/4.0.5": {
+ "XvirusSDK/4.1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
@@ -1743,6 +1751,11 @@
"sha512": "sha512-CQETcfKyEq6Uki9pExNZI5sEHeKqdt9Fc4pdLHu1mgaboQp0aI4W45M+UUnG6Zc2hxWTDmbD2AFVKA1wjU19YA==",
"path": "xunit.skippablefact/1.3.12",
"hashPath": "xunit.skippablefact.1.3.12.nupkg.sha512"
+ },
+ "BaseLibrary/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
}
}
}
\ No newline at end of file
diff --git a/bin/XvirusSDK.dll b/bin/XvirusSDK.dll
new file mode 100644
index 0000000..034fda3
Binary files /dev/null and b/bin/XvirusSDK.dll differ
diff --git a/example/Example.csproj b/example/Example.csproj
index 35ed8ac..d562b3d 100644
--- a/example/Example.csproj
+++ b/example/Example.csproj
@@ -2,12 +2,12 @@
Exe
- net5.0
+ net7.0
-
- ..\bin\XescSDK.dll
+
+ ..\bin\XvirusSDK.dll