Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c2b018d49 | ||
|
|
e221a09709 | ||
|
|
26ff4bd843 | ||
|
|
d8e28f384a | ||
|
|
65e68c3cc4 | ||
|
|
7b76ab2a59 | ||
|
|
ae2a01b463 | ||
|
|
cda022a9f4 | ||
|
|
672e48c5f8 | ||
|
|
6fbdb1354f | ||
|
|
79bc7fd443 | ||
|
|
5578dd3339 | ||
|
|
0232dbd196 | ||
|
|
d44e192eaa | ||
|
|
4f12b19cf8 | ||
|
|
392ac1b1c7 | ||
|
|
8ad175aca3 |
No files matched your search
@@ -1,17 +1,13 @@
|
||||
{
|
||||
"Suffix": [".bat", ".cmd", ".dll", ".exe", ".js", ".ps1", ".sys", ".vbs", ".com"],
|
||||
"Suffix": [".exe", ".dll", ".sys", ".bat", ".cmd", ".ps1", ".vbs"],
|
||||
|
||||
"Labels": ["White/BAT-File", "White/CMD-File", "White/DLL-File", "White/EXE-File",
|
||||
"White/JS-File", "White/PS1-File", "White/SYS-File", "White/VBS-File",
|
||||
"Virus/BAT-File", "Virus/CMD-File", "Virus/DLL-File", "Virus/EXE-File",
|
||||
"Virus/JS-File", "Virus/PS1-File", "Virus/SYS-File", "Virus/VBS-File"],
|
||||
"Labels": ["White/Pefile", "White/Script", "Virus/Pefile", "Virus/Script"],
|
||||
|
||||
"Detect": ["Virus/BAT-File", "Virus/CMD-File", "Virus/DLL-File", "Virus/EXE-File",
|
||||
"Virus/JS-File", "Virus/PS1-File", "Virus/SYS-File", "Virus/VBS-File"],
|
||||
"Detect": ["Virus/Pefile", "Virus/Script"],
|
||||
|
||||
"Models": ["PYAS_Model_A1.onnx", "PYAS_Model_A2.onnx", "PYAS_Model_A3.onnx"],
|
||||
|
||||
"Pixels": [224, 224],
|
||||
"Pixels": [300, 300],
|
||||
|
||||
"Values": 95
|
||||
}
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
import os, gc, sys, time, json, psutil
|
||||
import msvcrt, ctypes, pyperclip, win32file
|
||||
import ctypes, msvcrt, pyperclip, win32file
|
||||
import win32gui, win32api, win32con
|
||||
from PYAS_Engine import YRScan, DLScan
|
||||
from PYAS_Suffixes import slist, alist
|
||||
@@ -19,7 +19,7 @@ class MainWindow_Controller(QMainWindow):
|
||||
self.pyas = sys.argv[0].replace("\\", "/")
|
||||
self.dir = os.path.dirname(self.pyas)
|
||||
self.pyae_version = "AI Engine"
|
||||
self.pyas_version = "3.1.6"
|
||||
self.pyas_version = "3.1.7"
|
||||
self.first_startup = True
|
||||
self.init_data_base()
|
||||
self.init_tray_icon()
|
||||
@@ -926,12 +926,12 @@ class MainWindow_Controller(QMainWindow):
|
||||
label, level = self.model.dl_scan(file)
|
||||
if label and label in self.model.detect:
|
||||
if self.json["high_sensitive"]:
|
||||
return "Virus/Deep-Learning"
|
||||
return label
|
||||
elif level >= self.model.values:
|
||||
return "Virus/Deep-Learning"
|
||||
return label
|
||||
if self.json["extension_kits"]:
|
||||
if self.rules.yr_scan(file):
|
||||
return "Virus/Yara-Detected"
|
||||
return "Virus/Rules"
|
||||
return False
|
||||
except:
|
||||
return False
|
||||
@@ -1358,11 +1358,7 @@ class MainWindow_Controller(QMainWindow):
|
||||
if ctypes.windll.kernel32.ReadProcessMemory(m, ctypes.c_void_p(base_addr),
|
||||
buffer, memory_range.rss, ctypes.byref(ctypes.c_size_t(0))):
|
||||
file = str(memory_range.path).replace("\\", "/")
|
||||
memory_bytes.setdefault(file, bytearray()).extend(buffer.raw)
|
||||
for file, data in memory_bytes.items():
|
||||
ftype = str(f".{file.split('.')[-1]}").lower()
|
||||
if ":/Windows" not in file and file not in self.whitelist:
|
||||
if self.start_scan(file) or self.start_scan(bytes(data)):
|
||||
if ":/Windows" not in file and self.start_scan(buffer.raw):
|
||||
return True
|
||||
ctypes.windll.kernel32.CloseHandle(m)
|
||||
return False
|
||||
@@ -1420,10 +1416,11 @@ class MainWindow_Controller(QMainWindow):
|
||||
self.ransom_counts += 1
|
||||
elif action == 4 and ftype in alist:
|
||||
self.ransom_counts += 1
|
||||
if action == 3 and ftype in slist and self.start_scan(fpath):
|
||||
self.ransom_counts = 0
|
||||
os.remove(fpath)
|
||||
self.send_notify(self.trans("病毒刪除: ")+fpath, True)
|
||||
if ":/Windows" not in fpath and ftype in slist:
|
||||
if action == 3 and self.start_scan(fpath):
|
||||
self.ransom_counts = 0
|
||||
os.remove(fpath)
|
||||
self.send_notify(self.trans("病毒刪除: ")+fpath, True)
|
||||
except:
|
||||
pass
|
||||
if self.ui.Protection_switch_Button_2.text() == self.trans("已開啟"):
|
||||
|
||||
+6
-8
@@ -1,6 +1,6 @@
|
||||
import os, io, sys, time, json, yara
|
||||
import numpy, onnxruntime
|
||||
from PIL import Image#, ImageShow
|
||||
from PIL import Image, ImageShow
|
||||
|
||||
class YRScan:
|
||||
def __init__(self):
|
||||
@@ -43,9 +43,9 @@ class DLScan:
|
||||
self.detect = self.class_names['Detect']
|
||||
available_providers = onnxruntime.get_available_providers()
|
||||
preferred_providers = [
|
||||
'CUDAExecutionProvider', 'ROCmExecutionProvider',
|
||||
'OpenVINOExecutionProvider', 'DirectMLExecutionProvider',
|
||||
'AzureExecutionProvider', 'CPUExecutionProvider']
|
||||
'CUDAExecutionProvider', 'ROCmExecutionProvider',
|
||||
'OpenVINOExecutionProvider', 'DirectMLExecutionProvider',
|
||||
'AzureExecutionProvider', 'CPUExecutionProvider']
|
||||
providers = [p for p in preferred_providers if p in available_providers]
|
||||
for model in self.class_names['Models']:
|
||||
try:
|
||||
@@ -80,11 +80,9 @@ class DLScan:
|
||||
for local_label, sim_sum in sim.items():
|
||||
if sim[local_label] > len(self.models) / 2:
|
||||
local_level = sim_sum / len(self.models)
|
||||
if ftype in str(f".{local_label.split('/')[-1].split('-')[0]}").lower(): #
|
||||
return local_label, local_level * 100
|
||||
return local_label, local_level * 100
|
||||
return False, False
|
||||
except Exception as e:
|
||||
print(f"Error during scan: {e}")
|
||||
except:
|
||||
return False, False
|
||||
|
||||
def preprocess_image(self, file_data, target_size): # New
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ import pyinstaller_versionfile
|
||||
|
||||
pyinstaller_versionfile.create_versionfile(
|
||||
output_file="versionfile.txt",
|
||||
version='3.1.6',
|
||||
version='3.1.7',
|
||||
company_name="PYAS Security",
|
||||
file_description="Python Antivirus Software",
|
||||
internal_name="PYAS",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# PYAS (Python Antivirus Software)
|
||||
|
||||

|
||||

|
||||
|
||||
## Readme Language
|
||||
|
||||
@@ -24,12 +24,7 @@ PyQt5==5.15.9
|
||||
```
|
||||
PYAS/
|
||||
├── Driver/
|
||||
│ ├── PYAS_Driver.sys -------> Extension Kit (self protection driver for pyas by 0sha0)
|
||||
│ └── ...
|
||||
│
|
||||
├── Exten/
|
||||
│ ├── bitdefender/ ----------> Extension Kit (bitdefender windows console scan engine)
|
||||
│ ├── pe_sieve/ -------------> Extension Kit (pe sieve windows console memory engine)
|
||||
│ ├── PYAS_Driver.sys -------> Driver Protect (self protection driver for pyas by 0sha0)
|
||||
│ └── ...
|
||||
│
|
||||
├── Model/
|
||||
@@ -41,10 +36,9 @@ PYAS/
|
||||
│ ├── Yara_Rules.yrc ---------> Compile Rules (yara rules in compiled format)
|
||||
│ └── ...
|
||||
│
|
||||
├── PYAS.* ---------------------> Main PYAS Program (including animation, scan, protect functions, ...)
|
||||
├── PYAS.py ---------------------> Main PYAS Program (including animation, scan, protect functions, ...)
|
||||
├── PYAS_Engine.py -------------> Conversion Database (used to transform profiles and forecast data)
|
||||
├── PYAS_Suffixes.py -----------> File Suffixes (including scanned file suffixes and common suffixes)
|
||||
├── PYAS_Extension.py ----------> Extension Kit (extension scanners developed by other developers)
|
||||
├── PYAS_Interface.py ----------> PyQt5 Interface (use QT designer, must be matched with the main program)
|
||||
├── PYAS_Resource.py -----------> PyQt5 Resource (status pictures, icon packages, button icons, ...)
|
||||
├── PYAS_Language.py -----------> Translate Dict (Traditional Chinese, Simplified Chinese, English)
|
||||
@@ -58,6 +52,10 @@ https://pyantivirus.wixsite.com/pyas
|
||||
|
||||
https://github.com/87owo/PYAS
|
||||
|
||||
## Microsoft Runtime
|
||||
|
||||
https://github.com/87owo/Microsoft_Runtime/releases
|
||||
|
||||
## PYAS Driver
|
||||
|
||||
https://github.com/0sha0/PYAS_Protection
|
||||
|
||||
+9
-11
@@ -1,6 +1,6 @@
|
||||
# PYAS (Python 杀毒软件)
|
||||
|
||||

|
||||

|
||||
|
||||
## 安装要求
|
||||
|
||||
@@ -21,11 +21,6 @@ PYAS/
|
||||
│ ├── PYAS_Driver.sys -------> 驱动程序 (0sha0 为 pyas 提供的自我保护驱动程序)
|
||||
│ └── ...
|
||||
│
|
||||
├── Exten/
|
||||
│ ├── bitdefender/ ----------> 扩展套件 (bitdefender windows 控制台扫描引擎)
|
||||
│ ├── pe_sieve/ -------------> 扩展套件 (pe sieve windows 控制台内存引擎)
|
||||
│ └── ...
|
||||
│
|
||||
├── Model/
|
||||
│ ├── PYAS_Model.json -------> 病毒数据库 (数据库必须位于指定目录中)
|
||||
│ └── ...
|
||||
@@ -35,14 +30,13 @@ PYAS/
|
||||
│ ├── Yara_Rules.yrc ---------> 编译规则 (编译格式的 yara 规则)
|
||||
│ └── ...
|
||||
│
|
||||
├── PYAS.* ---------------------> PYAS主程序(包含动画、扫描、保护等功能...)
|
||||
├── PYAS.py ---------------------> PYAS主程序(包含动画、扫描、保护等功能...)
|
||||
├── PYAS_Engine.py -------------> 转换数据库(用于转换剖面图和预报数据)
|
||||
├── PYAS_Suffixes.py -----------> 文件后缀(包含扫描文件后缀和常用后缀)
|
||||
├── PYAS_Extension.py ----------> 扩展工具包(其他开发者开发的扩展扫描器)
|
||||
├── PYAS_Interface.py ----------> PyQt5界面(使用QT设计器,需与主程序搭配使用)
|
||||
├── PYAS_Resource.py -----------> PyQt5资源(状态图片、图标包、按钮图标...)
|
||||
├── PYAS_Language.py -----------> 翻译词典(繁体中文、简体中文、英文)
|
||||
├── PYAS_Version.py ------------> 安裝信息(文件信息、版本信息、原名,...)
|
||||
├── PYAS_Version.py ------------> 安裝信息(文件信息、版本信息、原名...)
|
||||
└── ...
|
||||
```
|
||||
|
||||
@@ -52,14 +46,18 @@ https://pyantivirus.wixsite.com/pyas
|
||||
|
||||
https://github.com/87owo/PYAS
|
||||
|
||||
## 开源协议
|
||||
## 微软运行库
|
||||
|
||||
https://github.com/87owo/PYAS/blob/main/LICENSE.md
|
||||
https://github.com/87owo/Microsoft_Runtime/releases
|
||||
|
||||
## 驱动程序
|
||||
|
||||
https://github.com/0sha0/PYAS_Protection
|
||||
|
||||
## 开源协议
|
||||
|
||||
https://github.com/87owo/PYAS/blob/main/LICENSE.md
|
||||
|
||||
## 支援系统
|
||||
|
||||
Windows 8.1, 10, 11 (64-bit), 内存 500MB, 存储 200MB 或更高
|
||||
|
||||
+9
-11
@@ -1,6 +1,6 @@
|
||||
# PYAS (Python 防毒軟體)
|
||||
|
||||

|
||||

|
||||
|
||||
## 安裝要求
|
||||
|
||||
@@ -21,11 +21,6 @@ PYAS/
|
||||
│ ├── PYAS_Driver.sys -------> 驅動程式 (0sha0 為 pyas 提供的自我保護驅動程式)
|
||||
│ └── ...
|
||||
│
|
||||
├── Exten/
|
||||
│ ├── bitdefender/ ----------> 擴充套件 (bitdefender windows 控制台掃描引擎)
|
||||
│ ├── pe_sieve/ -------------> 擴充套件 (pe sieve windows 控制台記憶體引擎)
|
||||
│ └── ...
|
||||
│
|
||||
├── Model/
|
||||
│ ├── PYAS_Model.json -------> 病毒資料庫 (資料庫必須位於指定目錄)
|
||||
│ └── ...
|
||||
@@ -35,14 +30,13 @@ PYAS/
|
||||
│ ├── Yara_Rules.yrc ---------> 編譯規則 (編譯格式的 yara 規則)
|
||||
│ └── ...
|
||||
│
|
||||
├── PYAS.* ---------------------> PYAS主程式(包含動畫、掃描、保護等功能...)
|
||||
├── PYAS.py ---------------------> PYAS主程式(包含動畫、掃描、保護等功能...)
|
||||
├── PYAS_Engine.py -------------> 轉換資料庫(用於轉換剖面圖和預報資料)
|
||||
├── PYAS_Suffixes.py -----------> 文件後綴(包含掃描文件後綴和常用後綴)
|
||||
├── PYAS_Extension.py ----------> 擴充工具包(其他開發者開發的擴充掃描器)
|
||||
├── PYAS_Interface.py ----------> PyQt5介面(使用QT設計器,需與主程式搭配使用)
|
||||
├── PYAS_Resource.py -----------> PyQt5資源(狀態圖片、圖示包、按鈕圖示...)
|
||||
├── PYAS_Language.py -----------> 翻譯字典(繁體中文、簡體中文、英文)
|
||||
├── PYAS_Version.py ------------> 安裝資訊(檔案資訊、版本資訊、原名,...)
|
||||
├── PYAS_Version.py ------------> 安裝資訊(檔案資訊、版本資訊、原名...)
|
||||
└── ...
|
||||
```
|
||||
|
||||
@@ -52,14 +46,18 @@ https://pyantivirus.wixsite.com/pyas
|
||||
|
||||
https://github.com/87owo/PYAS
|
||||
|
||||
## 開源協議
|
||||
## 微軟運行庫
|
||||
|
||||
https://github.com/87owo/PYAS/blob/main/LICENSE.md
|
||||
https://github.com/87owo/Microsoft_Runtime/releases
|
||||
|
||||
## 驅動程式
|
||||
|
||||
https://github.com/0sha0/PYAS_Protection
|
||||
|
||||
## 開源協議
|
||||
|
||||
https://github.com/87owo/PYAS/blob/main/LICENSE.md
|
||||
|
||||
## 支援系統
|
||||
|
||||
Windows 8.1, 10, 11 (64-bit),記憶體 500MB, 磁碟容量 200MB 或更高
|
||||
|
||||
Reference in new issue
Block a user