diff --git a/PYAS.py b/PYAS.py index 11d2c00..285ff19 100644 --- a/PYAS.py +++ b/PYAS.py @@ -9,10 +9,10 @@ ###################################### 加載模組 ##################################### -import xml.etree.ElementTree as ET -import win32file, win32api, win32con -import requests, subprocess, cryptocode import os, sys, time, json, socket, psutil +import requests, subprocess, cryptocode +import win32file, win32api, win32con +import xml.etree.ElementTree as ET from hashlib import md5, sha1, sha256 from pefile import PE, DIRECTORY_ENTRY from PYAS_Language import translations @@ -38,8 +38,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.init_config() self.init_config_ui() self.setup_control() - self.show_pyas_ui() self.protect_start() + self.showNormal() def tray_icon_start(self): self.tray_icon = QSystemTrayIcon(self) @@ -302,8 +302,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Privacy_Tools_Back.setText(self.text_Translate("返回")) self.ui.Delete_Private_File_Button.setText(self.text_Translate("隱私檔案粉碎")) self.ui.Develop_Tools_Back.setText(self.text_Translate("返回")) - self.ui.Customize_REG_Command_Button.setText(self.text_Translate("自訂註冊表")) - self.ui.Customize_CMD_Command_Button.setText(self.text_Translate("自訂命令")) + self.ui.Customize_REG_Command_Button.setText(self.text_Translate("註冊表編輯器")) + self.ui.Customize_CMD_Command_Button.setText(self.text_Translate("命令提示字元")) self.ui.Analyze_EXE_hash_Button.setText(self.text_Translate("分析檔案哈希")) self.ui.Analyze_EXE_Bit_Button.setText(self.text_Translate("分析檔案位元")) self.ui.Analyze_EXE_Funtion_Button.setText(self.text_Translate("分析檔案函數")) @@ -356,7 +356,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.cloud_services_illustrate.setText(self.text_Translate("啟用此選項可以連接雲端掃描服務")) self.ui.cloud_services_switch_Button.setText(self.text_Translate(self.ui.cloud_services_switch_Button.text())) self.ui.Setting_Back.setText(self.text_Translate("返回")) - self.ui.Language_title.setText(self.text_Translate("語言")) + self.ui.Language_title.setText(self.text_Translate("顯示語言")) self.ui.Language_illustrate.setText(self.text_Translate("請選擇語言")) self.ui.License_terms_title.setText(self.text_Translate("許可條款:")) self.ui.Theme_title.setText(self.text_Translate("顯色主題")) @@ -630,15 +630,10 @@ class MainWindow_Controller(QtWidgets.QMainWindow): pat2.drawRoundedRect(rect, 1, 1) def onTrayIconActivated(self, reason): - if reason == QSystemTrayIcon.Trigger or reason == QSystemTrayIcon.DoubleClick: + if reason == QSystemTrayIcon.Trigger: self.showNormal() - while self.pyas_opacity < 100: - time.sleep(0.001) - self.pyas_opacity += 1 - self.setWindowOpacity(self.pyas_opacity/100) - QApplication.processEvents() - def show_pyas_ui(self): + def showNormal(self): self.show() while self.pyas_opacity < 100: time.sleep(0.001) @@ -646,9 +641,17 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.setWindowOpacity(self.pyas_opacity/100) QApplication.processEvents() + def showMinimized(self): + while self.pyas_opacity > 0: + time.sleep(0.001) + self.pyas_opacity -= 1 + self.setWindowOpacity(self.pyas_opacity/100) + QApplication.processEvents() + self.hide() + self.system_notification(self.text_Translate("PYAS 已最小化到托盤圖標")) + def closeEvent(self, event): - question = QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要退出 PYAS 和相關防護嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要退出 PYAS 和相關防護嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: self.proc_protect = False self.file_protect = False self.mbr_protect = False @@ -661,8 +664,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.tray_icon.hide() self.hide() app.quit() - else: - event.ignore() + event.ignore() ###################################### 錯誤回報 ##################################### @@ -699,11 +701,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow): def ShowMenu(self): self.WindowMenu = QMenu() Main_Settings = QAction(self.text_Translate("設定"),self) + Main_Update = QAction(self.text_Translate("更新"),self) Main_About = QAction(self.text_Translate("關於"),self) self.WindowMenu.addAction(Main_Settings) + self.WindowMenu.addAction(Main_Update) self.WindowMenu.addAction(Main_About) - pos = QtCore.QPoint(0, 30) - Qusetion = self.WindowMenu.exec_(self.ui.Menu_Button.mapToGlobal(pos)) + Qusetion = self.WindowMenu.exec_(self.ui.Menu_Button.mapToGlobal(QtCore.QPoint(0, 30))) if Qusetion == Main_About: if self.ui.About_widget.isHidden(): self.ui.About_widget.show() @@ -721,6 +724,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Window_widget.raise_() self.Change_animation_3(self.ui.Setting_widget,0.5) self.Change_animation5(self.ui.Setting_widget,10,50,831,481) + elif Qusetion == Main_Update: + pass def high_sensitivity_switch(self): sw_state = self.ui.high_sensitivity_switch_Button.text() @@ -906,8 +911,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Virus_Scan_choose_Button.hide() self.ui.Virus_Scan_Break_Button.show() QApplication.processEvents() - sflist = [".exe",".dll",".com",".msi",".js",".vbs",".xls",".xlsx",".doc",".docx"] - self.traverse_path(path,sflist) + self.traverse_path(path,[".exe",".dll",".com",".msi",".js",".vbs",".xls",".xlsx",".doc",".docx"]) self.answer_scan() else: self.ui.Virus_Scan_text.setText(self.text_Translate("請選擇掃描方式")) @@ -933,10 +937,9 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.Virus_List_output=QStringListModel() self.Virus_List_output.setStringList(self.Virus_List) self.ui.Virus_Scan_output.setModel(self.Virus_List_output) - sflist = [".exe",".dll",".com",".msi",".js",".vbs",".xls",".xlsx",".doc",".docx"] for d in range(26): try: - self.traverse_path(str(chr(65+d))+":/",sflist) + self.traverse_path(str(chr(65+d))+":/",[".exe",".dll",".com",".msi",".js",".vbs",".xls",".xlsx",".doc",".docx"]) except: pass self.answer_scan() @@ -974,38 +977,32 @@ class MainWindow_Controller(QtWidgets.QMainWindow): def Repair_System_Files(self): try: - question = QMessageBox.warning(self,self.text_Translate("修復系統檔案"),self.text_Translate("您確定要修復系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("修復系統檔案"),self.text_Translate("您確定要修復系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: subprocess.run("sfc /scannow", shell=True) except Exception as e: self.pyas_bug_log(e) def Clean_System_Files(self): try: - question = QMessageBox.warning(self,self.text_Translate("清理系統檔案"),self.text_Translate("您確定要清理系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("清理系統檔案"),self.text_Translate("您確定要清理系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: subprocess.run("cleanmgr", check=True) except Exception as e: self.pyas_bug_log(e) def Enable_Safe_Mode(self): try: - question = QMessageBox.warning(self,self.text_Translate("啟用安全模式"),self.text_Translate("您確定要啟用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("啟用安全模式"),self.text_Translate("您確定要啟用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: subprocess.run("bcdedit /set {default} safeboot minimal", check=True) - question = QMessageBox.warning(self,"reboot",self.text_Translate("使用此選項需要重啟,您確定要重啟嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: - subprocess.run("shutdown -r -t 0", check=True) + if QMessageBox.warning(self,self.text_Translate("重啟"),self.text_Translate("使用此選項需要重啟,您確定要重啟嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: + subprocess.run("shutdown -r -t 0", check=True) except Exception as e: self.pyas_bug_log(e) def Disable_Safe_Mode(self): try: - question = QMessageBox.warning(self,self.text_Translate("禁用安全模式"),self.text_Translate("您確定要禁用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("禁用安全模式"),self.text_Translate("您確定要禁用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: subprocess.run("bcdedit /deletevalue {current} safeboot", check=True) - question = QMessageBox.warning(self,"reboot",self.text_Translate("使用此選項需要重啟,您確定要重啟嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("重啟"),self.text_Translate("使用此選項需要重啟,您確定要重啟嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: subprocess.run("shutdown -r -t 0", check=True) except Exception as e: self.pyas_bug_log(e) @@ -1013,15 +1010,20 @@ class MainWindow_Controller(QtWidgets.QMainWindow): def System_Info_update(self): try: version = sys.getwindowsversion() - self.ui.System_Info_View.setText(f"CPU Core: {os.cpu_count()}\nSYS Info: {sys.platform}\nSYS Vers: {version.major}.{version.minor} build {version.build}\nSYS Name: {os.getlogin()}") + core = f'{os.cpu_count()}' + cpuu = f'{str(psutil.cpu_percent())}%' + ramu = f'{str(psutil.virtual_memory().percent)}%' + sysp = f'{sys.platform}' + sysv = f'{version.major}.{version.minor} build {version.build}' + sysn = f'{os.getlogin()}' + self.ui.System_Info_View.setText(f"CPU Core: {core}\nCPU Used: {cpuu}\nRAM Used: {ramu}\nSYS Info: {sysp}\nSYS Vers: {sysv}\nSYS Name: {sysn}") except Exception as e: self.pyas_bug_log(e) def Delete_Private_File(self): file, filetype = QFileDialog.getOpenFileName(self,self.text_Translate("刪除檔案"),"C:/","") if file != "" and file != str(sys.argv[0]): - question = QMessageBox.warning(self,self.text_Translate("刪除檔案"),self.text_Translate("您確定要刪除此檔案嗎?"),QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) - if question == 16384: + if QMessageBox.warning(self,self.text_Translate("刪除檔案"),self.text_Translate("您確定要刪除此檔案嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384: try: os.remove(file) QMessageBox.information(self,self.text_Translate("刪除成功"),self.text_Translate("成功: 刪除成功"),QMessageBox.Ok) @@ -1044,19 +1046,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow): Value_Data = str(self.ui.Value_Data_input.text()) Value_Type = str(self.ui.Value_Type_input.text()) Value_HEKY = str(self.ui.Value_HEKY_input.text()) - heky_dict = {"HKEY_CLASSES_ROOT": win32con.HKEY_CLASSES_ROOT,"HKEY_CURRENT_USER": win32con.HKEY_CURRENT_USER,"HKEY_LOCAL_MACHINE": win32con.HKEY_LOCAL_MACHINE,"HKEY_USERS": win32con.HKEY_USERS,"HKEY_CURRENT_CONFIG": win32con.HKEY_CURRENT_CONFIG} - if Value_HEKY in heky_dict: - Value_HEKY = heky_dict[Value_HEKY] - else: - QMessageBox.critical(self, self.text_Translate("錯誤"), self.text_Translate("錯誤: 您輸入了錯誤的HEKY"), QMessageBox.Ok) - continue_v = False - value_types_dict = {"REG_BINARY": win32con.REG_BINARY,"REG_DWORD": win32con.REG_DWORD,"REG_DWORD_LITTLE_ENDIAN": win32con.REG_DWORD_LITTLE_ENDIAN,"REG_DWORD_BIG_ENDIAN": win32con.REG_DWORD_BIG_ENDIAN,"REG_EXPAND_SZ": win32con.REG_EXPAND_SZ,"REG_LINK": win32con.REG_LINK,"REG_MULTI_SZ": win32con.REG_MULTI_SZ,"REG_NONE": win32con.REG_NONE,"REG_QWORD": win32con.REG_QWORD,"REG_QWORD_LITTLE_ENDIAN": win32con.REG_QWORD_LITTLE_ENDIAN,"REG_SZ": win32con.REG_SZ} - if Value_Type in value_types_dict: - Value_Type = value_types_dict[Value_Type] - else: - QMessageBox.critical(self, self.text_Translate("錯誤"), self.text_Translate("錯誤: 您輸入了錯誤的TYPE"), QMessageBox.Ok) - continue_v = False - if continue_v: + hkey_dict = {"HKEY_CLASSES_ROOT": win32con.HKEY_CLASSES_ROOT,"HKEY_CURRENT_USER": win32con.HKEY_CURRENT_USER,"HKEY_LOCAL_MACHINE": win32con.HKEY_LOCAL_MACHINE,"HKEY_USERS": win32con.HKEY_USERS,"HKEY_CURRENT_CONFIG": win32con.HKEY_CURRENT_CONFIG} + value_dict = {"REG_BINARY": win32con.REG_BINARY,"REG_DWORD": win32con.REG_DWORD,"REG_DWORD_LITTLE_ENDIAN": win32con.REG_DWORD_LITTLE_ENDIAN,"REG_DWORD_BIG_ENDIAN": win32con.REG_DWORD_BIG_ENDIAN,"REG_EXPAND_SZ": win32con.REG_EXPAND_SZ,"REG_LINK": win32con.REG_LINK,"REG_MULTI_SZ": win32con.REG_MULTI_SZ,"REG_NONE": win32con.REG_NONE,"REG_QWORD": win32con.REG_QWORD,"REG_QWORD_LITTLE_ENDIAN": win32con.REG_QWORD_LITTLE_ENDIAN,"REG_SZ": win32con.REG_SZ} + if Value_HEKY in hkey_dict and Value_Type in value_dict: + Value_HEKY = hkey_dict[Value_HEKY] + Value_Type = value_dict[Value_Type] 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) @@ -1065,6 +1059,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): QMessageBox.information(self,self.text_Translate("成功"),self.text_Translate("成功: 成功的創建或修改註冊表值"),QMessageBox.Ok) except Exception as e: self.pyas_bug_log(e) + else: + QMessageBox.critical(self, self.text_Translate("錯誤"), self.text_Translate("錯誤: 您輸入了錯誤的值"), QMessageBox.Ok) def Analyze_EXE(self,button): if button == self.ui.Analyze_EXE_Funtion_Button: @@ -1079,8 +1075,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Analyze_EXE_Output.append(str(func.name, "utf-8")) self.Change_Tools(self.ui.Analyze_EXE_widget) QApplication.processEvents() - except: - pass + except Exception as e: + self.pyas_bug_log(e) elif button == self.ui.Analyze_EXE_hash_Button: file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析檔案哈希值"),"C:/","All File *.*") if file != "": @@ -1094,8 +1090,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Analyze_EXE_Output.append(f"MD5: {readable_hash}\nSHA1: {readable_hash2}\nSHA256: {readable_hash3}") self.Change_Tools(self.ui.Analyze_EXE_widget) QApplication.processEvents() - except: - pass + except Exception as e: + self.pyas_bug_log(e) else: file, filetype= QFileDialog.getOpenFileName(self,self.text_Translate("分析檔案位元"),"C:/","EXE OR DLL File *.exe *.dll") if file != "": @@ -1107,8 +1103,8 @@ class MainWindow_Controller(QtWidgets.QMainWindow): self.ui.Analyze_EXE_Output.append(f"{section.Name.decode()} {hex(section.VirtualAddress)} {hex(section.Misc_VirtualSize)} {section.Characteristics}") self.Change_Tools(self.ui.Analyze_EXE_widget) QApplication.processEvents() - except: - pass + except Exception as e: + self.pyas_bug_log(e) def find_file_input(self): try: @@ -1127,7 +1123,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): QApplication.processEvents() self.Change_Tools(self.ui.Look_for_File_widget) else: - QMessageBox.critical(self,self.text_Translate("錯誤"),self.text_Translate("錯誤: 未找到檔案"),QMessageBox.Ok) + QMessageBox.critical(self,self.text_Translate("錯誤"),self.text_Translate(f"錯誤: 未找到檔案 {file_name}"),QMessageBox.Ok) except Exception as e: self.pyas_bug_log(e) @@ -1186,7 +1182,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(("8.8.8.8", 80)) - QMessageBox.information(self,self.text_Translate("位置查詢"),self.text_Translate(f"您的IP 配置是:{s.getsockname()[0]}"),QMessageBox.Ok) + QMessageBox.information(self,self.text_Translate("位置查詢"),self.text_Translate(f"您的 IP 配置是:{s.getsockname()[0]}"),QMessageBox.Ok) s.close() except Exception as e: self.pyas_bug_log(e) @@ -1408,7 +1404,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow): ##################################### 初始設定 ##################################### if __name__ == '__main__': - pyas_version, pyae_version = "2.6.9", "2.3.7" + pyas_version, pyae_version = "2.7.0", "2.3.7" QtCore.QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling) QtGui.QGuiApplication.setAttribute(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough) app = QtWidgets.QApplication(sys.argv) diff --git a/PYAS_Language.py b/PYAS_Language.py index 387830c..9a9d2ff 100644 --- a/PYAS_Language.py +++ b/PYAS_Language.py @@ -3,7 +3,9 @@ translations = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":" "軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于", "錯誤":"错误","實時":"实时","發現":"发现","本機":"电脑","資料":"数据", "誤殺":"误杀","開發":"开发","關閉":"关闭","資訊":"资讯","裝置":"设备", - "總數":"总数","註冊":"注册","風險":"风险","路徑":"路径","網路":"网络", + "總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络", + "編輯":"编辑", + "項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保","鑰":"钥", "當":"当","後":"后","護":"护","導":"导","區":"区","復":"复","攔":"拦", "請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选","啟":"启", "監":"监","並":"并","徑":"径","盤":"盘","隱":"隐","動":"动","狀":"状", @@ -12,42 +14,43 @@ translations = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":" "類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网","詢":"询", "製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红","綠":"绿", "態":"态","擇":"择","務":"务","連":"连","檢":"检","測":"测","庫":"库", - "簽":"签","無":"无","關":"关","防":"保","鑰":"钥","黃":"黄","嗎":"吗", - "項":"项","掃":"扫","試":"试"}, - "en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off","啟用":"Enable ", - "正在掃描":"Scanning ","正在刪除":"Deleting ","正在尋找":"Searching ", - "正在檢測":"Checking ","無法確定":"Can't Confirm ","可疑":"Suspicious ", + "簽":"签","無":"无","關":"关"}, + "en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ", + "啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ", + "正在掃描":"Scanning ","正在檢測":"Checking ","正在尋找":"Searching ", + "正在刪除":"Deleting ","立即刪除":"Delete Now","安全模式":"Safe Mode", + "最小化到":"Minimized To ","密鑰錯誤":"Key Error","可疑":"Suspicious ", + "確定要":"Sure Want To ","官方網站":"Website","許可條款":"License Terms", + "白色主題":"White","黑色主題":"Black","黃色主題":"Yellow","紅色主題":"Red", + "藍色主題":"Blue","綠色主題":"Green","語言":"Language ","製作":"Make", + "測試人員":"Testers","版本資訊":"Information","提示字元":"Prompt", + "靈敏度":"Sensitivity ","位置查詢":"Location Query","無簽名":"Unsign ", + "註冊表":"Registry ","編輯器":"Editor","實時":"Real-Time ","退出":"Quit ", "狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ", - "禁用":"Disable ","系統":"System ","雲端":"Cloud ","重啟":"Reboot ", + "輸入了":"Input ","不是有效":"Is Not A Valid ","命令":"Command ", "創建":"Create ","日期":"Date ","檔案":"File ","當前":"Currently ", "失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ", "需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back", - "裝置":"Device ","發現":"Found ",",":", ","密鑰錯誤":"Key Error", "找到":"Find ","受到":"Been ","錯誤":"Error ","完成":"Complete ", - "修復":"Repair ","正在初始化中":"Initializing ","實時":"Real-Time ", - "立即刪除":"Delete Now","安全模式":"Safe Mode","不安全":"Unsafe", - "確定要":"Sure Want To ","成功":"Success ","清理":"Cleanup ", - "確定":"OK","執行":"Execute ","警告":"Warning ","輸入了":"Input ", - "搜尋":"Search ","不是有效":"Is Not A Valid ","命令":"Command", - "修改":"Modify ","用戶":"User ","使用":"Use ","哈希":"Hash", + "托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","引擎":"Engine ", + "系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ", + "裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ", + "確定":"OK","執行":"Execute ","警告":"Warning ","搜尋":"Search ", + "修改":"Modify ","用戶":"User ","使用":"Use ","哈希":"Hashes", "更多":"More","重置":"Reset ","網路":"Network ","配置":"Config ", "選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ", "進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ", - "分區":"Partition ","設定":"Setting","關於":"About","模式":"Mode ", - "靈敏度":"Sensitivity ","提高":"Improve ","安全":"Security ","行":"", - "無簽名":"Unsign ","引擎":"Engine ","風險":"Risk ","立即":"", - "白色主題":"White","黑色主題":"Black","黃色主題":"Yellow","紅色主題":"Red", - "藍色主題":"Blue","綠色主題":"Green","語言":"Language ","製作":"Make", - "但":"But ","註冊表":"Regedit ","顯色":"Color ","主題":"Themes ", - "介面":"GUI ","核心":"Core ","服務":"Services ","測試人員":"Testers", - "官方網站":"Website","許可條款":"License Terms","全盤":"Full ", + "分區":"Partition ","設定":"Settings","關於":"About ","模式":"Mode ", + "提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ", + "風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ", "隱私":"Privacy ","更多":"More ","開發":"Devs ","管理":"Manage", - "垃圾":"Junk ","輸出":"Output ","版本資訊":"Information","位元":"Bits", "粉碎":"Shredding","自訂":"Customize ","分析":"Analyze ","函數":"Func", - "變更":"Change ","位置查詢":"Location Query","總數":"Total","結束":"End ", - "本機":"Computer ","加密":"Encrypt ","解密":"Decrypt ","文字":"Text", - "類型":"Type","資料":"Data","日誌":"Log","停止":"Stop ","值":"Value ", - "前":"Before","後":"After","密碼":"Password ","此":"This ","名":"Name", - "高":"High ","新":"New ","稱":"","是":"Is ","中":"","到":"For ", - "您":"You ","未":"Not ","已":"Has ","個":"","的":"","並":"And ","嗎":"", - "退出":"Quit ","和":"And ","相關":"Related ","開啟":"Open ","會":"Can "," ":" "}} + "垃圾":"Junk ","輸出":"Output ","位元":"Bits","本機":"Computer ", + "變更":"Change ","總數":"Total","結束":"End ","文字":"Text", + "加密":"Encrypt ","解密":"Decrypt ","類型":"Type","資料":"Data", + "更新":"Update","規則":"Rules","密碼":"Password ","相關":"Related ", + "全盤":"Full ","日誌":"Log","停止":"Stop ","前":"Before","後":"After", + "值":"Value ","此":"This ","名":"Name","開啟":"Open ","您":"You ", + "但":"But ","並":"And ","嗎":"","高":"High ","新":"New ","是":"Is ", + "到":"For ","未":"Not ","已":"Has ","和":"And ","會":"Can ", + "個":"","顯示":"","的":"","立即":"","中":"","行":"","稱":""," ":" "}} diff --git a/PYAS_Version_File.py b/PYAS_Version_File.py index 019f6dc..f138f52 100644 --- a/PYAS_Version_File.py +++ b/PYAS_Version_File.py @@ -1,10 +1,10 @@ import pyinstaller_versionfile pyinstaller_versionfile.create_versionfile( - output_file="versionfile.txt", - version='2.6.9', - company_name="PYAS Security", - file_description="Python Antivirus Software", - internal_name="PYAS", - legal_copyright="© PYAS Security", - original_filename="PYAS.exe", - product_name="PYAS") +output_file="versionfile.txt", +version='2.7.0', +company_name="PYAS Security", +file_description="Python Antivirus Software", +internal_name="PYAS", +legal_copyright="© PYAS Security", +original_filename="PYAS.exe", +product_name="PYAS")