Compare commits

..
221 Commits
Author SHA1 Message Date
PYDT f4d032e5c7 Add files via upload 2024-02-25 02:17:22 +08:00
PYDT 4114aac6c3 Add files via upload 2024-02-25 01:45:23 +08:00
PYDT 0c43c6bb5f Add files via upload 2024-02-24 23:43:10 +08:00
PYDT 7b3c965b88 Add files via upload 2024-02-24 21:55:53 +08:00
PYDT 02a8de4696 Add files via upload 2024-02-23 08:38:55 +08:00
PYDT 22fa3eff71 Add files via upload 2024-02-22 14:32:17 +08:00
PYDT 69361209c3 Add files via upload 2024-02-22 01:08:15 +08:00
PYDT ff0aeaa4ef Add files via upload 2024-02-21 10:21:38 +08:00
PYDT 3c461dfd4b Add files via upload 2024-02-21 10:13:11 +08:00
PYDT c6beda383e Add files via upload 2024-02-21 07:10:15 +08:00
PYDT 3d59f3befd Add files via upload 2024-02-21 00:42:59 +08:00
PYDT e54f0db239 Update README.md 2024-02-20 14:41:04 +08:00
PYDT 0f877f2749 Delete PYAS_Function.vdb 2024-02-20 14:02:47 +08:00
PYDT b69ba165d9 Add files via upload 2024-02-20 14:02:37 +08:00
PYDT 965076fe52 Delete PYAS_Compress.py 2024-02-20 13:43:32 +08:00
PYDT f4d6cb0430 Add files via upload 2024-02-19 10:39:21 +08:00
PYDT 19d412188c Add files via upload 2024-02-19 10:38:19 +08:00
PYDT 798d85978a Add files via upload 2024-02-11 19:53:57 +08:00
PYDT 819742d753 Add files via upload 2024-02-11 16:12:59 +08:00
PYDT 9b32fa6219 Add files via upload 2024-02-11 10:56:55 +08:00
PYDT 2c93661726 Add files via upload 2024-02-10 23:02:45 +08:00
PYDT bddaca2a1e Add files via upload 2024-02-10 22:08:39 +08:00
PYDT 2f06f2e051 Add files via upload 2024-02-10 20:52:38 +08:00
PYDT 1d26e46bd9 Add files via upload 2024-02-10 20:01:52 +08:00
PYDT fa0ff826a3 Add files via upload 2024-02-10 19:50:01 +08:00
PYDT e1b3114c83 Add files via upload 2024-02-10 19:41:34 +08:00
PYDT a655f075db Add files via upload 2024-02-10 19:40:54 +08:00
PYDT 13d4ebbf6b Add files via upload 2024-02-09 14:24:52 +08:00
PYDT 913d10b1ee Add files via upload 2024-02-09 14:18:30 +08:00
PYDT eb541a0104 Add files via upload 2024-01-30 19:03:05 +08:00
PYDT 2063186994 Add files via upload 2024-01-28 16:20:22 +08:00
PYDT 860d571039 Delete PYAS_Function.py 2024-01-28 15:41:03 +08:00
PYDT c6d79adf9a Add files via upload 2024-01-28 15:40:44 +08:00
PYDT 5453900ba1 Add files via upload 2024-01-28 03:29:28 +08:00
PYDT 5029ff1e37 Add files via upload 2024-01-28 03:13:40 +08:00
PYDT 47fb691339 Add files via upload 2024-01-28 03:12:42 +08:00
PYDT dff9dd17bf Add files via upload 2024-01-27 11:58:36 +08:00
PYDT 5bc4a16b90 Add files via upload 2024-01-26 10:14:32 +08:00
PYDT b1918953b0 Update README.md 2024-01-26 09:35:36 +08:00
PYDT 6e89ed7007 Add files via upload 2024-01-26 09:33:16 +08:00
PYDT 744e8bc941 Add files via upload 2024-01-25 20:21:35 +08:00
PYDT 0b98ce7ffd Add files via upload 2024-01-25 20:19:27 +08:00
PYDT ca8b293b06 Delete PYAS_Function.zip 2024-01-25 18:10:50 +08:00
PYDT e28d99a257 Add files via upload 2024-01-25 18:09:58 +08:00
PYDT 488feb6108 Add files via upload 2024-01-25 16:12:47 +08:00
PYDT 6cdb106f07 Add files via upload 2024-01-24 22:58:36 +08:00
PYDT a7c5ccd27a Add files via upload 2024-01-24 22:56:15 +08:00
PYDT 136f9dbf0a Add files via upload 2024-01-24 22:47:40 +08:00
PYDT 16b45c3450 Add files via upload 2024-01-24 15:13:42 +08:00
PYDT 68330fad52 Add files via upload 2024-01-24 12:57:03 +08:00
PYDT dca167518d Add files via upload 2024-01-24 12:18:50 +08:00
PYDT bcc44422ef Add files via upload 2024-01-24 08:18:06 +08:00
PYDT e080e03466 Add files via upload 2024-01-24 07:54:57 +08:00
PYDT b6e75490de Add files via upload 2024-01-23 22:19:24 +08:00
PYDT 196c014576 Add files via upload 2024-01-23 16:58:43 +08:00
PYDT 236110df5e Update README.md 2024-01-23 12:34:58 +08:00
PYDT b2ae192056 Update README.md 2024-01-23 11:56:05 +08:00
PYDT f080969a62 Update README.md 2024-01-23 11:52:38 +08:00
PYDT 69d969898d Update README.md 2024-01-23 11:44:26 +08:00
PYDT a21a766926 Update README.md 2024-01-23 11:41:44 +08:00
PYDT f11fdb6b96 Update README.md 2024-01-23 11:34:02 +08:00
PYDT c7445df4c6 Update README.md 2024-01-23 11:07:51 +08:00
PYDT 2c45c9bc5b Update README.md 2024-01-23 11:02:53 +08:00
PYDT ae5ed27cb6 Update README.md 2024-01-23 10:57:13 +08:00
PYDT 11f9fe3c8b Add files via upload 2024-01-23 10:55:05 +08:00
PYDT e93ad3bd33 Delete PYAS_Function.7z 2024-01-23 10:54:34 +08:00
PYDT 20c26ea0a8 Add files via upload 2024-01-23 10:45:31 +08:00
PYDT 5925a80d3b Add files via upload 2024-01-22 16:19:31 +08:00
PYDT 56cb95e523 Add files via upload 2024-01-22 16:11:56 +08:00
PYDT a6e101cc5d Add files via upload 2024-01-22 12:49:46 +08:00
PYDT e8292b6f81 Add files via upload 2024-01-21 23:35:59 +08:00
PYDT 37a4392c94 Add files via upload 2024-01-21 15:49:43 +08:00
PYDT a897f75ecf Add files via upload 2024-01-20 22:16:36 +08:00
PYDT 79055d3779 Add files via upload 2024-01-19 16:31:27 +08:00
PYDT 3d39aa7f97 Delete PYAS_Function_Virus.7z 2024-01-19 11:18:58 +08:00
PYDT 2c1d09affc Delete PYAS_Function_Safe.7z 2024-01-19 11:18:42 +08:00
PYDT 4775358a79 Add files via upload 2024-01-19 11:18:28 +08:00
PYDT cb5f8e8191 Add files via upload 2024-01-19 11:10:48 +08:00
PYDT 8209b4ff01 Add files via upload 2024-01-19 11:05:39 +08:00
PYDT e110134d24 Add files via upload 2024-01-19 07:30:45 +08:00
PYDT c2248fdd49 Add files via upload 2024-01-18 16:51:36 +08:00
PYDT 58fea5b0ca Add files via upload 2024-01-18 15:29:15 +08:00
PYDT 7a36946545 Add files via upload 2024-01-18 13:00:09 +08:00
PYDT 563d9a8a36 Add files via upload 2024-01-18 12:52:17 +08:00
PYDT bdbd0617b5 Add files via upload 2024-01-18 09:04:50 +08:00
PYDT 67006d88cb Add files via upload 2024-01-17 21:39:54 +08:00
PYDT ded2083462 Add files via upload 2024-01-17 16:18:32 +08:00
PYDT 87b7d044f8 Add files via upload 2024-01-17 14:37:47 +08:00
PYDT 9781cef29b Add files via upload 2024-01-17 13:45:19 +08:00
PYDT 52c393148b Add files via upload 2024-01-17 13:33:21 +08:00
PYDT b98d617d6f Add files via upload 2024-01-16 17:00:10 +08:00
PYDT b475573e0e Add files via upload 2024-01-16 15:37:53 +08:00
PYDT ba3c85d5b2 Add files via upload 2024-01-16 10:06:13 +08:00
PYDT 410777efb3 Add files via upload 2024-01-15 22:11:42 +08:00
PYDT 0b3fb452b4 Add files via upload 2024-01-15 19:26:37 +08:00
PYDT aaff565172 Add files via upload 2024-01-15 17:13:45 +08:00
PYDT dd0786648e Add files via upload 2024-01-15 16:46:10 +08:00
PYDT e145ffa111 Add files via upload 2024-01-15 11:31:14 +08:00
PYDT b322468c1c Add files via upload 2024-01-15 11:17:40 +08:00
PYDT 992d8b909c Add files via upload 2024-01-15 09:39:53 +08:00
PYDT d5327c6370 Delete How To Use.py 2024-01-15 09:39:35 +08:00
PYDT 0d13bb5f8f Add files via upload 2024-01-15 09:39:08 +08:00
PYDT 3ad08a33a9 Add files via upload 2024-01-15 09:35:25 +08:00
PYDT 533e0ed736 Add files via upload 2024-01-15 09:15:58 +08:00
PYDT e7ba77b600 Add files via upload 2024-01-15 00:12:33 +08:00
PYDT f3b84b04f7 Add files via upload 2024-01-14 21:17:04 +08:00
PYDT f4c948aca9 Add files via upload 2024-01-13 23:01:02 +08:00
PYDT 1507f5df5a Add files via upload 2024-01-13 18:32:48 +08:00
PYDT 0562d11a71 Add files via upload 2024-01-13 13:23:35 +08:00
PYDT b3a9f5cce0 Add files via upload 2024-01-13 13:17:56 +08:00
PYDT 5974a3c85a Add files via upload 2024-01-13 13:14:37 +08:00
PYDT 78c732d2b8 Add files via upload 2024-01-13 12:42:11 +08:00
PYDT d087b2dc16 Add files via upload 2024-01-12 19:08:57 +08:00
PYDT 16c5d014aa Add files via upload 2024-01-12 10:42:34 +08:00
PYDT e661ff400f Update README.md 2024-01-12 09:53:48 +08:00
PYDT b8c8e2d04d Update README.md 2024-01-12 09:42:24 +08:00
PYDT 8fc36f2b20 Update README.md 2024-01-12 09:37:35 +08:00
PYDT 4b73a09a09 Update README.md 2024-01-12 09:26:49 +08:00
PYDT 65c4d5d5b7 Update README.md 2024-01-12 09:25:45 +08:00
PYDT 19d0702aee Update LICENSE.md 2024-01-12 09:15:08 +08:00
PYDT b74e8330de Add files via upload 2024-01-12 08:24:21 +08:00
PYDT 334b837d43 Add files via upload 2024-01-11 18:57:45 +08:00
PYDT 169cb37f08 Add files via upload 2024-01-11 18:54:52 +08:00
PYDT 8f29c3f0da Add files via upload 2024-01-11 11:26:50 +08:00
PYDT bec5cc4a04 Delete PYAS_Function.7z 2024-01-11 11:25:28 +08:00
PYDT af627ee202 Delete PYAS_Compress.py 2024-01-11 11:25:17 +08:00
PYDT 1e091a3e7c Delete PYAS_Function_Virus.7z 2024-01-11 10:23:11 +08:00
PYDT 8840da91d7 Delete PYAS_Function_Safe.7z 2024-01-11 10:22:59 +08:00
PYDT 1f4ff04ed3 Add files via upload 2024-01-11 10:22:17 +08:00
PYDT 60974e8f72 Add files via upload 2024-01-11 09:31:52 +08:00
PYDT 86f68994c2 Add files via upload 2024-01-10 09:19:18 +08:00
PYDT 21c4918486 Add files via upload 2024-01-09 08:20:17 +08:00
PYDT c6a426ec25 Add files via upload 2024-01-08 21:22:54 +08:00
PYDT db75a22c1c Add files via upload 2024-01-08 19:31:04 +08:00
PYDT 7e85d22ecd Add files via upload 2024-01-08 18:53:53 +08:00
PYDT 67adadc0a4 Add files via upload 2024-01-08 17:46:19 +08:00
PYDT 6b78562454 Add files via upload 2024-01-08 08:33:37 +08:00
PYDT 4f13afc867 Add files via upload 2024-01-07 20:06:03 +08:00
PYDT c34e8f193f Add files via upload 2024-01-06 16:53:56 +08:00
PYDT 4bcb507eae Add files via upload 2024-01-06 12:45:32 +08:00
PYDT a50d457d75 Add files via upload 2024-01-05 10:51:12 +08:00
PYDT 9f119265a9 Add files via upload 2024-01-05 10:21:49 +08:00
PYDT 0b121a624b Add files via upload 2024-01-05 09:34:07 +08:00
PYDT 0f47f5ec8f Add files via upload 2024-01-05 08:12:45 +08:00
PYDT f89896d041 Add files via upload 2024-01-04 15:47:23 +08:00
PYDT 5e335fd5e8 Add files via upload 2024-01-04 15:47:06 +08:00
PYDT fd245dec14 Add files via upload 2024-01-04 14:56:46 +08:00
PYDT 774cdc5de3 Add files via upload 2024-01-04 13:28:02 +08:00
PYDT 633cfad1a8 Add files via upload 2024-01-04 11:39:51 +08:00
PYDT cb7875c320 Add files via upload 2024-01-04 10:08:12 +08:00
PYDT 7960a57fc0 Add files via upload 2024-01-03 23:08:28 +08:00
PYDT a23f693921 Delete PYAS_Function.zip 2024-01-03 22:55:51 +08:00
PYDT c49cb8bc4a Delete PYAS_Compress.py 2024-01-03 22:55:39 +08:00
PYDT 02c425cfc0 Add files via upload 2024-01-03 11:50:11 +08:00
PYDT be96ba0a0e Add files via upload 2024-01-02 11:19:37 +08:00
PYDT df5e00977a Add files via upload 2024-01-02 07:53:56 +08:00
PYDT f055650365 Add files via upload 2024-01-02 07:21:14 +08:00
PYDT b0baddda3b Delete PYAS_Function.7z 2024-01-02 07:20:32 +08:00
PYDT 69359cba05 Delete PYAS_Function_Virus.7z 2024-01-02 00:16:56 +08:00
PYDT 8b0b29e39b Delete PYAS_Function_Safe.7z 2024-01-02 00:16:45 +08:00
PYDT 21ac50667d Add files via upload 2024-01-02 00:16:07 +08:00
PYDT b843a438ba Add files via upload 2024-01-01 03:59:04 +08:00
PYDT 441cc30c0b Add files via upload 2024-01-01 03:42:15 +08:00
PYDT 85adf5dc80 Add files via upload 2023-12-31 20:55:32 +08:00
PYDT 0c48f0981d Delete PYML.py 2023-12-31 17:30:22 +08:00
PYDT 88b646e41c Delete PYAS_Database.7z 2023-12-31 17:30:03 +08:00
PYDT dc4c3e0a99 Add files via upload 2023-12-31 17:29:47 +08:00
PYDT 262f6d55a0 Add files via upload 2023-12-29 11:22:07 +08:00
PYDT 2d68400670 Delete PYAS_Function.7z 2023-12-29 09:42:48 +08:00
PYDT 8acaae3f0d Add files via upload 2023-12-29 09:42:10 +08:00
PYDT a5cb26528f Add files via upload 2023-12-15 08:58:39 +08:00
PYDT ac2520a03f Add files via upload 2023-12-15 08:43:04 +08:00
PYDT 9c15cc7b33 Add files via upload 2023-12-14 22:49:20 +08:00
PYDT c38f460163 Add files via upload 2023-12-14 22:25:15 +08:00
PYDT 9bda8c9e77 Add files via upload 2023-12-14 15:48:01 +08:00
PYDT 558be68bad Add files via upload 2023-12-14 15:25:36 +08:00
PYDT 6b9d27ce9b Add files via upload 2023-12-14 09:57:22 +08:00
PYDT 412745eede Add files via upload 2023-12-14 09:44:59 +08:00
PYDT 91ea771af1 Add files via upload 2023-12-14 07:17:45 +08:00
PYDT 238ab03db3 Add files via upload 2023-12-14 07:16:10 +08:00
PYDT 2d63da193d Add files via upload 2023-12-13 09:31:18 +08:00
PYDT fa4c20a241 Add files via upload 2023-12-12 18:00:47 +08:00
PYDT 6294fc33d1 Add files via upload 2023-12-11 18:17:39 +08:00
PYDT c4cf48a94b Add files via upload 2023-12-11 09:12:24 +08:00
PYDT 2934c7eb57 Add files via upload 2023-12-11 07:53:44 +08:00
PYDT 46ce454105 Add files via upload 2023-12-10 18:02:52 +08:00
PYDT 9ab06a0ea9 Add files via upload 2023-12-10 12:33:37 +08:00
PYDT e6f742380a Add files via upload 2023-12-09 17:43:10 +08:00
PYDT 2686812470 Add files via upload 2023-12-09 17:01:08 +08:00
PYDT cd11b5b7b2 Add files via upload 2023-12-08 21:28:06 +08:00
PYDT aae35dc640 Add files via upload 2023-12-08 18:21:31 +08:00
PYDT f0b669ff85 Add files via upload 2023-12-08 08:18:32 +08:00
PYDT 237605bb9f Add files via upload 2023-12-07 16:17:34 +08:00
PYDT 1778046581 Add files via upload 2023-12-07 09:45:20 +08:00
PYDT ff10adfabb Add files via upload 2023-12-06 14:35:52 +08:00
PYDT 1cb0f8d7ba Add files via upload 2023-12-06 14:29:34 +08:00
PYDT 5813bbdcd1 Add files via upload 2023-12-06 09:52:59 +08:00
PYDT b38e5b177e Add files via upload 2023-12-06 09:08:11 +08:00
PYDT 9d66cf248c Add files via upload 2023-12-06 06:37:25 +08:00
PYDT ebcf90d426 Add files via upload 2023-12-05 15:58:41 +08:00
PYDT 51904db187 Add files via upload 2023-12-05 15:15:21 +08:00
PYDT 4fc8755b8d Add files via upload 2023-12-05 11:27:36 +08:00
PYDT 7afcbfaa26 Add files via upload 2023-12-05 09:16:49 +08:00
PYDT 55cb96d978 Add files via upload 2023-12-05 08:44:24 +08:00
PYDT a1de099974 Add files via upload 2023-12-04 21:24:39 +08:00
PYDT a0238732fe Add files via upload 2023-12-04 19:59:48 +08:00
PYDT 6c100b0679 Add files via upload 2023-12-04 19:25:29 +08:00
PYDT e4d159840f Add files via upload 2023-12-04 19:25:10 +08:00
PYDT 0375b3ff02 Add files via upload 2023-12-04 17:01:02 +08:00
PYDT 746bae5103 Add files via upload 2023-12-04 14:10:23 +08:00
PYDT 70eb2c4500 Add files via upload 2023-12-03 23:18:21 +08:00
PYDT 69175f3ae1 Add files via upload 2023-12-02 20:21:07 +08:00
PYDT ed5fab2c54 Add files via upload 2023-12-01 22:26:39 +08:00
PYDT 1425ff8e6c Add files via upload 2023-12-01 19:43:30 +08:00
PYDT 832ab549a1 Add files via upload 2023-12-01 09:25:11 +08:00
PYDT 4ec1661c26 Add files via upload 2023-12-01 08:26:16 +08:00
PYDT ea27712b62 Add files via upload 2023-12-01 08:25:59 +08:00
PYDT 6f65efe2d8 Add files via upload 2023-11-30 21:11:48 +08:00
PYDT 8edcf60baf Add files via upload 2023-11-30 17:23:46 +08:00
PYDT 74f6aec367 Add files via upload 2023-11-30 16:02:10 +08:00
PYDT 62c65a766a Add files via upload 2023-11-30 15:09:35 +08:00
11 changed files with 6528 additions and 7030 deletions

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020-2023 87owo (PYAS Security)
Copyright (c) 2020-2024 87owo (PYAS Security)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+358 -253
View File
File diff suppressed because it is too large. Load diff
+83
View File
@@ -0,0 +1,83 @@
import re, time, json, hashlib, numpy
from itertools import groupby
class ListSimHash:
def __init__(self):
self.model = {}
def save_model(self, file_name):
with open(file_name, 'w') as f:
json.dump(self.model, f)
print(f"\nModel Is Saved In {file_name}")
def load_model(self, model_data):
if isinstance(model_data, str):
with open(model_data, 'r') as f:
model_data = json.load(f)
self.model = model_data
def get_model(self, label):
return self.model[label]
def train_model(self, ones, zero, feature=128, batch_size=1000):
self.model["ones"] = []
self.model["zero"] = []
self.model["feature"] = feature
self.model["batch_size"] = batch_size
start = time.time()
print("Convert ones")
for i, x in enumerate(ones, 1):
self.model["ones"].append(self.build_text(x))
used = "{0:.2f}".format(time.time()-start)
self.progress_bar(i, len(ones), prefix=f'{i}/{len(ones)}:', suffix=f'{used}s')
start = time.time()
print("Convert zero")
for i, y in enumerate(zero, 1):
self.model["zero"].append(self.build_text(y))
used = "{0:.2f}".format(time.time()-start)
self.progress_bar(i, len(zero), prefix=f'{i}/{len(zero)}:', suffix=f'{used}s')
def build_text(self, content, width=4):
sums, batch, count = [], [], 0
if isinstance(content, list):
content = ' '.join(content)
elif isinstance(content, bytes):
content = content.decode('utf-8', errors='ignore')
content = ''.join(re.findall(r'[\w\u4e00-\u9fcc]+', content.lower()))
features = [content[i:i + width] for i in range(max(len(content) - width + 1, 1))]
features = {k: sum(1 for _ in g) for k, g in groupby(sorted(features))}
for f, w in features.items():
count += w
h = hashlib.md5(f.encode('utf-8')).digest()
batch.append(h * w)
if len(batch) >= self.model["batch_size"]:
sums.append(self.sum_hashes(batch))
batch = []
if batch:
sums.append(self.sum_hashes(batch))
combined_sums = numpy.sum(sums, 0)
v = numpy.packbits(combined_sums > count / 2).tobytes()
return int.from_bytes(v, 'big')
def sum_hashes(self, digests):
bitarray = numpy.unpackbits(numpy.frombuffer(b''.join(digests), dtype='>B'))
return numpy.sum(numpy.reshape(bitarray, (-1, self.model["feature"])), 0)
def progress_bar(self, iteration, total, prefix='', suffix='', length=50, fill='█'):
percent = min(100.0, max(0.0, 100 * (iteration / float(total))))
end_char = '\n' if percent >= 100 else '\r'
percent_string = "{0:.2f}".format(percent)
filled_length = int(length * iteration // total)
bar = fill * filled_length + ' ' * (length - filled_length)
print(f'\r {prefix: <10} |{bar}| {percent_string}% {suffix}', end=end_char)
def predict(self, query):
query_hash = self.build_text(query)
max_ones = max(self.similar(x, query_hash) for x in self.model["ones"])
max_zero = max(self.similar(y, query_hash) for y in self.model["zero"])
return max_ones, max_zero
def similar(self, x, y):
hamming_distance = bin(x ^ y).count('1')
similarity = 1 - hamming_distance / self.model["feature"]
return similarity
+2 -4
View File
@@ -1,10 +1,8 @@
slist = [".exe",".dll",".com",".msi",".scr",
".bat",".cmd",".ps1",".vbs",".jar",
".js",".elf",".doc",".xls",".xlsx"]
".js",".bat",".cmd",".ps1",".vbs"]
alist = [".ppt",".pptx",".wps",".txt",".rtf",
".pdf",".xls",".xlsx",".doc",".docx",
".jpg",".jpeg",".png",".webp",".gif",
".mp3",".wav",".aac",".ogg",".flac",
".mp4",".avi",".mov",".wmv",".mkv",
".zip",".7z",".rar",".tar",".gz"]
".mp4",".avi",".mov",".wmv",".mkv"]
BIN
View File
Binary file not shown.
+221 -237
View File
@@ -29,6 +29,7 @@ class Ui_MainWindow(object):
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(0, 0, 851, 541))
self.widget.setStyleSheet("")
self.widget.setObjectName("widget")
self.Protection_widget = QtWidgets.QWidget(self.widget)
self.Protection_widget.setGeometry(QtCore.QRect(170, 50, 671, 481))
@@ -37,7 +38,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Protection_widget.setFont(font)
self.Protection_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Protection_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Protection_widget.setObjectName("Protection_widget")
self.Real_time_Protection_widget = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget.setGeometry(QtCore.QRect(40, 10, 591, 91))
@@ -87,13 +88,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button.setCheckable(False)
self.Protection_switch_Button.setObjectName("Protection_switch_Button")
@@ -145,13 +147,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_2.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_2.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_2.setCheckable(False)
self.Protection_switch_Button_2.setObjectName("Protection_switch_Button_2")
@@ -201,13 +204,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_3.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_3.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_3.setCheckable(False)
self.Protection_switch_Button_3.setObjectName("Protection_switch_Button_3")
@@ -257,13 +261,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_4.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_4.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_4.setCheckable(False)
self.Protection_switch_Button_4.setObjectName("Protection_switch_Button_4")
@@ -313,13 +318,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_5.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_5.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_5.setCheckable(False)
self.Protection_switch_Button_5.setObjectName("Protection_switch_Button_5")
@@ -330,14 +336,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Navigation_Bar.setFont(font)
self.Navigation_Bar.setStyleSheet("QWidget#Navigation_Bar\n"
"{\n"
" background-color:rgb(230, 230, 230);\n"
" border-top-right-radius:2px;\n"
" border-bottom-right-radius:2px;\n"
"}\n"
"\n"
"")
self.Navigation_Bar.setStyleSheet("background-color: rgb(230, 230, 230);")
self.Navigation_Bar.setObjectName("Navigation_Bar")
self.verticalLayoutWidget = QtWidgets.QWidget(self.Navigation_Bar)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 161, 481))
@@ -365,8 +364,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -376,7 +375,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/icon/State.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.State_Button.setIcon(icon1)
@@ -403,8 +403,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -414,7 +414,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/icon/Scan.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Virus_Scan_Button.setIcon(icon2)
@@ -444,8 +445,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -455,7 +456,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/icon/Tool.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Tools_Button.setIcon(icon3)
@@ -482,8 +484,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -493,7 +495,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/icon/Protect.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Protection_Button.setIcon(icon4)
@@ -526,7 +529,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Virus_Scan_widget.setFont(font)
self.Virus_Scan_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Virus_Scan_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Virus_Scan_widget.setObjectName("Virus_Scan_widget")
self.Virus_Scan_title = QtWidgets.QLabel(self.Virus_Scan_widget)
self.Virus_Scan_title.setGeometry(QtCore.QRect(45, 30, 281, 41))
@@ -550,7 +553,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_text.setWordWrap(True)
self.Virus_Scan_text.setObjectName("Virus_Scan_text")
self.Virus_Scan_choose_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_choose_Button.setGeometry(QtCore.QRect(480, 35, 141, 31))
self.Virus_Scan_choose_Button.setGeometry(QtCore.QRect(490, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -565,16 +568,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_choose_Button.setTabletTracking(False)
self.Virus_Scan_choose_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_choose_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_choose_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(100,200,100,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(100,220,100,200);\n"
"}")
self.Virus_Scan_choose_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(190,250,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(200,250,200);}\n"
"")
self.Virus_Scan_choose_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_choose_Button.setCheckable(False)
self.Virus_Scan_choose_Button.setAutoRepeat(False)
@@ -585,16 +580,19 @@ class Ui_MainWindow(object):
self.Virus_Scan_choose_Button.setFlat(False)
self.Virus_Scan_choose_Button.setObjectName("Virus_Scan_choose_Button")
self.Virus_Scan_choose_widget = QtWidgets.QWidget(self.Virus_Scan_widget)
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(480, 67, 141, 31))
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(490, 67, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Virus_Scan_choose_widget.sizePolicy().hasHeightForWidth())
self.Virus_Scan_choose_widget.setSizePolicy(sizePolicy)
self.Virus_Scan_choose_widget.setStyleSheet("background-color:rgba(200, 200, 200,200);")
self.Virus_Scan_choose_widget.setStyleSheet("QWidget {\n"
" background-color: rgb(230, 230, 230);\n"
" border-radius: 10px;\n"
" }")
self.Virus_Scan_choose_widget.setObjectName("Virus_Scan_choose_widget")
self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.Virus_Scan_choose_widget)
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 141, 101))
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 131, 101))
self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3")
self.Virus_Scan_choose_verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_3)
self.Virus_Scan_choose_verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
@@ -616,17 +614,18 @@ class Ui_MainWindow(object):
self.File_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.File_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.File_Scan_Button.setCheckable(False)
self.File_Scan_Button.setObjectName("File_Scan_Button")
@@ -646,17 +645,18 @@ class Ui_MainWindow(object):
self.Path_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Path_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.Path_Scan_Button.setCheckable(False)
self.Path_Scan_Button.setObjectName("Path_Scan_Button")
@@ -676,23 +676,24 @@ class Ui_MainWindow(object):
self.Disk_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Disk_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.Disk_Scan_Button.setCheckable(False)
self.Disk_Scan_Button.setObjectName("Disk_Scan_Button")
self.Virus_Scan_choose_verticalLayout.addWidget(self.Disk_Scan_Button)
self.Virus_Scan_Solve_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_Solve_Button.setGeometry(QtCore.QRect(330, 35, 141, 31))
self.Virus_Scan_Solve_Button.setGeometry(QtCore.QRect(350, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -707,16 +708,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_Solve_Button.setTabletTracking(False)
self.Virus_Scan_Solve_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_Solve_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_Solve_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(230,70,70,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(255,70,70,200);\n"
"}")
self.Virus_Scan_Solve_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(250,190,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(250,200,200);}\n"
"")
self.Virus_Scan_Solve_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_Solve_Button.setCheckable(False)
self.Virus_Scan_Solve_Button.setAutoRepeat(False)
@@ -727,7 +720,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_Solve_Button.setFlat(False)
self.Virus_Scan_Solve_Button.setObjectName("Virus_Scan_Solve_Button")
self.Virus_Scan_Break_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_Break_Button.setGeometry(QtCore.QRect(480, 35, 141, 31))
self.Virus_Scan_Break_Button.setGeometry(QtCore.QRect(490, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -742,16 +735,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_Break_Button.setTabletTracking(False)
self.Virus_Scan_Break_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_Break_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_Break_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(230,70,70,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(255,70,70,200);\n"
"}")
self.Virus_Scan_Break_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(250,190,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(250,200,200);}\n"
"")
self.Virus_Scan_Break_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_Break_Button.setCheckable(False)
self.Virus_Scan_Break_Button.setAutoRepeat(False)
@@ -800,6 +785,13 @@ class Ui_MainWindow(object):
self.Virus_Scan_output.setUniformItemSizes(False)
self.Virus_Scan_output.setSelectionRectVisible(False)
self.Virus_Scan_output.setObjectName("Virus_Scan_output")
self.Virus_Scan_title.raise_()
self.Virus_Scan_text.raise_()
self.Virus_Scan_choose_widget.raise_()
self.Virus_Scan_Solve_Button.raise_()
self.Virus_Scan_output.raise_()
self.Virus_Scan_Break_Button.raise_()
self.Virus_Scan_choose_Button.raise_()
self.State_widget = QtWidgets.QWidget(self.widget)
self.State_widget.setGeometry(QtCore.QRect(170, 49, 671, 481))
font = QtGui.QFont()
@@ -807,7 +799,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.State_widget.setFont(font)
self.State_widget.setStyleSheet("background-color:rgb(255, 255, 255);")
self.State_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.State_widget.setObjectName("State_widget")
self.State_title = QtWidgets.QLabel(self.State_widget)
self.State_title.setGeometry(QtCore.QRect(50, 210, 571, 41))
@@ -823,14 +815,24 @@ class Ui_MainWindow(object):
self.State_title.setAlignment(QtCore.Qt.AlignCenter)
self.State_title.setObjectName("State_title")
self.State_icon = QtWidgets.QLabel(self.State_widget)
self.State_icon.setGeometry(QtCore.QRect(250, 30, 171, 171))
self.State_icon.setGeometry(QtCore.QRect(240, 20, 191, 191))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.State_icon.sizePolicy().hasHeightForWidth())
self.State_icon.setSizePolicy(sizePolicy)
self.State_icon.setMinimumSize(QtCore.QSize(0, 171))
self.State_icon.setMaximumSize(QtCore.QSize(16777215, 16777215))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(1)
font.setStrikeOut(False)
font.setKerning(True)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.State_icon.setFont(font)
self.State_icon.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
self.State_icon.setToolTip("")
self.State_icon.setStyleSheet("")
self.State_icon.setFrameShape(QtWidgets.QFrame.NoFrame)
self.State_icon.setLineWidth(1)
self.State_icon.setText("")
@@ -853,6 +855,8 @@ class Ui_MainWindow(object):
self.State_output.setFont(font)
self.State_output.setAutoFillBackground(False)
self.State_output.setStyleSheet("")
self.State_output.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.State_output.setFrameShadow(QtWidgets.QFrame.Sunken)
self.State_output.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
self.State_output.setUndoRedoEnabled(True)
self.State_output.setTextInteractionFlags(QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse)
@@ -876,7 +880,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.About_widget.setFont(font)
self.About_widget.setStyleSheet("background-color:rgba(255, 255, 255,255);")
self.About_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.About_widget.setObjectName("About_widget")
self.About_Back = QtWidgets.QPushButton(self.About_widget)
self.About_Back.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -891,17 +895,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.About_Back.setFont(font)
self.About_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.About_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.About_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/icon/Back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.About_Back.setIcon(icon5)
@@ -1026,7 +1020,13 @@ class Ui_MainWindow(object):
font.setPointSize(11)
self.License_terms.setFont(font)
self.License_terms.setStyleSheet("")
self.License_terms.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.License_terms.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
self.License_terms.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
self.License_terms.setTabChangesFocus(False)
self.License_terms.setLineWrapColumnOrWidth(0)
self.License_terms.setReadOnly(True)
self.License_terms.setOverwriteMode(False)
self.License_terms.setObjectName("License_terms")
self.License_terms_title = QtWidgets.QLabel(self.About_widget)
self.License_terms_title.setGeometry(QtCore.QRect(45, 260, 581, 31))
@@ -1046,10 +1046,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Window_widget.setFont(font)
self.Window_widget.setStyleSheet("QWidget#Window_widget\n"
"{\n"
"background-color:rgb(240, 240, 240);\n"
"}")
self.Window_widget.setStyleSheet("background-color: rgb(240, 240, 240);")
self.Window_widget.setObjectName("Window_widget")
self.Close_Button = QtWidgets.QPushButton(self.Window_widget)
self.Close_Button.setGeometry(QtCore.QRect(790, 5, 31, 31))
@@ -1172,7 +1169,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Process_widget.setFont(font)
self.Process_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Process_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Process_widget.setObjectName("Process_widget")
self.Process_Tools_Back = QtWidgets.QPushButton(self.Process_widget)
self.Process_Tools_Back.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -1187,17 +1184,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Process_Tools_Back.setFont(font)
self.Process_Tools_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Process_Tools_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.Process_Tools_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.Process_Tools_Back.setIcon(icon5)
self.Process_Tools_Back.setIconSize(QtCore.QSize(20, 20))
self.Process_Tools_Back.setCheckable(False)
@@ -1265,7 +1252,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Tools_widget.setFont(font)
self.Tools_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Tools_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Tools_widget.setObjectName("Tools_widget")
self.More_Tools_Back_Button = QtWidgets.QPushButton(self.Tools_widget)
self.More_Tools_Back_Button.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -1280,13 +1267,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.More_Tools_Back_Button.setFont(font)
self.More_Tools_Back_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.More_Tools_Back_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"")
self.More_Tools_Back_Button.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.More_Tools_Back_Button.setIconSize(QtCore.QSize(20, 20))
self.More_Tools_Back_Button.setCheckable(False)
self.More_Tools_Back_Button.setObjectName("More_Tools_Back_Button")
@@ -1312,17 +1293,18 @@ class Ui_MainWindow(object):
self.System_Process_Manage_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.System_Process_Manage_Button.setIconSize(QtCore.QSize(16, 16))
self.System_Process_Manage_Button.setCheckable(False)
self.System_Process_Manage_Button.setObjectName("System_Process_Manage_Button")
@@ -1342,17 +1324,18 @@ class Ui_MainWindow(object):
self.Clean_System_Files_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Clean_System_Files_Button.setIconSize(QtCore.QSize(16, 16))
self.Clean_System_Files_Button.setCheckable(False)
self.Clean_System_Files_Button.setObjectName("Clean_System_Files_Button")
@@ -1372,17 +1355,18 @@ class Ui_MainWindow(object):
self.Repair_System_Files_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Repair_System_Files_Button.setIconSize(QtCore.QSize(16, 16))
self.Repair_System_Files_Button.setCheckable(False)
self.Repair_System_Files_Button.setObjectName("Repair_System_Files_Button")
@@ -1402,17 +1386,18 @@ class Ui_MainWindow(object):
self.Repair_System_Network_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Repair_System_Network_Button.setIconSize(QtCore.QSize(16, 16))
self.Repair_System_Network_Button.setCheckable(False)
self.Repair_System_Network_Button.setObjectName("Repair_System_Network_Button")
@@ -1432,25 +1417,22 @@ class Ui_MainWindow(object):
self.Window_Block_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Window_Block_Button.setIconSize(QtCore.QSize(16, 16))
self.Window_Block_Button.setCheckable(False)
self.Window_Block_Button.setObjectName("Window_Block_Button")
self.System_verticalLayout.addWidget(self.Window_Block_Button)
self.widget_2 = QtWidgets.QWidget(self.widget)
self.widget_2.setGeometry(QtCore.QRect(170, 50, 671, 481))
self.widget_2.setStyleSheet("background-color:rgb(255, 255, 255);")
self.widget_2.setObjectName("widget_2")
self.Setting_widget = QtWidgets.QWidget(self.widget)
self.Setting_widget.setGeometry(QtCore.QRect(10, 50, 831, 481))
font = QtGui.QFont()
@@ -1458,7 +1440,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Setting_widget.setFont(font)
self.Setting_widget.setStyleSheet("background-color:rgba(255, 255, 255,255);")
self.Setting_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Setting_widget.setObjectName("Setting_widget")
self.Show_high_sensitivity = QtWidgets.QWidget(self.Setting_widget)
self.Show_high_sensitivity.setGeometry(QtCore.QRect(30, 50, 781, 81))
@@ -1505,13 +1487,14 @@ class Ui_MainWindow(object):
self.high_sensitivity_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.high_sensitivity_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.high_sensitivity_switch_Button.setCheckable(False)
self.high_sensitivity_switch_Button.setObjectName("high_sensitivity_switch_Button")
@@ -1559,6 +1542,14 @@ class Ui_MainWindow(object):
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.Language_English = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_English.setFont(font)
self.Language_English.setObjectName("Language_English")
self.gridLayout.addWidget(self.Language_English, 1, 2, 1, 1)
self.Language_Traditional_Chinese = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1575,14 +1566,6 @@ class Ui_MainWindow(object):
self.Language_Simplified_Chinese.setFont(font)
self.Language_Simplified_Chinese.setObjectName("Language_Simplified_Chinese")
self.gridLayout.addWidget(self.Language_Simplified_Chinese, 1, 1, 1, 1)
self.Language_English = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_English.setFont(font)
self.Language_English.setObjectName("Language_English")
self.gridLayout.addWidget(self.Language_English, 1, 2, 1, 1)
self.Language_illustrate.raise_()
self.Language_Choose_widget.raise_()
self.Language_title.raise_()
@@ -1631,13 +1614,14 @@ class Ui_MainWindow(object):
self.cloud_services_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.cloud_services_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.cloud_services_switch_Button.setCheckable(False)
self.cloud_services_switch_Button.setObjectName("cloud_services_switch_Button")
@@ -1657,17 +1641,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Setting_Back.setFont(font)
self.Setting_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Setting_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.Setting_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.Setting_Back.setIcon(icon5)
self.Setting_Back.setIconSize(QtCore.QSize(20, 20))
self.Setting_Back.setCheckable(False)
@@ -1717,13 +1691,14 @@ class Ui_MainWindow(object):
self.Add_White_list_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Add_White_list_Button.setIconSize(QtCore.QSize(16, 16))
self.Add_White_list_Button.setCheckable(False)
self.Add_White_list_Button.setObjectName("Add_White_list_Button")
@@ -1769,22 +1744,6 @@ class Ui_MainWindow(object):
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.Theme_Black = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Black.setFont(font)
self.Theme_Black.setObjectName("Theme_Black")
self.gridLayout_2.addWidget(self.Theme_Black, 1, 1, 1, 1)
self.Theme_White = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_White.setFont(font)
self.Theme_White.setObjectName("Theme_White")
self.gridLayout_2.addWidget(self.Theme_White, 1, 0, 1, 1)
self.Theme_Yellow = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1793,13 +1752,37 @@ class Ui_MainWindow(object):
self.Theme_Yellow.setFont(font)
self.Theme_Yellow.setObjectName("Theme_Yellow")
self.gridLayout_2.addWidget(self.Theme_Yellow, 1, 2, 1, 1)
self.Theme_Green = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
self.Theme_Green.setFont(font)
self.Theme_Green.setObjectName("Theme_Green")
self.gridLayout_2.addWidget(self.Theme_Green, 2, 0, 1, 1)
self.Theme_Blue = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Blue.setFont(font)
self.Theme_Blue.setObjectName("Theme_Blue")
self.gridLayout_2.addWidget(self.Theme_Blue, 2, 0, 1, 1)
self.gridLayout_2.addWidget(self.Theme_Blue, 2, 1, 1, 1)
self.Theme_Customize = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Customize.setFont(font)
self.Theme_Customize.setObjectName("Theme_Customize")
self.gridLayout_2.addWidget(self.Theme_Customize, 2, 2, 1, 1)
self.Theme_White = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_White.setFont(font)
self.Theme_White.setObjectName("Theme_White")
self.gridLayout_2.addWidget(self.Theme_White, 1, 0, 1, 1)
self.Theme_Red = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1807,27 +1790,23 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Red.setFont(font)
self.Theme_Red.setObjectName("Theme_Red")
self.gridLayout_2.addWidget(self.Theme_Red, 2, 1, 1, 1)
self.Theme_Green = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Green.setFont(font)
self.Theme_Green.setObjectName("Theme_Green")
self.gridLayout_2.addWidget(self.Theme_Green, 2, 2, 1, 1)
self.gridLayout_2.addWidget(self.Theme_Red, 1, 1, 1, 1)
self.Theme_illustrate.raise_()
self.Language_Choose_widget_2.raise_()
self.Theme_title.raise_()
self.Protection_widget.raise_()
self.Setting_widget.raise_()
self.About_widget.raise_()
self.Tools_widget.raise_()
self.widget_2 = QtWidgets.QWidget(self.widget)
self.widget_2.setGeometry(QtCore.QRect(170, 50, 671, 481))
self.widget_2.setStyleSheet("background-color: rgb(255, 255, 255);")
self.widget_2.setObjectName("widget_2")
self.widget_2.raise_()
self.Setting_widget.raise_()
self.Tools_widget.raise_()
self.Process_widget.raise_()
self.Virus_Scan_widget.raise_()
self.About_widget.raise_()
self.Protection_widget.raise_()
self.Window_widget.raise_()
self.Navigation_Bar.raise_()
self.Virus_Scan_widget.raise_()
self.State_widget.raise_()
MainWindow.setCentralWidget(self.centralwidget)
@@ -1873,16 +1852,21 @@ class Ui_MainWindow(object):
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.State_log.setText(_translate("MainWindow", "日誌:"))
self.About_Back.setText(_translate("MainWindow", "返回"))
self.PYAS_Version.setText(_translate("MainWindow", "PYAS v2.3.5"))
self.PYAS_Version.setText(_translate("MainWindow", "PYAS V0.0.0 (0000-00-00)"))
self.GUI_Made_title.setText(_translate("MainWindow", "介面製作:"))
self.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao"))
self.Core_Made_title.setText(_translate("MainWindow", "核心製作:"))
self.Core_Made_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.Core_Made_Name.setText(_translate("MainWindow", "87owo"))
self.Testers_title.setText(_translate("MainWindow", "測試人員:"))
self.Testers_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.Testers_Name.setText(_translate("MainWindow", "87owo"))
self.PYAS_URL_title.setText(_translate("MainWindow", "官方網站:"))
self.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://xiaomi69ai.wixsite.com/pyas\"><span style=\" text-decoration: underline; color:#0000ff;\">https://xiaomi69ai.wixsite.com/pyas</span></a></p></body></html>"))
self.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 2020-2022 PYAS Security"))
self.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://github.com/87owo/PYAS\"><span style=\" text-decoration: underline; color:#000000;\">https://github.com/87owo/PYAS</span></a></p></body></html>"))
self.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 0000-9999 PYAS Security"))
self.License_terms.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.License_terms_title.setText(_translate("MainWindow", "許可條款:"))
self.Window_title.setText(_translate("MainWindow", "PYAS V0.0.0"))
self.Process_Tools_Back.setText(_translate("MainWindow", "返回"))
@@ -1896,26 +1880,26 @@ class Ui_MainWindow(object):
self.high_sensitivity_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.high_sensitivity_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.high_sensitivity_switch_Button.setText(_translate("MainWindow", "已關閉"))
self.Language_title.setText(_translate("MainWindow", "語言"))
self.Language_title.setText(_translate("MainWindow", "顯示語言"))
self.Language_illustrate.setText(_translate("MainWindow", "請選擇語言"))
self.Language_English.setText(_translate("MainWindow", "English"))
self.Language_Traditional_Chinese.setText(_translate("MainWindow", "繁體中文"))
self.Language_Simplified_Chinese.setText(_translate("MainWindow", "简体中文"))
self.Language_English.setText(_translate("MainWindow", "English"))
self.cloud_services_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.cloud_services_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.cloud_services_title.setText(_translate("MainWindow", "雲端掃描服務"))
self.cloud_services_illustrate.setText(_translate("MainWindow", "啟用此選項可以連接雲端掃描服務"))
self.cloud_services_switch_Button.setText(_translate("MainWindow", "已關閉"))
self.Setting_Back.setText(_translate("MainWindow", "返回"))
self.Add_White_list_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.Add_White_list_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.Add_White_list_title.setText(_translate("MainWindow", "增加到白名單"))
self.Add_White_list_illustrate.setText(_translate("MainWindow", "此選項可以選擇檔案並增加到白名單"))
self.Add_White_list_Button.setText(_translate("MainWindow", "已關閉"))
self.Theme_title.setText(_translate("MainWindow", "顯色主題"))
self.Theme_illustrate.setText(_translate("MainWindow", "請選擇主題"))
self.Theme_Black.setText(_translate("MainWindow", "黑色主題"))
self.Theme_White.setText(_translate("MainWindow", "白色主題"))
self.Theme_Yellow.setText(_translate("MainWindow", "粉色主題"))
self.Theme_Blue.setText(_translate("MainWindow", "藍色主題"))
self.Theme_Red.setText(_translate("MainWindow", "紅色主題"))
self.Theme_Yellow.setText(_translate("MainWindow", "黃色主題"))
self.Theme_Green.setText(_translate("MainWindow", "綠色主題"))
self.Theme_Blue.setText(_translate("MainWindow", "藍色主題"))
self.Theme_Customize.setText(_translate("MainWindow", "自訂主題"))
self.Theme_White.setText(_translate("MainWindow", "白色主題"))
self.Theme_Red.setText(_translate("MainWindow", "紅色主題"))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
+54 -53
View File
@@ -1,53 +1,54 @@
translate_dict = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"已開啟","Off":"已關閉"},
"zh_CN": {"已開啟":"已开启","已關閉":"已关闭","On":"已开启","Off":"已关闭",
"軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于",
"錯誤":"错误","實時":"实时","發現":"发现","關閉":"关闭","裝置":"设备",
"總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络",
"位元":"字节","彈窗":"弹窗","靈敏":"敏感","誤報":"误报","複製":"复制",
"訊":"讯","項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保",
"鑰":"钥","當":"当","後":"后","護":"护","導":"导","區":"区","復":"复",
"攔":"拦","請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选",
"啟":"启","監":"监","並":"并","徑":"径","盤":"盘","隱":"隐","動":"动",
"狀":"状","誌":"志","這":"这","會":"会","題":"题","擇":"择","語":"语",
"無":"无","顯":"显","變":"变","戶":"户","碼":"码","雲":"云","訂":"订",
"稱":"称","類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网",
"詢":"询","製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红",
"綠":"绿","態":"态","務":"务","連":"连","檢":"检","測":"测","關":"关",
"強":"强","驅":"驱","為":"为","腳":"脚","增":"增","單":"单","開":"开",
"惡":"恶",},
"en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ",
"立即刪除":"Delete Now","安全模式":"Safe Mode","官方網站":"Website",
"惡意檔案":"Virus ","惡意軟體":"Malware ","勒索軟體":"Ransom ",
"惡意腳本":"Script ","惡意行為":"Behavior ","可疑軟體":"Suspicious ",
"許可條款":"License Terms","惡意":"Malicious","可疑":"Suspicious",
"啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ",
"正在掃描":"Scanning ","正在刪除":"Deleting ","最小化到":"Minimize To ",
"確定要":"Sure Want To ","靈敏度":"Sensitivity ","更新":"Update",
"白色主題":"White","黑色主題":"Black","黃色主題":"Yellow","紅色主題":"Red",
"藍色主題":"Blue","綠色主題":"Green","語言":"Language ","製作":"Make",
"測試人員":"Testers","版本資訊":"Information","通訊":"Communication ",
"註冊表":"Registry ","退出":"Quit ","檔案":"File ","當前":"Currently ",
"狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ",
"失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ",
"需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back",
"受到":"Been ","錯誤":"Error","完成":"Complete ","引擎":"Engine ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","增強":"Enhanced ",
"系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ",
"裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ",
"確定":"OK","執行":"Execute ","警告":"Warning ","使用":"Use ",
"網路":"Network ","變更":"Change ","總數":"Total","結束":"End ",
"選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ",
"進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ",
"分區":"Partition ","設定":"Settings","關於":"About","模式":"Mode ",
"提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ",
"風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ",
"管理":"Manage","所有":"All ","全盤":"Full ","取消":"Cancel ",
"垃圾":"Junk ","位元":"byte ","本機":"Computer ","停止":"Stop ",
"增加到":"Add File To ","白名單":"White List ","軟體":"Software ",
"增加":"Add","移除":"Delete","項目":"Items ","生成":"Create ","稱":"",
"開啟":"Open ","您":"You ","此":"This ","並":"And ","未":"Not ",
"高":"High ","新":"New ","和":"And ","可能會":"Possible ","會":"Can ",
"日誌":"Log","已":"Has ","彈窗":"Window ","要":"To ","驅動":"Drive ",
"的":"","顯示":"","個":"","嗎":"","中":"","了":"","行":"","立即":"",
"密鑰":"Key ","檢測":"Detect ","誤報":"False Positive "," ":" ",
"複製":"Copy "}}
translate_dict = {
"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"已開啟","Off":"已關閉"},
"zh_CN": {"已開啟":"已开启","已關閉":"已关闭","On":"已开启","Off":"已关闭",
"軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于",
"錯誤":"错误","實時":"实时","發現":"发现","關閉":"关闭","裝置":"设备",
"總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络",
"位元":"字节","彈窗":"弹窗","靈敏":"敏感","誤報":"误报","複製":"复制",
"訊":"讯","項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保",
"鑰":"钥","當":"当","後":"后","護":"护","導":"导","區":"区","復":"复",
"攔":"拦","請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选",
"啟":"启","監":"监","並":"并","徑":"径","盤":"盘","隱":"隐","動":"动",
"狀":"状","誌":"志","這":"这","會":"会","題":"题","擇":"择","語":"语",
"無":"无","顯":"显","變":"变","戶":"户","碼":"码","雲":"云","介":"界",
"稱":"称","類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网",
"詢":"询","製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红",
"綠":"绿","態":"态","務":"务","連":"连","檢":"检","測":"测","關":"关",
"強":"强","驅":"驱","為":"为","腳":"脚","增":"增","單":"单","開":"开",
"惡":"恶","據":"据","庫":"库","經":"经","敗":"败"},
"en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ",
"立即刪除":"Delete Now","安全模式":"Safe Mode","官方網站":"Website",
"惡意檔案":"Virus ","惡意軟體":"Malware ","勒索行為":"Ransom ",
"惡意腳本":"Script ","惡意行為":"Behavior ","可疑軟體":"Suspicious ",
"許可條款":"License Terms","惡意":"Malicious","可疑":"Suspicious",
"啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ",
"正在掃描":"Scanning ","正在刪除":"Deleting ","最小化到":"Minimize To ",
"確定要":"Sure Want To ","靈敏度":"Sensitivity ","更新":"Update ",
"白色主題":"White","黃色主題":"Yellow","紅色主題":"Red","語言":"Language ",
"藍色主題":"Blue","綠色主題":"Green","自定主題":"Custom","最新":"Latest ",
"測試人員":"Testers","版本資訊":"Information","通訊":"Communication ",
"註冊表":"Registry ","退出":"Quit ","檔案":"File ","當前":"Currently ",
"狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ",
"失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ",
"需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back",
"受到":"Been ","錯誤":"Error","完成":"Complete ","引擎":"Engine ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","增強":"Enhanced ",
"系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ",
"裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ",
"確定":"OK","執行":"Execute ","警告":"Warning ","使用":"Use ",
"網路":"Network ","變更":"Change ","總數":"Total","結束":"End ",
"選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ",
"進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ",
"分區":"Partition ","設定":"Settings","關於":"About","模式":"Mode ",
"提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ",
"風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ",
"管理":"Manage","所有":"All ","您":"You ","取消":"Cancel ","未":"Not ",
"垃圾":"Junk ","位元":"byte ","本機":"Computer ","停止":"Stop ",
"增加到":"Add File To ","白名單":"White List ","軟體":"Software ",
"增加":"Add","移除":"Delete","項目":"Items ","生成":"Create ","稱":"",
"複製":"Copy ","開啟":"Open ","此":"This ","並":"And ","全盤":"Full ",
"已經是":"Already ","數據庫":"Database ","誤報":"False Positive ",
"高":"High ","新":"New ","和":"And ","可能會":"Possible ","會":"Can ",
"日誌":"Log","已":"Has ","彈窗":"Window ","要":"To ","驅動":"Drive ",
"的":"","顯示":"","個":"","嗎":"","中":"","了":"","行":"","立即":"",
"密鑰":"Key ","檢測":"Detect ","製作":"Make"," ":" "}}
+1
View File
@@ -0,0 +1 @@
{"ones": [138514579140422510314615591404235408110, 138884061479927293269157399561321625124, 106913533745562494950237068000717194857, 56400517596638244422894049797604820621, 57509758994800025148320631233619478382, 266907975564823269757642468520682218021, 268764573572222081482569414853338147421, 301824928671740406049708617676147983911, 216322613833371885512412681366080352834, 305869899604823982125728318036880769198, 139390375862009821188813492031092843045, 140636369840301821837859972310736757357, 93525514883026399429643965685843744494, 85423552611944120389541188728576853614, 212959202992585676402479957744392065258, 310175323171803986711996189701871919269, 267073946987621142567955636205481517613, 130213060982497483351391950606798445166, 309453635424025901100964431663839207981, 98595718339270037315648519699911042861, 804810740308425468096265735208257617, 308840950453806983092423514217084578476, 322017788596429201866715226549004966766, 96855081274446633945978062387702817317, 309443088174281869980853203902500569645, 145963460354456926129955518358155059877, 100726355023313678737270049805708838766, 163055950804159105041684713458861453642, 139400638929619405534171854486176686629, 314740690747489056417995540920077280813, 309174548517306493765742812127600992824, 42649730517016866640152470265639253071, 266991032348753532132223164567115948653, 310834785753961546009345771577019752617, 138794485055151379651410532066913608701, 131790595577365633473641510877883811372, 333214357055760258309229460312077263456, 266919150567781465017126522717174383268, 309443250354319958579894353439906751021, 314760122553781807187305329030403597869, 309526327094009133336072658832466510380, 140783818610473943253735333316647117357, 266908765191386477077819778373267636908, 141960523677151839211304480019230155437, 236708587517087268685876607084596151010, 147109497140790587393132625769962294828, 98101030488836797416915605797123547821, 309443006965336732125112839751851204645, 163777668652403995261587270005386479850, 96850943187510051473774485962306807341, 314740690747489056417995540920077280813, 266907874033546142647711315245141475885, 128087963732730699244600678440497496745, 122948904762874323200167759687292791479, 144623683762647410432822459404215795881, 175281760716791954210630508746562429745, 98185566304403225600012489980760220205, 312173101091522310981766359248219144333, 165719174729833763978390369816514151589, 130453416906105788293089319006359032458, 309459962424693681697118037040663257637, 312110631309585432258276350165909913633, 266898908365541525694120496365498163769, 301974605256105130746947982559953757414, 46088979409888770325991887802833783310, 98097114716132427630865195752911955500, 98179117726185629973687845690377904685, 128833381668692705604881271753964704076, 288187285762824132116353144464193487405, 440767454710337817086060213441032296, 308755229979748206303057066098374746633, 310789353473439559353693532556983984677, 309443331008521396576751777765001683629, 272224825421632604778319829685274829501, 314740690747489056417995540920077280813, 288162135445850533606754792760600323239, 266908765349823459293196338896727065260, 266919475084642627997330537792153215533, 118095062731544531316068994170817536096, 309460205972074921952248716662523977893, 138980104556989140895595181268125835917, 96753309757095605084115148461573554213, 96783566280022178361451345888136274605, 267006527672619154632784726463056593709, 268325411442133354907118265595969561133, 45423085047571636176304357087088791778, 140693602135645422745421550777944908460, 266908927450643968163503768535437820588, 139317724478784922140315175893335437861, 98075229203956313888405997203836658285, 139307136862901466424877793378792006181, 141949813792938456152307200983465099405, 266887023150038950813539942248450810413, 266907873517942888138024343981564256813, 309527625168214095599527134475951948333, 288176899901775619274666676430489666220, 132687201639749430771754766010675328697, 298809467903569967359434970965896200999, 266909251929602884051145652263806452396, 96856378081010667424655802311172842021, 334364013698977648789398548127408169731, 138478276465840759527093181786120602252, 309517280516176477337549624053815730737, 309532816881431070079891773455787762221, 267006688625182579765726710919333306917, 301342822028899395690309866891238953529, 140889247564697972421510238399255437956, 301704982992736118799149217975167423010, 123342205008290812825969949820881134509, 309444547834874662752143629118327890477, 120368316428277902366824346477250637709, 96608366161759132771693290653207750157, 309258884864988268167108821321512280229, 266887185302388558609052276779780547237, 120204759374330029658546372684809684013, 266750361825108195839408748923433296011, 309541905261615072912890344878225383465, 136838710717061085016646030313491257547, 139400638929619405533018932981569839653, 309535252305417442974606230157044113441, 96865343064503306525844664637493502501, 98091942701683498853848791423305786021, 12268668727495Line truncated
+5649 -6472
View File
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -1,7 +1,8 @@
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version='2.9.4',
version='3.0.5',
company_name="PYAS Security",
file_description="Python Antivirus Software",
internal_name="PYAS",
+157 -9
View File
@@ -1,22 +1,170 @@
# PYAS (Python Antivirus Software)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/153bcad9-18ab-4c81-bcb6-186434d0ef1b)
## File Information
PYAS.py -> Main PYAS Program (including animation, scanning, protection functions, etc.)
PYAS_Engine.py -> Conversion Database (used to convert database dict and list to and from each other)
PYAS_Extension.py -> File Extension (including scanned file extensions and common file extensions)
PYAS_Model.* -> Virus Database (the virus database must be placed in the same directory)
PYAS_Interface.py -> PyQt5 Interface (designed by QT designer, must be matched with the main program)
PYAS_Resource.py -> PyQt5 Resource (status pictures, icon packages, button icons, etc.)
PYAS_Language.py -> Translate Dict (Traditional Chinese, Simplified Chinese, English)
PYAS_Version.py -> Pyinstaller Info (file information, version information, original name, etc.)
## Requirements
Use pip install requirements to install import module
```
psutil==5.9.5
pefile==2023.2.7
requests==2.31.0
pyperclip==1.8.2
pywin32==306
PyQt5==5.15.9
```
## Hash Scanning
Use Qihoo 360 cloud service to scan known malicious files
```
import hashlib, requests
import xml.etree.ElementTree as xmlet
def hash_scan(file):
try:
with open(file, "rb") as f:
text = str(hashlib.md5(f.read()).hexdigest())
strBody = f'-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="md5s"\r\n\r\n{text}\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="format"\r\n\r\nXML\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="product"\r\n\r\n360zip\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="combo"\r\n\r\n360zip_main\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="v"\r\n\r\n2\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="osver"\r\n\r\n5.1\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="vk"\r\n\r\na03bc211\r\n-------------------------------7d83e2d7a141e\r\nContent-Disposition: form-data; name="mid"\r\n\r\n8a40d9eff408a78fe9ec10a0e7e60f62\r\n-------------------------------7d83e2d7a141e--'
response = requests.post('http://qup.f.360.cn/file_health_info.php', data=strBody, timeout=3)
if response.status_code == 200:
level = float(xmlet.fromstring(response.text).find('.//e_level').text)
if level > 50:
return "Virus"
elif level <= 10:
return "Safe"
return "Unknown"
return f"Error: {response.status_code}"
except Exception as e:
return f"Error: {e}"
info = hash_scan("path to file")
print(info)
```
## Pefile Scanning
Get the pefile file function import table for scanning
```
import pefile
def pe_scan(file):
try:
fn = []
with pefile.PE(file) as pe:
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for func in entry.imports:
try:
fn.append(str(func.name, "utf-8"))
except:
pass
if fn in known_malicious_list:
return "Virus"
return "Safe"
return "Unknown"
except Exception as e:
return f"Error: {e}"
info = pe_scan("path to file")
print(info)
```
## Process Detect
Show the new process name, file path, cmd line, pid
```
import psutil, time
def proc_detect():
existing_processes = set()
for p in psutil.process_iter():
if p.pid not in existing_processes:
existing_processes.add(p.pid)
while True:
time.sleep(0.1)
for p in psutil.process_iter():
try:
if p.pid not in existing_processes:
existing_processes.add(p.pid)
name, file, cmd = p.name(), p.exe(), p.cmdline()
print(f"Name: {name}")
print(f"File: {file}")
print(f"Pid: {p.pid}")
print(f"Cmd: {cmd}")
except:
pass
proc_detect()
```
## File Detect
Monitor file changes under the specified path
```
import os, win32file, win32con
def file_detect(path):
hDir = win32file.CreateFile(path,win32con.GENERIC_READ,win32con.FILE_SHARE_READ|win32con.FILE_SHARE_WRITE|win32con.FILE_SHARE_DELETE,None,win32con.OPEN_EXISTING,win32con.FILE_FLAG_BACKUP_SEMANTICS,None)
while True:
for action, file in win32file.ReadDirectoryChangesW(hDir,10485760,True,win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,None,None):
try:
fpath = os.path.join(path, file)
if action == 1:
print(f"File Create: {fpath}")
elif action == 2:
print(f"File Delete: {fpath}")
elif action == 3:
print(f"File Modify: {fpath}")
elif action == 4:
print(f"File Rename: {fpath}")
elif action == 5:
print(f"File Rename: {fpath}")
except:
pass
file_detect("path")
```
## Official Website
https://pyantivirus.wixsite.com/pyas , https://github.com/87owo/PYAS
https://pyantivirus.wixsite.com/pyas
https://github.com/87owo/PYAS
## MIT license
## MIT License
https://github.com/87owo/PYAS/blob/main/LICENSE.md
## Support System
Windows 8.1, 10, 11 (64-bit), Ram 1GB, Rom 1GB or higher
## Requirements
psutil==5.9.5, pefile==2023.2.7, requests==2.31.0, pyperclip==1.8.2, pywin32==306, PyQt5==5.15.9
## Import Module
os, gc, sys, time, json, psutil, hashlib, pefile, socket, msvcrt, requests, pyperclip, win32file, win32gui, win32api, win32con, xml, PYAS_Function, PYAS_Function_Safe, PYAS_Extension, PYAS_Language, PYAS_Interface, threading, PyQt5
Other systems may experience software malfunctions or crash
## Special Thanks
360, Wix, VirusShare, mtkiao129, LenStevens, AV-T Team of LisectGroup
360, Wix, VirusShare, mtkiao129, AV-T Team of LisectGroup
Copyright© 2020~2023 PYAS Security By 87owo
Copyright© 2020~2024 PYAS Security By 87owo