Compare commits

...
2 Commits
Author SHA1 Message Date
87owo 2895be61be Add files via upload 2022-08-20 12:09:47 +08:00
87owo 8a79bc9510 Add files via upload 2022-08-19 11:48:59 +08:00
5 changed files with 393 additions and 244 deletions

No files matched your search

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+371 -224
View File
@@ -149,8 +149,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
self.ini_config.read(r"./Library/PYAS/Setup/PYAS.ini")
except:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nshow_virus_scan_progress_bar = 0\nlanguage = english")
try:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nhigh_sensitivity = 0\nlanguage = english")
except:
pass
try:
if self.ini_config.get("Setting","language") == "zh_TW":
self.language = "zh_TW"
@@ -165,13 +168,16 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.lang_init_en()
self.ui.Languahe_English.setChecked(True)
except:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nshow_virus_scan_progress_bar = 0\nlanguage = english")
try:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nhigh_sensitivity = 0\nlanguage = english")
except:
pass
self.language = "english"
self.lang_init_en()
self.ui.Languahe_English.setChecked(True)
try:
if self.ini_config.getint("Setting","show_virus_scan_progress_bar") == 1:
if self.ini_config.getint("Setting","high_sensitivity") == 1:
self.show_virus_scan_progress_bar = 1
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(self.text_Translate("已開啟"))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setStyleSheet("""
@@ -190,29 +196,28 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.show_virus_scan_progress_bar = 0
except:
self.show_virus_scan_progress_bar = 0
self.ui.License_terms.setText('''PYTHON ANTIVIRUS SOFTWARE LICENSE TERMS
#Use PYAS anti-virus software and services means that you accept these terms. If you do not accept them, please do not use them.
#Use PYAS anti-virus software and services, if you comply with the PYAS anti-virus software license terms, you will have the following rights.
1.License right to use PYAS anti-virus software.
You can use the software on your device or use a copy of the software to design and develop the software.
The software is forbidden to be sold or copied by others without permission. You can only use it to design and develop the software.
2.Obtain genuine PYAS anti-virus software.
You can get the software directly from the official website of PYAS antivirus software, or you can get it through the official GitHub.
If you have obtained this software from a third-party application store that has not been authorized by the official website of PYAS antivirus software,
Then we cannot guarantee that the software can be used normally, and we are not responsible for any related losses caused to you.
Official website: https://pyantivirus.wixsite.com/pyas
Official Git: https://github.com/87owo/PYAS
3.Personal information and privacy protection.
You can register your email and name on the official website of PYAS anti-virus software, which will be used for feedback contact.
PYAS anti-virus software will obtain the computer system version and basic information, which will be used to optimize the operation of the software.
The security of your equipment and personal data is very important to us, and we will never leak any of your personal information.
4.Permission required to use PYAS anti-virus software.
System administrator permissions
Turn on target site permissions
File read and write management permissions
Command prompt execution permission
Login editor management authority
''')
self.ui.License_terms.setText('''PYTHON ANTIVIRUS SOFTWARE LICENSE TERMS V1.0
#Use PYAS antivirus software and services means that you accept these terms. If you do not accept them, please do not use them.
#Use PYAS antivirus software and services, if you comply with the PYAS antivirus software license terms, you will have the following rights.
1.License right to use PYAS antivirus software.
You can use the software on your device or use a copy of the software to design and develop the software.
The software is forbidden to be sold or copied by others without permission. You can only use it to design and develop the software.
2.Obtain genuine PYAS antivirus software.
You can get the software directly from the official website of PYAS antivirus software, or you can get it through the official GitHub.
If you have obtained this software from a third-party application store that has not been authorized by the official website of PYAS antivirus software,
Then we cannot guarantee that the software can be used normally, and we are not responsible for any related losses caused to you.
Official website: https://pyantivirus.wixsite.com/pyas
Official Github: https://github.com/87owo/PYAS
3.Personal information and privacy protection.
You can register your email and name on the official website of PYAS antivirus software, which will be used for feedback contact.
PYAS antivirus software will obtain the computer system version and basic information, which will be used to optimize the operation of the software.
The security of your equipment and personal data is very important to us, and we will never leak any of your personal information.
4.Permission required to use PYAS antivirus software.
System administrator permissions
Turn on target site permissions
File read and write management permissions
Command prompt execution permission
Login editor management authority''')
self.effect_shadow = QtWidgets.QGraphicsDropShadowEffect(self)
self.effect_shadow.setOffset(0,0) # 偏移
self.effect_shadow.setBlurRadius(10) # 阴影半径
@@ -257,9 +262,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def lang_init_en(self):
_translate = QtCore.QCoreApplication.translate
if pyas_key():
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.State_output.clear()
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3"))
else:
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0 E"))
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3 (Security Key Error)"))
now_time = datetime.datetime.now()
self.ui.State_output.clear()
self.ui.State_output.append(str(now_time.strftime('%Y/%m/%d %H:%M:%S')) + ' > [Warning] PYAS Security Key Error')
self.ui.State_Button.setText(_translate("MainWindow", "State"))
self.ui.Virus_Scan_Button.setText(_translate("MainWindow", "Scan"))
self.ui.Tools_Button.setText(_translate("MainWindow", "Tools"))
@@ -273,9 +282,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_Solve_Button.setText(_translate("MainWindow", "Solve Now"))
self.ui.Virus_Scan_Break_Button.setText(_translate("MainWindow", "Stop Scan"))
self.ui.Protection_title.setText(_translate("MainWindow", "Real-time protection"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "Enable this option to monitor and remove malware in the system in real time (requires more than 4GB of memory)"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "Enable this option to monitor and remove malware in the system in real time"))
if self.ui.Protection_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "On"))
elif self.ui.Protection_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "On"))
else:
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "Off"))
if self.Safe:
@@ -285,59 +296,59 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.State_log.setText(_translate("MainWindow", "Log:"))
self.ui.System_Tools_Button.setText(_translate("MainWindow", "System Tools"))
self.ui.Privacy_Tools_Button.setText(_translate("MainWindow", "Privacy Tools"))
self.ui.Develop_Tools_Button.setText(_translate("MainWindow", "Development Tools"))
self.ui.Develop_Tools_Button.setText(_translate("MainWindow", "Dev Tools"))
self.ui.More_Tools_Button.setText(_translate("MainWindow", "More Tools"))
self.ui.More_Tools_Back_Button.setText(_translate("MainWindow", "Tools>"))
self.ui.System_Process_Manage_Button.setText(_translate("MainWindow", "System Process Management"))
self.ui.Repair_System_Permission_Button.setText(_translate("MainWindow", "Repair System Permission"))
self.ui.System_Process_Manage_Button.setText(_translate("MainWindow", "Process Manager"))
self.ui.Repair_System_Permission_Button.setText(_translate("MainWindow", "Repair Permission"))
self.ui.Repair_System_Files_Button.setText(_translate("MainWindow", "Repair System Files"))
self.ui.Clean_System_Files_Button.setText(_translate("MainWindow", "Clean system files"))
self.ui.Enable_Safe_Mode_Button.setText(_translate("MainWindow", "Enable Safe Mode"))
self.ui.Disable_Safe_Mode_Button.setText(_translate("MainWindow", "Close Safe Mode"))
self.ui.System_Info_Button.setText(_translate("MainWindow", "System version information"))
self.ui.Disable_Safe_Mode_Button.setText(_translate("MainWindow", "Disable Safe Mode"))
self.ui.System_Info_Button.setText(_translate("MainWindow", "System Information"))
self.ui.System_Tools_Back.setText(_translate("MainWindow", "Back"))
self.ui.Privacy_Tools_Back.setText(_translate("MainWindow", "Back"))
self.ui.Delete_Private_File_Button.setText(_translate("MainWindow", "Delete Private File"))
self.ui.Develop_Tools_Back.setText(_translate("MainWindow", "Back"))
self.ui.Customize_REG_Command_Button.setText(_translate("MainWindow", "Customize REG Command"))
self.ui.Customize_CMD_Command_Button.setText(_translate("MainWindow", "Customize CMD Command"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "Analyze EXE hash"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "Analyze EXE Bits"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "Analyze EXE function"))
self.ui.Customize_REG_Command_Button.setText(_translate("MainWindow", "Customize Regedit"))
self.ui.Customize_CMD_Command_Button.setText(_translate("MainWindow", "Customize Command"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "Analyze File Hash"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "Analyze File Bits"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "Analyze File Func"))
self.ui.More_Tools_Back.setText(_translate("MainWindow", "Back"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "Looking for file"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "Encryption Text"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "Decrypt Text"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "Looking For File"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "Encrypt Message"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "Decrypt Message"))
self.ui.Change_Users_Password_Button.setText(_translate("MainWindow", "Change User Password"))
self.ui.Internet_location_Query_Button.setText(_translate("MainWindow", "Internet location query"))
self.ui.Rework_Network_Configuration_Button.setText(_translate("MainWindow", "Rework Network Configuration"))
self.ui.Internet_location_Query_Button.setText(_translate("MainWindow", "Internet Location Query"))
self.ui.Rework_Network_Configuration_Button.setText(_translate("MainWindow", "Rework Network Config"))
self.ui.Process_Tools_Back.setText(_translate("MainWindow", "Back"))
self.ui.Process_Total_title.setText(_translate("MainWindow", "Total process:"))
self.ui.System_Info_Back.setText(_translate("MainWindow", "Back"))
self.ui.Customize_CMD_Command_Back.setText(_translate("MainWindow", "Back"))
self.ui.Customize_CMD_Command_Run_Button.setText(_translate("MainWindow", "Run"))
self.ui.Customize_CMD_Command_output_title.setText(_translate("MainWindow", "Output (does not support Chinese):"))
self.ui.Customize_CMD_Command_output_title.setText(_translate("MainWindow", "Output (Does Not Support Chinese):"))
self.ui.Analyze_EXE_Back.setText(_translate("MainWindow", "Back"))
self.ui.Look_for_File_Back.setText(_translate("MainWindow", "Back"))
self.ui.Look_for_File_Run_Button.setText(_translate("MainWindow", "Find file"))
self.ui.Encryption_Text_Back.setText(_translate("MainWindow", "Back"))
self.ui.Encryption_Text_Run_Button.setText(_translate("MainWindow", "Encryption"))
self.ui.Encryption_Text_title2.setText(_translate("MainWindow", "After encryption & decryption"))
self.ui.Encryption_Text_Run_Button.setText(_translate("MainWindow", "Encrypt"))
self.ui.Encryption_Text_title2.setText(_translate("MainWindow", "After Encrypt & Decrypt"))
self.ui.Encryption_Text_Password_title.setText(_translate("MainWindow", "Password:"))
self.ui.Encryption_Text_title.setText(_translate("MainWindow", "before encryption & decryption"))
self.ui.Decrypt_Text_Run_Button.setText(_translate("MainWindow", "Decrypt"))
self.ui.Encryption_Text_title.setText(_translate("MainWindow", "Before Encrypt & Decrypt"))
self.ui.Decrypt_Text_Run_Button.setText(_translate("MainWindow", "Encrypt"))
self.ui.About_Back.setText(_translate("MainWindow", "Back"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.GUI_Made_title.setText(_translate("MainWindow", "GUI making:"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.3"))
self.ui.GUI_Made_title.setText(_translate("MainWindow", "GUI Make:"))
self.ui.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.Core_Made_title.setText(_translate("MainWindow", "Core Make:"))
self.ui.Core_Made_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.ui.Testers_title.setText(_translate("MainWindow", "Testers:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "PYAS official website:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921, PYAS_Dev#0629"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "Website:"))
self.ui.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://pyantivirus.wixsite.com/pyas\"><span style= \" text-decoration: underline; color:#0000ff;\">https://pyantivirus.wixsite.com/pyas</span></a></p></body></html>"))
self.ui.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 2020-2022 PYAS"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE v1.2.5"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE V1.2.6"))
self.ui.Change_Users_Password_Back.setText(_translate("MainWindow", "Back"))
self.ui.Change_Users_Password_New_Password_title.setText(_translate("MainWindow", "New password:"))
self.ui.Change_Users_Password_User_Name_title.setText(_translate("MainWindow", "Username:"))
@@ -349,31 +360,37 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Value_Data_title.setText(_translate("MainWindow", "Value data:"))
self.ui.Customize_REG_Command_Run_Button.setText(_translate("MainWindow", "OK"))
self.ui.Value_HEKY_title.setText(_translate("MainWindow", "Value HEKY:"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "Show virus scan progress bar"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "When this option is turned on, you can know the progress of the scan (it will increase the initialization time)"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "High Sensitivity Mode"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "Turning this option on increases sensitivity when scanning, but it may also lead to manslaughter."))
if self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "On"))
elif self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "On"))
else:
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "Off"))
self.ui.Setting_Back.setText(_translate("MainWindow", "Back"))
self.ui.Language_title.setText(_translate("MainWindow", "Language"))
self.ui.Language_illustrate.setText(_translate("MainWindow", "Please select language"))
self.ui.License_terms_title.setText(_translate("MainWindow", "License terms:"))
self.ui.Theme_title.setText(_translate("MainWindow", "Color rendering theme"))
self.ui.Theme_title.setText(_translate("MainWindow", "Color Rendering Theme"))
self.ui.Theme_illustrate.setText(_translate("MainWindow", "Please select a theme"))
self.ui.Theme_White.setText(_translate("MainWindow", "White Theme"))
self.ui.Theme_Black.setText(_translate("MainWindow", "Black Theme"))
self.ui.Theme_Pink.setText(_translate("MainWindow", "Pink Theme"))
self.ui.Theme_Red.setText(_translate("MainWindow", "Red Theme"))
self.ui.Theme_Green.setText(_translate("MainWindow", "Green Theme"))
self.ui.Theme_Blue.setText(_translate("MainWindow", "Blue Theme"))
self.ui.Theme_White.setText(_translate("MainWindow", "White"))
self.ui.Theme_Black.setText(_translate("MainWindow", "Black"))
self.ui.Theme_Pink.setText(_translate("MainWindow", "Pink"))
self.ui.Theme_Red.setText(_translate("MainWindow", "Red"))
self.ui.Theme_Green.setText(_translate("MainWindow", "Green"))
self.ui.Theme_Blue.setText(_translate("MainWindow", "Blue"))
def lang_init_zh_cn(self):
_translate = QtCore.QCoreApplication.translate
if pyas_key():
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.State_output.clear()
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3"))
else:
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0 E"))
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3 (安全密钥错误)"))
now_time = datetime.datetime.now()
self.ui.State_output.clear()
self.ui.State_output.append(str(now_time.strftime('%Y/%m/%d %H:%M:%S')) + ' > [警告] PYAS 安全密钥错误')
self.ui.State_Button.setText(_translate("MainWindow", "状态"))
self.ui.Virus_Scan_Button.setText(_translate("MainWindow", "扫描"))
self.ui.Tools_Button.setText(_translate("MainWindow", "工具"))
@@ -387,9 +404,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_Solve_Button.setText(_translate("MainWindow", "立即解决"))
self.ui.Virus_Scan_Break_Button.setText(_translate("MainWindow", "停止扫描"))
self.ui.Protection_title.setText(_translate("MainWindow", "实时防护"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "启用该选项可以实时监控系统的恶意软件并清除(需4GB以上的內存)"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "启用该选项可以实时监控系统的恶意软件并清除"))
if self.ui.Protection_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已开启"))
elif self.ui.Protection_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已开启"))
else:
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已关闭"))
if self.Safe:
@@ -415,13 +434,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Develop_Tools_Back.setText(_translate("MainWindow", "返回"))
self.ui.Customize_REG_Command_Button.setText(_translate("MainWindow", "自订REG指令"))
self.ui.Customize_CMD_Command_Button.setText(_translate("MainWindow", "自订CMD指令"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "分析EXE哈希"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "分析EXE位元"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "分析EXE函数"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "分析文件哈希"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "分析文件位元"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "分析文件函数"))
self.ui.More_Tools_Back.setText(_translate("MainWindow", "返回"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "寻找档案"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "加密文字"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "解密文字"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "寻找本机档案"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "加密文字讯息"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "解密文字讯息"))
self.ui.Change_Users_Password_Button.setText(_translate("MainWindow", "变更用户密码"))
self.ui.Internet_location_Query_Button.setText(_translate("MainWindow", "网路位置查询"))
self.ui.Rework_Network_Configuration_Button.setText(_translate("MainWindow", "重置网路配置"))
@@ -441,17 +460,17 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Encryption_Text_title.setText(_translate("MainWindow", "加密&解密前"))
self.ui.Decrypt_Text_Run_Button.setText(_translate("MainWindow", "解密"))
self.ui.About_Back.setText(_translate("MainWindow", "返回"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.3"))
self.ui.GUI_Made_title.setText(_translate("MainWindow", "介面制作:"))
self.ui.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.Core_Made_title.setText(_translate("MainWindow", "核心制作:"))
self.ui.Core_Made_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.ui.Testers_title.setText(_translate("MainWindow", "测试人员:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "PYAS官方网站:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921, PYAS_Dev#0629"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "官方网站:"))
self.ui.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://pyantivirus.wixsite.com/pyas\"><span style=\" text-decoration: underline; color:#0000ff;\">https://pyantivirus.wixsite.com/pyas</span></a></p></body></html>"))
self.ui.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 2020-2022 PYAS"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE v1.2.5"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE V1.2.6"))
self.ui.Change_Users_Password_Back.setText(_translate("MainWindow", "返回"))
self.ui.Change_Users_Password_New_Password_title.setText(_translate("MainWindow", "新密码:"))
self.ui.Change_Users_Password_User_Name_title.setText(_translate("MainWindow", "用户名:"))
@@ -463,10 +482,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Value_Data_title.setText(_translate("MainWindow", "值资料:"))
self.ui.Customize_REG_Command_Run_Button.setText(_translate("MainWindow", "确定"))
self.ui.Value_HEKY_title.setText(_translate("MainWindow", "值HEKY:"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "显示病毒扫描进度条"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "开启此选项后可以知道扫描的进度(会增加初始化时间)"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "高灵敏度模式"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "开启此选项后可提高扫描时的灵敏度,但这也可能会导致误杀。"))
if self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已开启"))
elif self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已开启"))
else:
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已关闭"))
self.ui.Setting_Back.setText(_translate("MainWindow", "返回"))
@@ -486,9 +507,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def lang_init_zh_tw(self):
_translate = QtCore.QCoreApplication.translate
if pyas_key():
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.State_output.clear()
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3"))
else:
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.0 E"))
self.ui.Window_title.setText(_translate("MainWindow", "PYAS V2.3.3 (安全密鑰錯誤)"))
now_time = datetime.datetime.now()
self.ui.State_output.clear()
self.ui.State_output.append(str(now_time.strftime('%Y/%m/%d %H:%M:%S')) + ' > [警告] PYAS 安全密鑰錯誤')
self.ui.State_Button.setText(_translate("MainWindow", "狀態"))
self.ui.Virus_Scan_Button.setText(_translate("MainWindow", "掃描"))
self.ui.Tools_Button.setText(_translate("MainWindow", "工具"))
@@ -502,9 +527,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_Solve_Button.setText(_translate("MainWindow", "立即解決"))
self.ui.Virus_Scan_Break_Button.setText(_translate("MainWindow", "停止掃描"))
self.ui.Protection_title.setText(_translate("MainWindow", "實時防護"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "啟用該選項可以實時監控系統的惡意軟體並清除(需4GB以上的記憶體)"))
self.ui.Protection_illustrate.setText(_translate("MainWindow", "啟用該選項可以實時監控系統的惡意軟體並清除"))
if self.ui.Protection_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已開啟"))
elif self.ui.Protection_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已開啟"))
else:
self.ui.Protection_switch_Button.setText(_translate("MainWindow", "已關閉"))
if self.Safe:
@@ -530,13 +557,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Develop_Tools_Back.setText(_translate("MainWindow", "返回"))
self.ui.Customize_REG_Command_Button.setText(_translate("MainWindow", "自訂REG指令"))
self.ui.Customize_CMD_Command_Button.setText(_translate("MainWindow", "自訂CMD指令"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "分析EXE哈希"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "分析EXE位元"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "分析EXE函數"))
self.ui.Analyze_EXE_hash_Button.setText(_translate("MainWindow", "分析文件哈希"))
self.ui.Analyze_EXE_Bit_Button.setText(_translate("MainWindow", "分析文件位元"))
self.ui.Analyze_EXE_Funtion_Button.setText(_translate("MainWindow", "分析文件函數"))
self.ui.More_Tools_Back.setText(_translate("MainWindow", "返回"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "尋找檔案"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "加密文字"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "解密文字"))
self.ui.Look_for_File_Button.setText(_translate("MainWindow", "尋找本機檔案"))
self.ui.Encryption_Text_Button.setText(_translate("MainWindow", "加密文字訊息"))
self.ui.Decrypt_Text_Button.setText(_translate("MainWindow", "解密文字訊息"))
self.ui.Change_Users_Password_Button.setText(_translate("MainWindow", "變更用戶密碼"))
self.ui.Internet_location_Query_Button.setText(_translate("MainWindow", "網路位置查詢"))
self.ui.Rework_Network_Configuration_Button.setText(_translate("MainWindow", "重置網路配置"))
@@ -556,17 +583,17 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Encryption_Text_title.setText(_translate("MainWindow", "加密&解密前"))
self.ui.Decrypt_Text_Run_Button.setText(_translate("MainWindow", "解密"))
self.ui.About_Back.setText(_translate("MainWindow", "返回"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.0"))
self.ui.PYAS_Version.setText(_translate("MainWindow", "PYAS V2.3.3"))
self.ui.GUI_Made_title.setText(_translate("MainWindow", "介面製作:"))
self.ui.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.Core_Made_title.setText(_translate("MainWindow", "核心製作:"))
self.ui.Core_Made_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.ui.Testers_title.setText(_translate("MainWindow", "測試人員:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "PYAS官方網站:"))
self.ui.Testers_Name.setText(_translate("MainWindow", "mtkiao129#3921, PYAS_Dev#0629"))
self.ui.PYAS_URL_title.setText(_translate("MainWindow", "官方網站:"))
self.ui.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://pyantivirus.wixsite.com/pyas\"><span style=\" text-decoration: underline; color:#0000ff;\">https://pyantivirus.wixsite.com/pyas</span></a></p></body></html>"))
self.ui.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 2020-2022 PYAS"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE v1.2.5"))
self.ui.PYAE_Version.setText(_translate("MainWindow", "PYAE V1.2.6"))
self.ui.Change_Users_Password_Back.setText(_translate("MainWindow", "返回"))
self.ui.Change_Users_Password_New_Password_title.setText(_translate("MainWindow", "新密碼:"))
self.ui.Change_Users_Password_User_Name_title.setText(_translate("MainWindow", "用戶名:"))
@@ -578,10 +605,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Value_Data_title.setText(_translate("MainWindow", "值資料:"))
self.ui.Customize_REG_Command_Run_Button.setText(_translate("MainWindow", "確定"))
self.ui.Value_HEKY_title.setText(_translate("MainWindow", "值HEKY:"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "顯示病毒掃描進度條"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "開啟此選項後可以知道掃描的進度(會增加初始化時間)"))
self.ui.Show_Virus_Scan_Progress_Bar_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.ui.Show_Virus_Scan_Progress_Bar_illustrate.setText(_translate("MainWindow", "開啟此選項後可提高掃描時的靈敏度,但這也可能會導致誤殺。"))
if self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已開啟"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已開啟"))
elif self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已开启"):
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已開啟"))
else:
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(_translate("MainWindow", "已關閉"))
self.ui.Setting_Back.setText(_translate("MainWindow", "返回"))
@@ -861,7 +890,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
with open(file,"rb") as f:
bytes = f.read()
readable_hash = md5(bytes).hexdigest()
if str(readable_hash) in str(rfp):
if str(readable_hash)[:8] in str(rfp):
virus_found = True
f.close()
if not virus_found:
@@ -872,25 +901,30 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
pass
#定義紀錄掃描
def pyas_scan_write_en(self,file):
ft = open('Library/PYAS/Temp/PYASV.tmp','a',encoding='utf-8')
self.Virus_List.append(file)
fe = ft.write(file+'\n')
ft.close()
try:
ft = open('Library/PYAS/Temp/PYASV.tmp','a',encoding='utf-8')
self.Virus_List.append(file)
fe = ft.write(file+'\n')
ft.close()
except:
pass
#定義讀取紀錄
def pyas_scan_read_en(self):
try:
ft = open('Library/PYAS/Temp/PYASV.tmp','r',encoding='utf-8')
ft.close()
pygame.mixer.init()
pygame.mixer.music.set_volume(1.0)
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play()
try:
pygame.mixer.init()
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play()
except:
pass
self.Virus_List_output.setStringList(self.Virus_List)
self.ui.Virus_Scan_output.setModel(self.Virus_List_output)
now_time = datetime.datetime.now()
self.ui.State_output.append(str(now_time.strftime('%Y/%m/%d %H:%M:%S')) + self.text_Translate(":[病毒掃描]掃描出") + str(len(self.Virus_List)) + self.text_Translate("個病毒"))
self.ui.State_output.append(str(now_time.strftime('%Y/%m/%d %H:%M:%S')) + self.text_Translate(" > [病毒掃描] 掃描出") + str(len(self.Virus_List)) + self.text_Translate("個病毒"))
self.ui.State_icon.setPixmap(QtGui.QPixmap(":/icon/Icon/X2.png"))
self.ui.State_title.setText(self.text_Translate("這台電腦目前不安全"))
self.ui.Virus_Scan_Solve_Button.show()
@@ -901,11 +935,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
return self.text_Translate("✖當前已發現惡意軟體共{}項。").format(len(self.Virus_List))
except Exception as e:
print(e)
pygame.mixer.init()
pygame.mixer.music.set_volume(1.0)
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Complete.ogg')
pygame.mixer.music.play()
try:
pygame.mixer.init()
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Complete.ogg')
pygame.mixer.music.play()
except:
pass
self.ui.Virus_Scan_Break_Button.hide()
self.ui.Virus_Scan_choose_Button.show()
self.Virus_Scan = 0
@@ -914,7 +950,10 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
#定義移除紀錄
def pyas_scan_del_en(self):
os.remove('Library/PYAS/Temp/PYASV.tmp')
try:
os.remove('Library/PYAS/Temp/PYASV.tmp')
except:
pass
def pyas_scan_answer_en(self):
self.ui.Virus_Scan_text.setText(self.pyas_scan_read_en())
@@ -937,9 +976,9 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_Break_Button.hide()
break
fullpath = os.path.join(path,fd)
if self.show_virus_scan_progress_bar != 0:
self.quantity = self.quantity + 1
self.ui.Virus_Scan_ProgressBar.setValue(self.quantity)
#if self.show_virus_scan_progress_bar != 0:
#self.quantity = self.quantity + 1
#self.ui.Virus_Scan_ProgressBar.setValue(self.quantity)
if os.path.isdir(fullpath):
self.pyas_scan_path_en(fullpath,rfp,rfn,fts)
else:
@@ -950,15 +989,16 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
if self.pyas_scan_start(fullpath,rfp):
self.pyas_scan_write_en(fullpath)
else:
pe = PE(fullpath)
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for function in entry.imports:
if str(function.name) in rfn:
fts = fts + 1
if fts != 0:
QApplication.processEvents()
self.pyas_scan_write_en(str(fullpath))
fts = 0
if self.show_virus_scan_progress_bar != 0:
pe = PE(fullpath)
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for function in entry.imports:
if str(function.name) in rfn:
fts = fts + 1
if fts != 0:
QApplication.processEvents()
self.pyas_scan_write_en(str(fullpath))
fts = 0
except:
self.ui.Virus_Scan_text.setText(scan_text + fullpath)
QApplication.processEvents()
@@ -987,27 +1027,69 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.Virus_Scan = 1
self.ui.Virus_Scan_choose_Button.hide()
QApplication.processEvents()
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
with open('Library/PYAE/Function/Viruslist.func','r') as fn:
rfn = fn.read()
try:
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
with open('Library/PYAE/Function/Viruslist.func','r') as fn:
rfn = fn.read()
except:
rfp = """"""
rfn = """b'RegQueryValueExW'
b'RegOpenKeyExW'
b'RegOpenCurrentUser'
b'RegDeleteKeyW'
b'RegDeleteValueW'
b'RegCloseKey'
b'RegCreateKeyExW'
b'RegSetValueExW'
b'RegOpenKeyExA'
b'RegSetValueExA'
b'RegQueryValueA'
b'RegCreateKeyExA'
b'RegEnumKeyExW'
b'RegQueryInfoKeyW'
b'RegisterClassExW'
b'RegisterHotKey'
b'RegQueryValueExA'
b'RegisterClipboardFormatA'
b'RegisterWindowMessageA'
b'RegisterClassA'
b'CryptDestroyKey'
b'CryptGenKey'
b'CryptDecrypt'
b'CryptEncrypt'
b'CryptImportKey'
b'CryptSetKeyParam'
b'CryptReleaseContext'
b'CryptDeriveKey'
b'CryptCreateHash'
b'CryptHashData'
b'CryptStringToBinaryA'
b'CryptBinaryToStringA'
b'CryptGetKeyParam'
b'CryptGetHashParam'
b'CryptDestroyHash'
b'CryptImportPublicKeyInfo'
b'UnlockFile'
b'LockFile'"""
if self.pyas_scan_start(file,rfp):
self.pyas_scan_write_en(file)
self.ui.Virus_Scan_text.setText(self.text_Translate("✖當前已發現惡意軟體。"))
else:
fts = 0
try:
pe = PE(file)
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for function in entry.imports:
if str(function.name) in rfn:
fts = fts + 1
if fts != 0:
self.pyas_scan_write_en(file)
fts = 0
self.ui.Virus_Scan_text.setText(self.text_Translate("✖當前已發現惡意軟體。"))
except:
self.ui.Virus_Scan_text.setText(self.text_Translate("✖掃描失敗。"))
if self.show_virus_scan_progress_bar != 0:
fts = 0
try:
pe = PE(file)
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for function in entry.imports:
if str(function.name) in rfn:
fts = fts + 1
if fts != 0:
self.pyas_scan_write_en(file)
fts = 0
self.ui.Virus_Scan_text.setText(self.text_Translate("✖當前已發現惡意軟體。"))
except:
self.ui.Virus_Scan_text.setText(self.text_Translate("✖掃描失敗。"))
fp.close()
fn.close()
self.pyas_scan_answer_en()
@@ -1035,14 +1117,55 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_choose_Button.hide()
self.ui.Virus_Scan_Break_Button.show()
QApplication.processEvents()
if self.show_virus_scan_progress_bar != 0:
self.quantity = 0
self.ui.Virus_Scan_ProgressBar.setMaximum(len(self.list_allfile(file,[])))
self.ui.Virus_Scan_ProgressBar.show()
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
with open('Library/PYAE/Function/Viruslist.func','r') as fn:
rfn = fn.read()
#if self.show_virus_scan_progress_bar != 0:
#self.quantity = 0
#self.ui.Virus_Scan_ProgressBar.setMaximum(len(self.list_allfile(file,[])))
#self.ui.Virus_Scan_ProgressBar.show()
try:
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
with open('Library/PYAE/Function/Viruslist.func','r') as fn:
rfn = fn.read()
except:
rfp = """"""
rfn = """b'RegQueryValueExW'
b'RegOpenKeyExW'
b'RegOpenCurrentUser'
b'RegDeleteKeyW'
b'RegDeleteValueW'
b'RegCloseKey'
b'RegCreateKeyExW'
b'RegSetValueExW'
b'RegOpenKeyExA'
b'RegSetValueExA'
b'RegQueryValueA'
b'RegCreateKeyExA'
b'RegEnumKeyExW'
b'RegQueryInfoKeyW'
b'RegisterClassExW'
b'RegisterHotKey'
b'RegQueryValueExA'
b'RegisterClipboardFormatA'
b'RegisterWindowMessageA'
b'RegisterClassA'
b'CryptDestroyKey'
b'CryptGenKey'
b'CryptDecrypt'
b'CryptEncrypt'
b'CryptImportKey'
b'CryptSetKeyParam'
b'CryptReleaseContext'
b'CryptDeriveKey'
b'CryptCreateHash'
b'CryptHashData'
b'CryptStringToBinaryA'
b'CryptBinaryToStringA'
b'CryptGetKeyParam'
b'CryptGetHashParam'
b'CryptDestroyHash'
b'CryptImportPublicKeyInfo'
b'UnlockFile'
b'LockFile'"""
fp.close()
fn.close()
self.pyas_scan_path_en(file,rfp,rfn,0)
@@ -1068,8 +1191,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
pass
self.ui.Virus_Scan_text.setText(self.text_Translate("正在初始化中,請稍後..."))
QApplication.processEvents()
with open('Library/PYAE/Hashes/Viruslist.md5','r') as self.fp:
rfp = self.fp.read()
try:
with open('Library/PYAE/Hashes/Viruslist.md5','r') as self.fp:
rfp = self.fp.read()
except Exception as e:
QMessageBox.critical(self,"Error",str(e),QMessageBox.Ok)
rfp = ""
self.pyas_scan_disk_en('A:/',rfp)
self.pyas_scan_disk_en('B:/',rfp)
self.pyas_scan_disk_en('C:/',rfp)
@@ -1187,7 +1314,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
################Tools#################
def Repair_System_Permission(self):
#QMessageBox跟tkinter.messagebox是差不多的東西 yes的回傳值為16384
question = QMessageBox.warning(self,self.text_Translate('修復系統權限'),self.text_Translate("你確定要修復系統權限嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate('修復系統權限'),self.text_Translate("您確定要修復系統權限嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
Permission = ['NoControlPanel', 'NoDrives', 'NoControlPanel', 'NoFileMenu', 'NoFind', 'NoRealMode', 'NoRecentDocsMenu', \
'NoSetFolders', 'NoSetFolderOptions', 'NoViewOnDrive', 'NoClose', 'NoRun', 'NoDesktop', 'NoLogOff', 'NoFolderOptions', \
@@ -1320,7 +1447,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QMessageBox.critical(self,self.text_Translate('錯誤'),str(e),QMessageBox.Ok)
def Repair_System_Files(self):
question = QMessageBox.warning(self,self.text_Translate("修復系統檔案"),self.text_Translate("你確定要修復系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate("修復系統檔案"),self.text_Translate("您確定要修復系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
runc = os.system('sfc /scannow')
if runc == 0:
@@ -1329,7 +1456,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QMessageBox.critical(self,self.text_Translate('錯誤'),self.text_Translate("修復失敗"),QMessageBox.Ok)
def Clean_System_Files(self):
question = QMessageBox.warning(self,self.text_Translate('清理系統檔案'),self.text_Translate("你確定要清理系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate('清理系統檔案'),self.text_Translate("您確定要清理系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
runc = os.system('cleanmgr')
if runc == 0:
@@ -1338,7 +1465,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QMessageBox.critical(self,self.text_Translate('錯誤'),self.text_Translate("清理失敗"),QMessageBox.Ok)
def Enable_Safe_Mode(self):
question = QMessageBox.warning(self,self.text_Translate('啟用安全模式'),self.text_Translate("你確定啟用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate('啟用安全模式'),self.text_Translate("您確定啟用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
runc = os.system('bcdedit /set {default} safeboot minimal')
if runc == 0:
@@ -1349,7 +1476,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QMessageBox.critical(self,self.text_Translate('錯誤'),self.text_Translate("啟用失敗"),QMessageBox.Ok)
def Disable_Safe_Mode(self):
question = QMessageBox.warning(self,self.text_Translate('禁用安全模式'),self.text_Translate("你確定禁用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate('禁用安全模式'),self.text_Translate("您確定禁用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
runc = os.system('bcdedit /deletevalue {current} safeboot')
if runc == 0:
@@ -1365,7 +1492,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Delete_Private_File(self):
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("刪除檔案"),"./",'')
if file !="":
question = QMessageBox.warning(self,self.text_Translate('刪除檔案'),self.text_Translate("你確定刪除該檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
question = QMessageBox.warning(self,self.text_Translate('刪除檔案'),self.text_Translate("您確定刪除該檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
if question == 16384:
try:
os.remove(file)
@@ -1413,10 +1540,10 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
elif Value_HEKY == "HKEY_CURRENT_CONFIG":
Value_HEKY = win32con.HKEY_CURRENT_CONFIG
else:
QMessageBox.critical(self,self.text_Translate("錯誤"),self.text_Translate("你輸入了錯誤的HEKY"),QMessageBox.Ok)
QMessageBox.critical(self,self.text_Translate("錯誤"),self.text_Translate("您輸入了錯誤的HEKY"),QMessageBox.Ok)
continue_v = False
if continue_v:
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("你確定要新增值或是修改值嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要新增值或是修改值嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
try:
key = win32api.RegOpenKey(Value_HEKY,Value_Path,0,win32con.KEY_ALL_ACCESS())
win32api.RegSetValueEx(key, Value_name,0,Value_Type,Value_Data)
@@ -1426,7 +1553,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Analyze_EXE(self,button):
if button == self.ui.Analyze_EXE_Funtion_Button:
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析EXE函數"),"./",'EXE File *.exe')
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析文件函數"),"./",'EXE OR DLL File *.exe *.dll')
if file != '':
pe = PE(file)
self.ui.Analyze_EXE_Output.setText("")
@@ -1438,7 +1565,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
else:
pass
elif button == self.ui.Analyze_EXE_hash_Button:
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析EXE哈希值"),"./",'EXE File *.exe')
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析文件哈希值"),"./",'All File *.*')
if file != '':
self.ui.Analyze_EXE_Output.setText("")
with open(file,"rb") as f:
@@ -1453,7 +1580,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
else:
pass
else:
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析EXE位元"),"./",'EXE File *.exe')
file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析文件位元"),"./",'EXE File *.exe')
if file != '':
pe = PE(file)
self.ui.Analyze_EXE_Output.setText("")
@@ -1499,14 +1626,20 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.findfile_zh('Y:/',ffile,fss,start)
self.findfile_zh('Z:/',ffile,fss,start)
end = time.time()
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding="utf-8")
fe = ft.read()
ft.close()
try:
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding="utf-8")
fe = ft.read()
ft.close()
except Exception as e:
QMessageBox.critical(self,"Error",str(e),QMessageBox.Ok)
self.ui.Look_for_File_output.setText("")
self.ui.Look_for_File_output.append(self.text_Translate('尋找結果:')+'\n'+str(fe))
QApplication.processEvents()
self.Change_Tools(self.ui.Look_for_File_widget)
os.remove('Library/PYAS/Temp/PYASF.tmp')
try:
os.remove('Library/PYAS/Temp/PYASF.tmp')
except:
pass
except:
pass
@@ -1522,12 +1655,15 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
else:
fss = fss + 1
if ffile in str(fd):
date = time.ctime(os.path.getmtime(fullpath))
ft = open('Library/PYAS/Temp/PYASF.tmp','a',encoding="utf-8")
#print(str(self.text_Translate('找到檔案:')+str(fullpath)+'\n'+self.text_Translate('創建日期:')+str(date)+'\n'+'\n'))
ft.write(str(self.text_Translate('找到檔案:')+str(fullpath)+'\n'+self.text_Translate('創建日期:')+str(date)+'\n'+'\n'))
ft.close()
continue
try:
date = time.ctime(os.path.getmtime(fullpath))
ft = open('Library/PYAS/Temp/PYASF.tmp','a',encoding="utf-8")
#print(str(self.text_Translate('找到檔案:')+str(fullpath)+'\n'+self.text_Translate('創建日期:')+str(date)+'\n'+'\n'))
ft.write(str(self.text_Translate('找到檔案:')+str(fullpath)+'\n'+self.text_Translate('創建日期:')+str(date)+'\n'+'\n'))
ft.close()
continue
except:
pass
except:
continue
except Exception as e:
@@ -1581,7 +1717,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Change_Users_Password(self):
username = self.ui.Change_Users_Password_User_Name_input.text()
password = self.ui.Change_Users_Password_New_Password_input.text()
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("你確定要修改用戶密碼嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要修改用戶密碼嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
try:
if password == "":
subprocess.call("net user {} {}".format(username,""))
@@ -1600,7 +1736,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
pass
def reset_network(self):
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("你確定要重置網路配置嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要重置網路配置嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
try:
subprocess.call("netsh winsock reset", shell=True)
QMessageBox.information(self,self.text_Translate("完成"),self.text_Translate("重置網路配置成功"),QMessageBox.Ok)
@@ -1657,10 +1793,14 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.protect_threading.start()
def pyas_protect_init_zh(self):
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
try:
with open('Library/PYAE/Hashes/Viruslist.md5','r') as fp:
rfp = fp.read()
except Exception as e:
QMessageBox.critical(self,"Error",str(e),QMessageBox.Ok)
rfp = ''
self.Virus_Scan = 1
self.ui.Protection_illustrate.setText(self.text_Translate("啟用該選項可以實時監控系統的惡意軟體並清除(需4GB以上的記憶體)"))
self.ui.Protection_illustrate.setText(self.text_Translate("啟用該選項可以實時監控系統的惡意軟體並清除"))
self.ui.Protection_switch_Button.setText(self.text_Translate("已開啟"))
self.ui.Protection_switch_Button.setStyleSheet("""
QPushButton
@@ -1689,14 +1829,16 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
of = subprocess.call('taskkill /f /im "'+str(p.name())+'"',shell=True)
try:
if of == 0:
self.ui.State_output.append(self.text_Translate('{}:[實時防護]成功攔截了一個惡意軟體:').format(str(datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')))+str(p.name()))
pygame.mixer.init()
pygame.mixer.music.set_volume(1.0)
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play()
self.ui.State_output.append(self.text_Translate('{} > [實時防護] 成功攔截了一個惡意軟體:').format(str(datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')))+str(p.name()))
try:
pygame.mixer.init()
if not pygame.mixer.music.get_busy():
pygame.mixer.music.load('./Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play()
except:
pass
else:
self.ui.State_output.append(self.text_Translate('{}:[實時防護]惡意軟體攔截失敗:').format(datetime.datetime.now())+str(p.name()))
self.ui.State_output.append(self.text_Translate('{} > [實時防護] 惡意軟體攔截失敗:').format(datetime.datetime.now())+str(p.name()))
except Exception as e:
print(str(e))
try:
@@ -1738,46 +1880,49 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.Change_animation5(self.ui.Setting_widget,10,50,831,481)
def Show_Virus_Scan_Progress_Bar_switch(self):
self.ini_config = configparser.RawConfigParser()
self.ini_config.read(r"./Library/PYAS/Setup/PYAS.ini")
try:
if self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已關閉"):
self.ini_config.set("Setting", "show_virus_scan_progress_bar", 1)
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(self.text_Translate("已開啟"))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setStyleSheet("""
QPushButton
{
border:none;
background-color:rgba(20,200,20,100);
border-radius: 15px;
}
QPushButton:hover
{
background-color:rgba(20,200,20,120);
}
""")
self.show_virus_scan_progress_bar = 1
else:
self.ini_config.set("Setting", "show_virus_scan_progress_bar", 0)
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(self.text_Translate("已關閉"))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setStyleSheet("""
QPushButton
{
border:none;
background-color:rgba(20,20,20,30);
border-radius: 15px;
}
QPushButton:hover
{
background-color:rgba(20,20,20,50);
}
""")
self.show_virus_scan_progress_bar = 0
self.ini_config = configparser.RawConfigParser()
self.ini_config.read(r"./Library/PYAS/Setup/PYAS.ini")
try:
if self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.text() == self.text_Translate("已關閉"):
self.ini_config.set("Setting", "high_sensitivity", 1)
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(self.text_Translate("已開啟"))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setStyleSheet("""
QPushButton
{
border:none;
background-color:rgba(20,200,20,100);
border-radius: 15px;
}
QPushButton:hover
{
background-color:rgba(20,200,20,120);
}
""")
self.show_virus_scan_progress_bar = 1
else:
self.ini_config.set("Setting", "high_sensitivity", 0)
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setText(self.text_Translate("已關閉"))
self.ui.Show_Virus_Scan_Progress_Bar_switch_Button.setStyleSheet("""
QPushButton
{
border:none;
background-color:rgba(20,20,20,30);
border-radius: 15px;
}
QPushButton:hover
{
background-color:rgba(20,20,20,50);
}
""")
self.show_virus_scan_progress_bar = 0
except:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nhigh_sensitivity = 0\nlanguage = english")
except:
with open(r"./Library/PYAS/Setup/PYAS.ini",mode="w",encoding="utf-8") as file:
file.write("[Setting]\nshow_virus_scan_progress_bar = 0\nlanguage = english")
pass
def Change_language(self):
try:
@@ -1797,8 +1942,10 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ini_config.set("Setting", "language", "english")
except Exception as e:
QMessageBox.critical(self,"Error",str(e),QMessageBox.Ok)
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
try:
self.ini_config.write(open(r"./Library/PYAS/Setup/PYAS.ini", 'w'))
except:
pass
def Change_Theme(self):
if self.ui.Theme_Red.isChecked():
+18 -16
View File
@@ -1,10 +1,12 @@
english_list = {
"已開啟":"On",
"已關閉":"Off",
"已开启":"On",
"已关闭":"Off",
"✔成功: 已執行成功。":"✔Success: Executed successfully.",
"這台電腦目前很安全":"This computer is currently safe",
"✖錯誤: 執行失敗。":"✖Error: Execution failed.",
":[病毒掃描]掃描出":":[virus scan] scan out ",
" > [病毒掃描] 掃描出":" > [virus scan] scan out ",
"個病毒":" Virus",
"這台電腦目前不安全":"This computer is currently unsafe",
"✖當前已發現惡意軟體共{}項。":"✖A total of {} items of malware have been found so far.",
@@ -15,51 +17,51 @@ english_list = {
"✖當前已發現惡意軟體。":"✖Malware has currently been detected.",
"✖掃描失敗。":"✖Scan failed.",
"請選擇掃描方式":"Please select a scan method",
"你確定要修復系統權限嗎?":"Are you sure you want to fix system permissions?",
"您確定要修復系統權限嗎?":"Are you sure you want to fix system permissions?",
"修復完成!":"Repair complete!",
"完成":'Finish',
"你確定要修復系統檔案嗎?":"Are you sure you want to repair the system files?",
"您確定要修復系統檔案嗎?":"Are you sure you want to repair the system files?",
"修復系統檔案":'Repair System Files',
"錯誤":"error",
"修復失敗":"Repair failed",
'清理系統檔案':'Clean up system files',
"你確定要清理系統檔案嗎?":"Are you sure you want to clean the system files?",
"您確定要清理系統檔案嗎?":"Are you sure you want to clean the system files?",
"清理完成":"Cleanup complete",
"清理失敗":"Cleanup failed",
"啟用安全模式":"Enable safe mode",
"你確定啟用安全模式嗎?":"Are you sure you enable safe mode?",
"您確定啟用安全模式嗎?":"Are you sure you enable safe mode?",
"使用該選項後需要重啟,現在要重啟嗎?":"A reboot is required after using this option, do you want to reboot now?",
"啟用失敗":"Enable failed",
'禁用安全模式':'Disable safe mode',
"你確定禁用安全模式嗎?":"Are you sure you want to disable Safe Mode?",
"您確定禁用安全模式嗎?":"Are you sure you want to disable Safe Mode?",
"禁用失敗":"Disable failed",
"刪除檔案":"Delete file",
"你確定刪除該檔案嗎?":"Are you sure you want to delete this file?",
"您確定刪除該檔案嗎?":"Are you sure you want to delete this file?",
"刪除成功":"Successfully deleted",
"刪除失敗":"Failed to delete",
"運行成功":"Run successfully",
"不是有效命令":"Not a valid command",
"你輸入了錯誤的HEKY":"You entered the wrong HEKY",
"您輸入了錯誤的HEKY":"You entered the wrong HEKY",
"警告":"Warning",
"成功的創建或修改註冊表值":"Successfully created or modified registry value",
"分析EXE函數":"Analyze EXE Functions",
"分析EXE哈希值":"Analyze EXE hashes",
"分析EXE位元":"Analyze EXE Bits",
"分析文件函數":"Analyze File Func",
"分析文件哈希值":"Analyze File Hashes",
"分析文件位元":"Analyze File Bits",
'尋找結果:':'Find result:',
'正在尋找:':'Searching:',
'找到檔案:':'File found:',
'創建日期:':'Created Date:',
"你確定要修改用戶密碼嗎?":"Are you sure you want to change the user password?",
"您確定要修改用戶密碼嗎?":"Are you sure you want to change the user password?",
"IP查詢":"IP query",
"您的ip地址為:{}":"Your ip address is: {}",
"你確定要重置網路配置嗎?":"Are you sure you want to reset the network configuration?",
"您確定要重置網路配置嗎?":"Are you sure you want to reset the network configuration?",
"重置網路配置成功":"Reset network configuration successful",
"設定":"Setting",
"關於":"About",
"結束進程":"End process",
"啟用該選項可以實時監控系統的惡意軟體並清除(需4GB以上的記憶體)":"Enable this option to monitor and remove malware in the system in real time (requires more than 4GB of memory)",
'{}:[實時防護]成功攔截了一個惡意軟體:':'{}:[Real-time protection] successfully blocked a malware:',
'{}:[實時防護]惡意軟體攔截失敗:':'{}:[Real-time protection] Malware blocking failed:',
"啟用該選項可以實時監控系統的惡意軟體並清除":"Enable this option to monitor and remove malware in the system in real time",
'{} > [實時防護] 成功攔截了一個惡意軟體:':'{} > [Real-time protection] Successfully blocked a malware:',
'{} > [實時防護] 惡意軟體攔截失敗:':'{} > [Real-time protection] Malware blocking failed:',
'修復系統權限':"Repair System Permissions",
"never gonna give you up":"""We are no strangers to love
You know the rules and so do I
+3 -3
View File
@@ -1789,7 +1789,7 @@ class Ui_MainWindow(object):
self.Testers_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Testers_title.setObjectName("Testers_title")
self.Testers_Name = QtWidgets.QLabel(self.About_widget)
self.Testers_Name.setGeometry(QtCore.QRect(130, 210, 151, 41))
self.Testers_Name.setGeometry(QtCore.QRect(130, 210, 300, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -1811,7 +1811,7 @@ class Ui_MainWindow(object):
self.PYAS_URL_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.PYAS_URL_title.setObjectName("PYAS_URL_title")
self.PYAS_URL = QtWidgets.QLabel(self.About_widget)
self.PYAS_URL.setGeometry(QtCore.QRect(200, 260, 321, 41))
self.PYAS_URL.setGeometry(QtCore.QRect(130, 260, 321, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -2105,7 +2105,7 @@ class Ui_MainWindow(object):
self.Minimize_Button.setCheckable(False)
self.Minimize_Button.setObjectName("Minimize_Button")
self.Window_title = QtWidgets.QLabel(self.Window_widget)
self.Window_title.setGeometry(QtCore.QRect(10, 0, 141, 41))
self.Window_title.setGeometry(QtCore.QRect(10, 0, 300, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(14)
+1 -1
View File
@@ -1,7 +1,7 @@
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version='2.3.0',
version='2.3.3',
company_name="PYAS",
file_description="Python Antivirus Software",
internal_name="PYAS",