Compare commits

..
44 Commits
Author SHA1 Message Date
PYDT d0404dd29c Add files via upload 2023-10-26 20:52:20 +08:00
PYDT 9d3761e7f6 Add files via upload 2023-10-26 20:14:54 +08:00
PYDT 03515acc68 Add files via upload 2023-10-26 18:06:31 +08:00
PYDT f8413f4cfb Add files via upload 2023-10-26 17:50:39 +08:00
PYDT 24f7f67e63 Add files via upload 2023-10-26 14:29:49 +08:00
PYDT 85129cdfe1 Add files via upload 2023-10-25 15:58:42 +08:00
PYDT 6d4f8b2731 Add files via upload 2023-10-25 13:39:48 +08:00
PYDT 24a0efcce1 Add files via upload 2023-10-24 21:28:11 +08:00
PYDT ce6be1b4d5 Add files via upload 2023-10-24 19:53:41 +08:00
PYDT 723ac47c48 Add files via upload 2023-10-24 19:52:58 +08:00
PYDT 720d163bdb Add files via upload 2023-10-24 13:15:05 +08:00
PYDT a74047d4e5 Add files via upload 2023-10-24 13:12:21 +08:00
PYDT f6538f93c7 Add files via upload 2023-10-24 13:08:41 +08:00
PYDT 49cb0b3ef5 Add files via upload 2023-10-24 09:40:15 +08:00
PYDT c81845ba3a Add files via upload 2023-10-24 09:23:43 +08:00
PYDT 053ae64008 Add files via upload 2023-10-24 09:16:11 +08:00
PYDT 48989840b8 Add files via upload 2023-10-23 20:47:18 +08:00
PYDT 36c7bcd87f Add files via upload 2023-10-23 18:56:42 +08:00
PYDT a50eca1600 Add files via upload 2023-10-22 15:38:01 +08:00
PYDT f70dc8eb46 Add files via upload 2023-10-22 15:09:01 +08:00
PYDT f13d816c5b Add files via upload 2023-10-21 23:46:01 +08:00
PYDT 3429e658b6 Add files via upload 2023-10-21 10:46:45 +08:00
PYDT 0c6f9d6041 Add files via upload 2023-10-20 11:21:47 +08:00
PYDT 4a668499b0 Add files via upload 2023-10-20 07:29:21 +08:00
PYDT f1057252b3 Add files via upload 2023-10-19 19:56:21 +08:00
PYDT 4e3c866536 Add files via upload 2023-10-19 13:42:22 +08:00
PYDT c585cb370c Add files via upload 2023-10-19 12:04:53 +08:00
PYDT 2211a2b1d4 Add files via upload 2023-10-18 10:15:49 +08:00
PYDT 42069e2aac Add files via upload 2023-10-18 09:17:55 +08:00
PYDT fd499a17fe Add files via upload 2023-10-18 06:25:51 +08:00
PYDT 0cc56d3da7 Add files via upload 2023-10-17 16:08:49 +08:00
PYDT 2096f55ce8 Add files via upload 2023-10-17 15:56:09 +08:00
PYDT a4afe0ac10 Add files via upload 2023-10-17 15:24:15 +08:00
PYDT d523b66970 Add files via upload 2023-10-17 15:17:25 +08:00
PYDT 192335249c Add files via upload 2023-10-17 14:07:09 +08:00
PYDT e02879b3d7 Add files via upload 2023-10-17 13:01:37 +08:00
PYDT bf7157fb3e Add files via upload 2023-10-17 11:22:52 +08:00
PYDT 7c2ae87c73 Add files via upload 2023-10-17 10:14:09 +08:00
PYDT c1357bb2e1 Add files via upload 2023-10-16 08:32:32 +08:00
PYDT c298c3773e Add files via upload 2023-10-15 21:10:07 +08:00
PYDT 7d09c6501c Add files via upload 2023-10-15 21:00:37 +08:00
PYDT 1a051d42af Add files via upload 2023-10-15 18:25:43 +08:00
PYDT 22bbcc5217 Add files via upload 2023-10-15 18:23:10 +08:00
PYDT 017f153002 Add files via upload 2023-10-15 14:37:23 +08:00
6 changed files with 36 additions and 20 deletions

No files matched your search

+32 -17
View File
@@ -5,6 +5,7 @@ import win32gui, win32api, win32con
import xml.etree.ElementTree as xmlet
from PYAS_Scripts import scripts_list
from PYAS_Function import function_list
from PYAS_Function_Safe import function_list_safe
from PYAS_Extension import slist, alist
from PYAS_Language import translate_dict
from PYAS_Interface import Ui_MainWindow
@@ -19,7 +20,7 @@ class MainWindow_Controller(QMainWindow):
self.setAttribute(Qt.WA_TranslucentBackground)
self.setWindowFlags(Qt.FramelessWindowHint)
self.pyas = str(sys.argv[0]).replace("\\", "/")
self.pyas_version = "2.8.7"
self.pyas_version = "2.8.9"
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.init_tray_icon()
@@ -261,7 +262,7 @@ class MainWindow_Controller(QMainWindow):
self.ui.Window_Block_Button.setText(self.trans("軟體彈窗攔截"))
self.ui.Repair_System_Network_Button.setText(self.trans("系統網路修復"))
self.ui.About_Back.setText(self.trans("返回"))
self.ui.PYAS_Version.setText(self.trans(f"PYAS V{self.pyas_version}"))
self.ui.PYAS_Version.setText(self.trans(f"PYAS V{self.pyas_version} (ML Engine)"))
self.ui.GUI_Made_title.setText(self.trans("介面製作:"))
self.ui.GUI_Made_Name.setText(self.trans("mtkiao"))
self.ui.Core_Made_title.setText(self.trans("核心製作:"))
@@ -628,11 +629,7 @@ class MainWindow_Controller(QMainWindow):
self.ui.Virus_Scan_text.setText(self.trans("正在初始化中"))
QApplication.processEvents()
for file in self.virus_list:
try:
msvcrt.locking(self.virus_lock[file], msvcrt.LK_UNLCK, 0)
os.close(self.virus_lock[file])
except:
continue
self.unlock_file(file)
self.scan_file = True
self.init_virus_list()
self.ui.Virus_Scan_Solve_Button.hide()
@@ -655,6 +652,20 @@ class MainWindow_Controller(QMainWindow):
copyPath.triggered.connect(lambda: copyPathFunc())
menu.exec_(self.ui.Virus_Scan_output.mapToGlobal(point))
def lock_file(self, file):
try:
self.virus_lock[file] = os.open(file, os.O_RDWR)
msvcrt.locking(self.virus_lock[file], msvcrt.LK_NBLCK, 0)
except:
pass
def unlock_file(self, file):
try:
msvcrt.locking(self.virus_lock[file], msvcrt.LK_UNLCK, 0)
os.close(self.virus_lock[file])
except:
pass
def virus_solve(self):
try:
self.ui.Virus_Scan_Solve_Button.hide()
@@ -663,12 +674,10 @@ class MainWindow_Controller(QMainWindow):
if self.ui.Virus_Scan_output.findItems(file, Qt.MatchContains)[0].checkState() == Qt.Checked:
self.ui.Virus_Scan_text.setText(self.trans("正在刪除: ")+file)
QApplication.processEvents()
msvcrt.locking(self.virus_lock[file], msvcrt.LK_UNLCK, 0)
os.close(self.virus_lock[file])
self.unlock_file(file)
os.remove(file)
else:
msvcrt.locking(self.virus_lock[file], msvcrt.LK_UNLCK, 0)
os.close(self.virus_lock[file])
self.unlock_file(file)
except:
continue
self.init_state_safe()
@@ -680,6 +689,7 @@ class MainWindow_Controller(QMainWindow):
def write_scan(self, state, file):
try:
self.lock_file(file)
self.virus_list.append(file)
self.virus_list_ui.append(f"[{state}] {file}")
item = QListWidgetItem()
@@ -687,8 +697,6 @@ class MainWindow_Controller(QMainWindow):
item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
item.setCheckState(Qt.Checked)
self.ui.Virus_Scan_output.addItem(item)
self.virus_lock[file] = os.open(file, os.O_RDWR)
msvcrt.locking(self.virus_lock[file], msvcrt.LK_NBLCK, 0)
except:
pass
@@ -764,11 +772,15 @@ class MainWindow_Controller(QMainWindow):
self.write_scan(self.trans("惡意"),file)
elif self.pe_scan(file):
self.write_scan(self.trans("可疑"),file)
elif self.scr_scan(file):
self.write_scan(self.trans("可疑"),file)
elif file_type in slist and self.sign_scan(file):
if self.api_scan(file):
self.write_scan(self.trans("惡意"),file)
elif self.pe_scan(file):
self.write_scan(self.trans("可疑"),file)
elif self.scr_scan(file):
self.write_scan(self.trans("可疑"),file)
except:
pass
@@ -820,15 +832,18 @@ class MainWindow_Controller(QMainWindow):
def pe_scan(self, file):
try:
pe_func = []
fn = set()
with pefile.PE(file) as pe:
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for func in entry.imports:
try:
pe_func.append(str(func.name, "utf-8"))
fn.add(str(func.name, "utf-8"))
except:
pass
return pe_func in function_list
max_vfl = max(len(set(fn) & set(vfl)) / len(set(fn) | set(vfl)) for vfl in function_list)
max_sfl = max(len(set(fn) & set(sfl)) / len(set(fn) | set(sfl)) for sfl in function_list_safe)
#print(f'Virus:{int(max_vfl * 100)}%, Safe:{int(max_sfl * 100)}%')
return int(max_vfl * 100) > int(max_sfl * 100)
except:
return False
@@ -1171,7 +1186,7 @@ class MainWindow_Controller(QMainWindow):
elif "cmd.exe" in name and self.api_scan(" ".join(cmd[2:])):
p.kill()
self.send_notify(self.trans("惡意腳本攔截: ")+name)
elif self.scr_scan(cmd) or self.api_scan(cmd[-1]):
elif self.scr_scan(file) or self.api_scan(cmd[-1]):
p.kill()
self.send_notify(self.trans("惡意軟體攔截: ")+name)
elif file != self.pyas and file not in self.whitelist:
+2 -1
View File
@@ -1,5 +1,6 @@
slist = [".exe",".dll",".com",".msi",".scr",
".bat",".cmd",".ps1",".vbs",".js"]
".bat",".cmd",".ps1",".vbs",".jar",
".js",".elf",".doc",".xls",".xlsx"]
alist = [".ppt",".pptx",".wps",".txt",".rtf",
".pdf",".xls",".xlsx",".doc",".docx",
BIN
View File
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
scripts_list = ["%0|%0","ExclusionPath","cmdkey","eiculwo","random","bypass"]
scripts_list = ["%0|%0","ExclusionPath","cmdkey","eiculwo"]
+1 -1
View File
@@ -1,7 +1,7 @@
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version='2.8.7',
version='2.8.9',
company_name="PYAS Security",
file_description="Python Antivirus Software",
internal_name="PYAS",