Compare commits

..
3 Commits
Author SHA1 Message Date
87owo 0ac7b80eae Add files via upload 2022-07-17 19:14:12 +08:00
87owo 6795d1c6a4 Add files via upload 2022-07-16 13:20:45 +08:00
87owo d9eac56f1b Add files via upload 2022-07-13 11:22:12 +08:00
+337 -19
View File
@@ -1,7 +1,7 @@
#################################################################################### ####################################################################################
# Coding Python 3.8 UTF-8 (Python IDLE) # Coding Python 3.8 UTF-8 (Python IDLE)
# #
# PYAS Ver: PYAS V2.2.2 (2020.12.17) # PYAS Ver: PYAS V2.2.6 (2020.12.17)
# PYAE Ver: PYAE V1.2.5 (2022.03.04) # PYAE Ver: PYAE V1.2.5 (2022.03.04)
# Support: Windows 7,8,10,11 64-bit # Support: Windows 7,8,10,11 64-bit
# #
@@ -20,7 +20,7 @@ try:
from ctypes import windll from ctypes import windll
import requests as req import requests as req
from pefile import PE from pefile import PE
from hashlib import md5 from hashlib import md5, sha1, sha256
from tkinter import messagebox, filedialog from tkinter import messagebox, filedialog
from tkinter import * from tkinter import *
except Exception as e: except Exception as e:
@@ -29,7 +29,7 @@ except Exception as e:
#################################################################################### ####################################################################################
#版本資訊 #版本資訊
pyas_version = '2.2.2' pyas_version = '2.2.6'
pyae_version = '1.2.5' pyae_version = '1.2.5'
dev_edition_times = 0 dev_edition_times = 0
pyas_copyright = 'Copyright© 2020-2022 PYAS Python Antivirus Software.' pyas_copyright = 'Copyright© 2020-2022 PYAS Python Antivirus Software.'
@@ -310,11 +310,12 @@ def pyas_protect_init_en():
pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg') pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play() pygame.mixer.music.play()
else: else:
pyas_clear()
textPad.insert("insert", 'Malware blocking failed: '+str(p.name())) textPad.insert("insert", 'Malware blocking failed: '+str(p.name()))
except: except:
pass pass
except:# Exception as e: except:# Exception as e:
pass#print(e) continue#print(e)
#################################################################################### ####################################################################################
@@ -387,6 +388,7 @@ def pyas_file_scan_en():
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_en(file) pyas_scan_write_en(file)
fts = 0 fts = 0
@@ -458,6 +460,7 @@ def pyas_scan_path_en(path,rfp,rfn,fts):
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_en(str(fullpath)) pyas_scan_write_en(str(fullpath))
fts = 0 fts = 0
@@ -620,6 +623,32 @@ def exe_analyze_md5_en():
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_en+'\n') textPad.insert("insert", none_file_en+'\n')
def exe_analyze_sha1_en():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha1(bytes).hexdigest();
textPad.insert("insert", 'SHA1: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_en+'\n')
def exe_analyze_sha256_en():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha256(bytes).hexdigest();
textPad.insert("insert", 'SHA256: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_en+'\n')
def exe_analyze_file_en(): def exe_analyze_file_en():
pyas_clear() pyas_clear()
file = filedialog.askopenfilename() file = filedialog.askopenfilename()
@@ -628,6 +657,7 @@ def exe_analyze_file_en():
for section in pe.sections: for section in pe.sections:
root.update() root.update()
textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData) textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData)
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_en+'\n') textPad.insert("insert", none_file_en+'\n')
@@ -641,6 +671,7 @@ def exe_analyze_function_en():
for function in entry.imports: for function in entry.imports:
root.update() root.update()
textPad.insert("insert", str(function.name)+'\n') textPad.insert("insert", str(function.name)+'\n')
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_en+'\n') textPad.insert("insert", none_file_en+'\n')
@@ -736,6 +767,7 @@ def find_files_init_en():
def find_files_info_en(ffile): def find_files_info_en(ffile):
try: try:
fss = 0 fss = 0
start = 0
findfile_en('A:/',ffile,fss,start) findfile_en('A:/',ffile,fss,start)
findfile_en('B:/',ffile,fss,start) findfile_en('B:/',ffile,fss,start)
findfile_en('C:/',ffile,fss,start) findfile_en('C:/',ffile,fss,start)
@@ -765,8 +797,11 @@ def find_files_info_en(ffile):
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8') ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
fe = ft.read() fe = ft.read()
ft.close() ft.close()
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
lines = len(ft.readlines())
ft.close()
pyas_clear() pyas_clear()
textPad.insert("insert", '''Find result:\n'''+pyas_divider+'\n'+str(fe)) textPad.insert("insert", 'Find result: ('+str(int(lines/3))+' items)\n'+pyas_divider+'\n'+str(fe))
os.remove('Library/PYAS/Temp/PYASF.tmp') os.remove('Library/PYAS/Temp/PYASF.tmp')
except: except:
pass pass
@@ -1030,7 +1065,7 @@ def system_disk_clean_en():
pyas_clear() pyas_clear()
textPad.insert("insert",en_app_use) textPad.insert("insert",en_app_use)
root.update() root.update()
os.system('cleanmgr /autoclean') os.system('cleanmgr')
pyas_clear() pyas_clear()
def change_user_password_init_en(): def change_user_password_init_en():
@@ -1057,7 +1092,7 @@ def change_user_password_en(user,password):
def recover_Wallpaper_en(): def recover_Wallpaper_en():
pyas_clear() pyas_clear()
if messagebox.askokcancel('Warning','''Recover System Wallpaper, Do you want to continue?''', default="cancel", icon="warning"): if messagebox.askokcancel('Warning','''Repair System Wallpaper, Do you want to continue?''', default="cancel", icon="warning"):
try: try:
try: try:
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers',0,win32con.KEY_ALL_ACCESS) key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers',0,win32con.KEY_ALL_ACCESS)
@@ -1543,6 +1578,90 @@ def fixlimit_en():
pyas_clear() pyas_clear()
textPad.insert("insert", en_failed+'\n'+pyas_divider+'\n'+str(e)) textPad.insert("insert", en_failed+'\n'+pyas_divider+'\n'+str(e))
def open_cmd_en():
pyas_clear()
textPad.insert("insert",en_app_use)
root.update()
run = subprocess.call('start cmd.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
def open_regedit_en():
pyas_clear()
textPad.insert("insert",en_app_use)
root.update()
run = subprocess.call('regedit.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
def open_taskmgr_en():
pyas_clear()
textPad.insert("insert",en_app_use)
root.update()
run = subprocess.call('taskmgr.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
def open_powershell_en():
pyas_clear()
textPad.insert("insert",en_app_use)
root.update()
run = subprocess.call('start powershell.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
def system_check_en():
fail = 0
try:
pyas_clear()
textPad.insert("insert", 'Checking CMD')
run = subprocess.call('cmd.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
fail += 1
pyas_clear()
textPad.insert("insert", 'Checking REG')
run = subprocess.call('regedit.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
fail += 1
pyas_clear()
textPad.insert("insert", 'Checking Taskmgr')
run = subprocess.call('taskmgr.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", en_success)
else:
pyas_clear()
textPad.insert("insert", en_failed)
fail += 1
except:
pass
################################################################################ ################################################################################
#關於 #關於
@@ -1649,6 +1768,14 @@ def english():
sub2menu.add_command(label = 'Disable Safe Mode',command = close_safe_Mode_en) sub2menu.add_command(label = 'Disable Safe Mode',command = close_safe_Mode_en)
sub2menu.add_separator() sub2menu.add_separator()
sub2menu.add_command(label = 'System Version Info',command = computer_info_en) sub2menu.add_command(label = 'System Version Info',command = computer_info_en)
sysapp = Menu(filemenu3,tearoff=False)###
filemenu3.add_cascade(label='System Apps', menu=sysapp, underline=0)
sysapp.add_command(label = 'Open Taskmgr',command = open_taskmgr_en)
sysapp.add_separator()
sysapp.add_command(label = 'Open Regedit',command = open_regedit_en)
sysapp.add_separator()
sysapp.add_command(label = 'Open Command',command = open_cmd_en)
sysapp.add_command(label = 'Open PowerShell',command = open_powershell_en)###
insmenu = Menu(filemenu3,tearoff=False) insmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='Privacy Tools', menu=insmenu, underline=0) filemenu3.add_cascade(label='Privacy Tools', menu=insmenu, underline=0)
insmenu.add_command(label = 'Camera Privacy Detection',command = camera_check_en) insmenu.add_command(label = 'Camera Privacy Detection',command = camera_check_en)
@@ -1669,14 +1796,17 @@ def english():
submenu.add_command(label = 'Reset System Network',command = reset_network_en) submenu.add_command(label = 'Reset System Network',command = reset_network_en)
devmenu = Menu(filemenu3,tearoff=False) devmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='Dev Tools', menu=devmenu, underline=0) filemenu3.add_cascade(label='Dev Tools', menu=devmenu, underline=0)
devmenu.add_command(label = 'Online File Analyze',command = input_virustotal_scan_en)
devmenu.add_separator()
devmenu.add_command(label = 'Custom REG Command',command = input_custom_regedit_command_en) devmenu.add_command(label = 'Custom REG Command',command = input_custom_regedit_command_en)
devmenu.add_command(label = 'Custom CMD Command',command = input_custom_cmd_command_en) devmenu.add_command(label = 'Custom CMD Command',command = input_custom_cmd_command_en)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = 'Analyze EXE Hashes',command = exe_analyze_md5_en)
devmenu.add_command(label = 'Analyze EXE Bytes',command = exe_analyze_file_en) devmenu.add_command(label = 'Analyze EXE Bytes',command = exe_analyze_file_en)
devmenu.add_command(label = 'Analyze EXE Function',command = exe_analyze_function_en) devmenu.add_command(label = 'Analyze EXE Function',command = exe_analyze_function_en)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = 'Online File Analyze',command = input_virustotal_scan_en) devmenu.add_command(label = 'Analyze EXE MD5 Hashes',command = exe_analyze_md5_en)
devmenu.add_command(label = 'Analyze EXE SHA1 Hashes',command = exe_analyze_sha1_en)
devmenu.add_command(label = 'Analyze EXE SHA256 Hashes',command = exe_analyze_sha256_en)
filemenu5 = Menu(menubar,tearoff=False) filemenu5 = Menu(menubar,tearoff=False)
menubar.add_cascade(label = 'Settings',menu = filemenu5) menubar.add_cascade(label = 'Settings',menu = filemenu5)
sitmenu = Menu(filemenu5,tearoff=False) sitmenu = Menu(filemenu5,tearoff=False)
@@ -1753,11 +1883,12 @@ def pyas_protect_init_zh():
pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg') pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play() pygame.mixer.music.play()
else: else:
pyas_clear()
textPad.insert("insert", '惡意軟體攔截失敗: '+str(p.name())) textPad.insert("insert", '惡意軟體攔截失敗: '+str(p.name()))
except: except:
pass pass
except: except:
pass continue
#################################################################################### ####################################################################################
@@ -1921,6 +2052,7 @@ def pyas_file_scan_zh():
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_zh(file) pyas_scan_write_zh(file)
fts = 0 fts = 0
@@ -1992,6 +2124,7 @@ def pyas_scan_path_zh(path,rfp,rfn,fts):
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_zh(str(fullpath)) pyas_scan_write_zh(str(fullpath))
fts = 0 fts = 0
@@ -2155,6 +2288,32 @@ def exe_analyze_md5_zh():
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_zh+'\n') textPad.insert("insert", none_file_zh+'\n')
def exe_analyze_sha1_zh():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha1(bytes).hexdigest();
textPad.insert("insert", 'SHA1: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_zh+'\n')
def exe_analyze_sha256_zh():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha256(bytes).hexdigest();
textPad.insert("insert", 'SHA256: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_zh+'\n')
def exe_analyze_file_zh(): def exe_analyze_file_zh():
pyas_clear() pyas_clear()
file = filedialog.askopenfilename() file = filedialog.askopenfilename()
@@ -2163,6 +2322,7 @@ def exe_analyze_file_zh():
for section in pe.sections: for section in pe.sections:
root.update() root.update()
textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData) textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData)
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_zh+'\n') textPad.insert("insert", none_file_zh+'\n')
@@ -2176,6 +2336,7 @@ def exe_analyze_function_zh():
for function in entry.imports: for function in entry.imports:
root.update() root.update()
textPad.insert("insert", str(function.name)+'\n') textPad.insert("insert", str(function.name)+'\n')
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_zh+'\n') textPad.insert("insert", none_file_zh+'\n')
@@ -2271,6 +2432,7 @@ def find_files_init_zh():
def find_files_info_zh(ffile): def find_files_info_zh(ffile):
try: try:
fss = 0 fss = 0
start = 0
findfile_zh('A:/',ffile,fss,start) findfile_zh('A:/',ffile,fss,start)
findfile_zh('B:/',ffile,fss,start) findfile_zh('B:/',ffile,fss,start)
findfile_zh('C:/',ffile,fss,start) findfile_zh('C:/',ffile,fss,start)
@@ -2300,8 +2462,11 @@ def find_files_info_zh(ffile):
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8') ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
fe = ft.read() fe = ft.read()
ft.close() ft.close()
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
lines = len(ft.readlines())
ft.close()
pyas_clear() pyas_clear()
textPad.insert("insert", '''尋找結果:\n'''+pyas_divider+'\n'+str(fe)) textPad.insert("insert", '尋找結果: ('+str(int(lines/3))+' 項)\n'+pyas_divider+'\n'+str(fe))
os.remove('Library/PYAS/Temp/PYASF.tmp') os.remove('Library/PYAS/Temp/PYASF.tmp')
except: except:
pass pass
@@ -2565,7 +2730,7 @@ def system_disk_clean_zh():
pyas_clear() pyas_clear()
textPad.insert("insert",zh_app_use) textPad.insert("insert",zh_app_use)
root.update() root.update()
os.system('cleanmgr /autoclean') os.system('cleanmgr')
pyas_clear() pyas_clear()
def change_user_password_init_zh(): def change_user_password_init_zh():
@@ -3078,6 +3243,54 @@ def fixlimit_zh():
pyas_clear() pyas_clear()
textPad.insert("insert", zh_failed+'\n'+pyas_divider+'\n'+str(e)) textPad.insert("insert", zh_failed+'\n'+pyas_divider+'\n'+str(e))
def open_cmd_zh():
pyas_clear()
textPad.insert("insert",zh_app_use)
root.update()
run = subprocess.call('start cmd.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", zh_success)
else:
pyas_clear()
textPad.insert("insert", zh_failed)
def open_regedit_zh():
pyas_clear()
textPad.insert("insert",zh_app_use)
root.update()
run = subprocess.call('regedit.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", zh_success)
else:
pyas_clear()
textPad.insert("insert", zh_failed)
def open_taskmgr_zh():
pyas_clear()
textPad.insert("insert",zh_app_use)
root.update()
run = subprocess.call('taskmgr.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", zh_success)
else:
pyas_clear()
textPad.insert("insert", zh_failed)
def open_powershell_zh():
pyas_clear()
textPad.insert("insert",zh_app_use)
root.update()
run = subprocess.call('start powershell.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", zh_success)
else:
pyas_clear()
textPad.insert("insert", zh_failed)
################################################################################ ################################################################################
#關於 #關於
@@ -3175,6 +3388,14 @@ def traditional_chinese():
sub2menu.add_command(label = '關閉安全模式',command = close_safe_Mode_zh) sub2menu.add_command(label = '關閉安全模式',command = close_safe_Mode_zh)
sub2menu.add_separator() sub2menu.add_separator()
sub2menu.add_command(label = '系統版本資訊',command = computer_info_zh) sub2menu.add_command(label = '系統版本資訊',command = computer_info_zh)
sysapp = Menu(filemenu3,tearoff=False)###
filemenu3.add_cascade(label='系統程式', menu=sysapp, underline=0)
sysapp.add_command(label = '開啟工作管理員',command = open_taskmgr_zh)
sysapp.add_separator()
sysapp.add_command(label = '開啟登入編輯器',command = open_regedit_zh)
sysapp.add_separator()
sysapp.add_command(label = '開啟命令提示字元',command = open_cmd_zh)
sysapp.add_command(label = '開啟 PowerShell',command = open_powershell_zh)###
insmenu = Menu(filemenu3,tearoff=False) insmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='隱私工具', menu=insmenu, underline=0) filemenu3.add_cascade(label='隱私工具', menu=insmenu, underline=0)
insmenu.add_command(label = '相機隱私檢測',command = camera_check_zh) insmenu.add_command(label = '相機隱私檢測',command = camera_check_zh)
@@ -3195,14 +3416,17 @@ def traditional_chinese():
submenu.add_command(label = '重製系統網路',command = reset_network_zh) submenu.add_command(label = '重製系統網路',command = reset_network_zh)
devmenu = Menu(filemenu3,tearoff=False) devmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='開發工具', menu=devmenu, underline=0) filemenu3.add_cascade(label='開發工具', menu=devmenu, underline=0)
devmenu.add_command(label = '線上檔案分析',command = input_virustotal_scan_zh)
devmenu.add_separator()
devmenu.add_command(label = '自訂 REG 指令',command = input_custom_regedit_command_zh) devmenu.add_command(label = '自訂 REG 指令',command = input_custom_regedit_command_zh)
devmenu.add_command(label = '自訂 CMD 指令',command = input_custom_cmd_command_zh) devmenu.add_command(label = '自訂 CMD 指令',command = input_custom_cmd_command_zh)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = '分析 EXE 哈希',command = exe_analyze_md5_zh)
devmenu.add_command(label = '分析 EXE 位元',command = exe_analyze_file_zh) devmenu.add_command(label = '分析 EXE 位元',command = exe_analyze_file_zh)
devmenu.add_command(label = '分析 EXE 函數',command = exe_analyze_function_zh) devmenu.add_command(label = '分析 EXE 函數',command = exe_analyze_function_zh)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = '線上檔案分析',command = input_virustotal_scan_zh) devmenu.add_command(label = '分析 EXE MD5 哈希',command = exe_analyze_md5_zh)
devmenu.add_command(label = '分析 EXE SHA1 哈希',command = exe_analyze_sha1_zh)
devmenu.add_command(label = '分析 EXE SHA256 哈希',command = exe_analyze_sha256_zh)
filemenu5 = Menu(menubar,tearoff=False) filemenu5 = Menu(menubar,tearoff=False)
menubar.add_cascade(label = '設置',menu = filemenu5) menubar.add_cascade(label = '設置',menu = filemenu5)
sitmenu = Menu(filemenu5,tearoff=False) sitmenu = Menu(filemenu5,tearoff=False)
@@ -3279,11 +3503,12 @@ def pyas_protect_init_cn():
pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg') pygame.mixer.music.load('Library/PYAS/Audio/Virusfound.ogg')
pygame.mixer.music.play() pygame.mixer.music.play()
else: else:
pyas_clear()
textPad.insert("insert", '恶意软件拦截失败: '+str(p.name())) textPad.insert("insert", '恶意软件拦截失败: '+str(p.name()))
except: except:
pass pass
except: except:
pass continue
#################################################################################### ####################################################################################
@@ -3447,6 +3672,7 @@ def pyas_file_scan_cn():
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_cn(file) pyas_scan_write_cn(file)
fts = 0 fts = 0
@@ -3518,6 +3744,7 @@ def pyas_scan_path_cn(path,rfp,rfn,fts):
root.update() root.update()
if str(function.name) in rfn: if str(function.name) in rfn:
fts = fts + 1 fts = fts + 1
PE.close(pe)
if fts != 0: if fts != 0:
pyas_scan_write_cn(str(fullpath)) pyas_scan_write_cn(str(fullpath))
fts = 0 fts = 0
@@ -3681,6 +3908,32 @@ def exe_analyze_md5_cn():
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_cn+'\n') textPad.insert("insert", none_file_cn+'\n')
def exe_analyze_sha1_cn():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha1(bytes).hexdigest();
textPad.insert("insert", 'SHA1: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_cn+'\n')
def exe_analyze_sha256_cn():
pyas_clear()
file = filedialog.askopenfilename()
if file != '':
with open(file,"rb") as f:
bytes = f.read()
readable_hash = sha256(bytes).hexdigest();
textPad.insert("insert", 'SHA256: '+str(readable_hash))
f.close()
else:
pyas_clear()
textPad.insert("insert", none_file_cn+'\n')
def exe_analyze_file_cn(): def exe_analyze_file_cn():
pyas_clear() pyas_clear()
file = filedialog.askopenfilename() file = filedialog.askopenfilename()
@@ -3689,6 +3942,7 @@ def exe_analyze_file_cn():
for section in pe.sections: for section in pe.sections:
root.update() root.update()
textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData) textPad.insert("insert", section.Name, hex(section.VirtualAddress),hex(section.Misc_VirtualSize), section.SizeOfRawData)
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_cn+'\n') textPad.insert("insert", none_file_cn+'\n')
@@ -3702,6 +3956,7 @@ def exe_analyze_function_cn():
for function in entry.imports: for function in entry.imports:
root.update() root.update()
textPad.insert("insert", str(function.name)+'\n') textPad.insert("insert", str(function.name)+'\n')
PE.close(pe)
else: else:
pyas_clear() pyas_clear()
textPad.insert("insert", none_file_cn+'\n') textPad.insert("insert", none_file_cn+'\n')
@@ -3797,6 +4052,7 @@ def find_files_init_cn():
def find_files_info_cn(ffile): def find_files_info_cn(ffile):
try: try:
fss = 0 fss = 0
start = 0
findfile_cn('A:/',ffile,fss,start) findfile_cn('A:/',ffile,fss,start)
findfile_cn('B:/',ffile,fss,start) findfile_cn('B:/',ffile,fss,start)
findfile_cn('C:/',ffile,fss,start) findfile_cn('C:/',ffile,fss,start)
@@ -3826,8 +4082,11 @@ def find_files_info_cn(ffile):
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8') ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
fe = ft.read() fe = ft.read()
ft.close() ft.close()
ft = open('Library/PYAS/Temp/PYASF.tmp','r',encoding='utf-8')
lines = len(ft.readlines())
ft.close()
pyas_clear() pyas_clear()
textPad.insert("insert", '''寻找结果:\n'''+pyas_divider+'\n'+str(fe)) textPad.insert("insert", '寻找结果: ('+str(int(lines/3))+' 项)\n'+pyas_divider+'\n'+str(fe))
os.remove('Library/PYAS/Temp/PYASF.tmp') os.remove('Library/PYAS/Temp/PYASF.tmp')
except: except:
pass pass
@@ -4091,7 +4350,7 @@ def system_disk_clean_cn():
pyas_clear() pyas_clear()
textPad.insert("insert",cn_app_use) textPad.insert("insert",cn_app_use)
root.update() root.update()
os.system('cleanmgr /autoclean') os.system('cleanmgr')
pyas_clear() pyas_clear()
def change_user_password_init_cn(): def change_user_password_init_cn():
@@ -4604,6 +4863,54 @@ def fixlimit_cn():
pyas_clear() pyas_clear()
textPad.insert("insert", cn_failed+'\n'+pyas_divider+'\n'+str(e)) textPad.insert("insert", cn_failed+'\n'+pyas_divider+'\n'+str(e))
def open_cmd_cn():
pyas_clear()
textPad.insert("insert",cn_app_use)
root.update()
run = subprocess.call('start cmd.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", cn_success)
else:
pyas_clear()
textPad.insert("insert", cn_failed)
def open_regedit_cn():
pyas_clear()
textPad.insert("insert",cn_app_use)
root.update()
run = subprocess.call('regedit.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", cn_success)
else:
pyas_clear()
textPad.insert("insert", cn_failed)
def open_taskmgr_cn():
pyas_clear()
textPad.insert("insert",cn_app_use)
root.update()
run = subprocess.call('taskmgr.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", cn_success)
else:
pyas_clear()
textPad.insert("insert", cn_failed)
def open_powershell_cn():
pyas_clear()
textPad.insert("insert",cn_app_use)
root.update()
run = subprocess.call('start powershell.exe',shell=True)
if run == 0:
pyas_clear()
textPad.insert("insert", cn_success)
else:
pyas_clear()
textPad.insert("insert", cn_failed)
################################################################################ ################################################################################
#關於 #關於
@@ -4700,6 +5007,14 @@ def simplified_chinese():
sub2menu.add_command(label = '关闭安全模式',command = close_safe_Mode_cn) sub2menu.add_command(label = '关闭安全模式',command = close_safe_Mode_cn)
sub2menu.add_separator() sub2menu.add_separator()
sub2menu.add_command(label = '系统版本资讯',command = computer_info_cn) sub2menu.add_command(label = '系统版本资讯',command = computer_info_cn)
sysapp = Menu(filemenu3,tearoff=False)###
filemenu3.add_cascade(label='系统应用', menu=sysapp, underline=0)
sysapp.add_command(label = '开启工作管理员',command = open_taskmgr_cn)
sysapp.add_separator()
sysapp.add_command(label = '开启注册表编辑器',command = open_regedit_cn)
sysapp.add_separator()
sysapp.add_command(label = '开启命令提示字符',command = open_cmd_cn)
sysapp.add_command(label = '开启 PowerShell',command = open_powershell_cn)###
insmenu = Menu(filemenu3,tearoff=False) insmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='隐私工具', menu=insmenu, underline=0) filemenu3.add_cascade(label='隐私工具', menu=insmenu, underline=0)
insmenu.add_command(label = '相机隐私检测',command = camera_check_cn) insmenu.add_command(label = '相机隐私检测',command = camera_check_cn)
@@ -4720,14 +5035,17 @@ def simplified_chinese():
submenu.add_command(label = '重制系统网络',command = reset_network_cn) submenu.add_command(label = '重制系统网络',command = reset_network_cn)
devmenu = Menu(filemenu3,tearoff=False) devmenu = Menu(filemenu3,tearoff=False)
filemenu3.add_cascade(label='开发工具', menu=devmenu, underline=0) filemenu3.add_cascade(label='开发工具', menu=devmenu, underline=0)
devmenu.add_command(label = '在线挡案分析',command = input_virustotal_scan_cn)
devmenu.add_separator()
devmenu.add_command(label = '自订 REG 指令',command = input_custom_regedit_command_cn) devmenu.add_command(label = '自订 REG 指令',command = input_custom_regedit_command_cn)
devmenu.add_command(label = '自订 CMD 指令',command = input_custom_cmd_command_cn) devmenu.add_command(label = '自订 CMD 指令',command = input_custom_cmd_command_cn)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = '分析 EXE 哈希',command = exe_analyze_md5_cn)
devmenu.add_command(label = '分析 EXE 位元',command = exe_analyze_file_cn) devmenu.add_command(label = '分析 EXE 位元',command = exe_analyze_file_cn)
devmenu.add_command(label = '分析 EXE 函数',command = exe_analyze_function_cn) devmenu.add_command(label = '分析 EXE 函数',command = exe_analyze_function_cn)
devmenu.add_separator() devmenu.add_separator()
devmenu.add_command(label = '在线挡案分析',command = input_virustotal_scan_cn) devmenu.add_command(label = '分析 EXE MD5 哈希',command = exe_analyze_md5_cn)
devmenu.add_command(label = '分析 EXE SHA1 哈希',command = exe_analyze_sha1_cn)
devmenu.add_command(label = '分析 EXE SHA256 哈希',command = exe_analyze_sha256_cn)
filemenu5 = Menu(menubar,tearoff=False) filemenu5 = Menu(menubar,tearoff=False)
menubar.add_cascade(label = '设置',menu = filemenu5) menubar.add_cascade(label = '设置',menu = filemenu5)
sitmenu = Menu(filemenu5,tearoff=False) sitmenu = Menu(filemenu5,tearoff=False)