Dani Santos
3 years ago
commit
2c4cbc4f6e
39 changed files with 1873 additions and 0 deletions
@ -0,0 +1,98 @@ |
|||||
|
# Xvirus CLI 4.0.4 |
||||
|
|
||||
|
Xvirus CLI 4.0.4. |
||||
|
|
||||
|
## Table of Contents |
||||
|
|
||||
|
- [Xvirus CLI 4.0.4](#xvirus-cli-40) |
||||
|
- [Table of Contents](#table-of-contents) |
||||
|
- [Minimum Requirements](#minimum-requirements) |
||||
|
- [Changelog](#changelog) |
||||
|
- [Known Issues](#known-issues) |
||||
|
- [Get Started](#get-started) |
||||
|
- [Avaiable Commands](#avaiable-commands) |
||||
|
- [Settings](#settings) |
||||
|
|
||||
|
## Minimum Requirements |
||||
|
|
||||
|
To run Xvirus CLI you need: |
||||
|
|
||||
|
- .NET 5 Runtime - [download](https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-5.0.11-windows-x64-installer) |
||||
|
|
||||
|
## 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" |
||||
|
|
||||
|
## Known Issues |
||||
|
|
||||
|
- XvirusAI engine is still in BETA. It is not recomended to use in production yet. |
||||
|
- The checkUpdate function can now check for SDK updates but can't update it |
||||
|
|
||||
|
## Get Started |
||||
|
|
||||
|
You can run it by opening executable file in the bin folder with a command as the execution argument. For example: `XescSDK.exe interactive`. |
||||
|
|
||||
|
## Avaiable Commands |
||||
|
|
||||
|
You have the following commands available: |
||||
|
|
||||
|
- **Interactive** - Starts Xvirus CLI in interactive mode. When in this mode you can write commands and the executable will keep running until you call the `quit` command. |
||||
|
- **Quit** - Stop Xvirus CLI execution. |
||||
|
- **Load** 'force' - Loads Xvirus Scan Engine into memory, if set `force`=true it will reload the scan engine, even if it is already loaded. |
||||
|
- **Unload** - Unloads Xvirus Scan Engine from memory. |
||||
|
- **Scan** 'filepath' - Scans the file located at `filepath`. It will print one of the following messages: |
||||
|
- "**Safe**" - If no malware is detected. |
||||
|
- "**Malware**" - If malware is detected but the name isn't known. |
||||
|
- **_Malware Name_** - If it is malware from a known family (example: "Trojan.Downloader"). |
||||
|
- "**AI.{aiScore}**" - Score of the file using XvirusAI from 0 to 100, the higher the score the more probable it is malicious (example: "AI.99"). |
||||
|
- "**File not found!**" - If no file is found in the submited path. |
||||
|
- "**File too big!**" - If the file size is bigger than the set limit. |
||||
|
- "**Could not get file hash!**" - There was an error calculating the hash of the file. |
||||
|
- **Update** 'checkSDKUpdates' 'loadDBAfterUpdate' - Checks and updates the databases and AI engine to the most recent versions. If `checkSDKUpdates`=true then it will also check for SDK updates. If `loadDBAfterUpdate`=true then it will reload the Xvirus Scan Engine after the update is done. It can print the following messages: |
||||
|
- "**There is a new SDK version available!**" |
||||
|
- "**Database was updated!**" |
||||
|
- "**Database is up-to-date!**" |
||||
|
- **Settings** - prints the `settings.json` file. |
||||
|
- **Version** - prints the version of the SDK/CLI. |
||||
|
|
||||
|
## Settings |
||||
|
|
||||
|
Settings are located in the "`settings.json`" file in the root folder of the SDK. There are 4 avaiable options: |
||||
|
|
||||
|
- **EnableHeuristics** - Enables heuristics scanning of files. Default: _true_ |
||||
|
- **EnableAIScan** - Enables XvirusAI scan engine. This feature is still in BETA. Default: _false_ |
||||
|
- **MaxScanLength** - Maximum file size to be scanned in bytes. If set "null" then there is no limit. Default: _null_ |
||||
|
- **DatabaseVersion** - KeyValue list of database files version. This is updated automatically when using the "checkUpdate()" function. |
||||
|
|
||||
|
Example of a `settings.json` file: |
||||
|
|
||||
|
```JSON |
||||
|
{ |
||||
|
"EnableHeuristics": true, |
||||
|
"EnableAIScan": false, |
||||
|
"MaxScanLength": null, |
||||
|
"DatabaseVersion": { |
||||
|
"AIModel": 0, |
||||
|
"MainDB": 0, |
||||
|
"DailyDB": 0, |
||||
|
"WhiteDB": 0, |
||||
|
"DailywlDB": 0, |
||||
|
"HeurDB": 0, |
||||
|
"HeurDB2": 0, |
||||
|
"MalvendorDB": 0 |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## Exceptions |
||||
|
|
||||
|
If any of the functions fail it may return an exception. Exception will stop the execution of the CLI. |
||||
|
|
||||
|
All exceptions are logged in the `errorlog.txt` file. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Binary file not shown.
Binary file not shown.
@ -0,0 +1,12 @@ |
|||||
|
{ |
||||
|
"runtimeOptions": { |
||||
|
"tfm": "net5.0", |
||||
|
"framework": { |
||||
|
"name": "Microsoft.NETCore.App", |
||||
|
"version": "5.0.0" |
||||
|
}, |
||||
|
"configProperties": { |
||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false |
||||
|
} |
||||
|
} |
||||
|
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,15 @@ |
|||||
|
{ |
||||
|
"EnableHeuristics": true, |
||||
|
"EnableAIScan": false, |
||||
|
"MaxScanLength": null, |
||||
|
"DatabaseVersion": { |
||||
|
"AIModel": 0, |
||||
|
"MainDB": 0, |
||||
|
"DailyDB": 0, |
||||
|
"WhiteDB": 0, |
||||
|
"DailywlDB": 0, |
||||
|
"HeurDB": 0, |
||||
|
"HeurDB2": 0, |
||||
|
"MalvendorDB": 0 |
||||
|
} |
||||
|
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue