Add files via upload

This commit is contained in:
PYDT authored and GitHub committed 2023-05-31 15:36:10 +08:00
1 parent 03d437712c
commit 164fd80065
3 files changed
+99 -100

No files matched your search

+58 -62
View File
@@ -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)
+33 -30
View File
@@ -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 ",
"個":"","顯示":"","的":"","立即":"","中":"","行":"","稱":""," ":" "}}
+8 -8
View File
@@ -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")