import ctypes
import random
import re
import string
import subprocess
import sys
import threading
from zipfile import ZipFile
from checkReg.Logger import *
import chardet
from checkReg.regOPT import *
import win32api, win32con
import os
try:
import xml.etree.cElementTree as et
except ImportError:
import xml.etree.ElementTree as et
REG_FLAGS = win32con.WRITE_OWNER | win32con.KEY_WOW64_64KEY | win32con.KEY_ALL_ACCESS
def readXML(filename,find):
try:
xml = et.parse(filename)
root = xml.getroot()
SNode = root.find(find)
return SNode.text
except Exception:
return False
def get_REG_PATH(path):
"""返回当前路径下所有reg文件"""
ini = []
reg_name = []
REG_PATH = []
if os.path.exists(path):
all_files = os.listdir(path) # 查找当前路径下所有文件和目录,存放进all_files列表
for eachfile in all_files:
suffix = eachfile.split(".")
suffix = suffix[-1]
if suffix == "reg":
de_path = os.path.join(path, eachfile)
if os.path.isfile(de_path):
ini.append(de_path)
for i in range(len(ini)):
reg_name.append(os.path.basename(ini[i]))
with open(ini[i], mode='rb') as file:
temp = []
try:
data = file.readline()
f_charInfo = chardet.detect(data)
Encoding = f_charInfo['encoding']
if Encoding == "TIS-620":
pass
elif Encoding == None:
pass
elif Encoding != None:
file = open(ini[i], mode="r", encoding=Encoding)
data = file.readlines()
for abc in range(len(data)):
line = str(data[abc])
key = re.findall("\[(.+)\]",line)
if key:
temp.append(key)
# print(REG_PATH)
s_name = re.findall("\"([a-zA-Z\d@]*)\"=",line)
# print(type(s_name))
if s_name:
s_name = "".join(s_name)
lengthh = len(temp)
# print(lengthh)
temp[lengthh-1].append(s_name)
# s_values = re.findall("")
# print(x)
REG_PATH.append(temp)
finally:
file.close()
return reg_name,REG_PATH
def get_REG_PATH1(path):
"""返回当前路径下所有reg文件"""
ini = []
reg_name = []
REG_PATH = []
if os.path.exists(path):
all_files = os.listdir(path) # 查找当前路径下所有文件和目录,存放进all_files列表
for eachfile in all_files:
suffix = eachfile.split(".")
suffix = suffix[-1]
if suffix == "reg":
de_path = os.path.join(path, eachfile)
if os.path.isfile(de_path):
ini.append(de_path)
for i in ini:
reg_name.append(os.path.basename(i))
with open(i, mode='rb') as file:
try:
data = file.readline()
f_charInfo = chardet.detect(data)
Encoding = f_charInfo['encoding']
if Encoding == "TIS-620":
pass
elif Encoding == None:
pass
elif Encoding != None:
file = open(i, mode="r", encoding=Encoding)
data = file.read()
data = str(data)
x = re.findall("\[(.+)\]",data)
REG_PATH.append(x)
# print(x)
finally:
file.close()
return reg_name,REG_PATH
def is_admin():
"""管理员权限提权"""
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
def execute_cmd(cmd,flag=0):
proc = subprocess.Popen(
cmd,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
stdin=subprocess.PIPE
)
proc.stdin.close()
proc.wait()
result = proc.stdout.read().decode('gbk')
# return result
if flag == 0:
return result
elif flag == 1:
if re.search("通知模式",result):
Logger.infoLog("System activation detection: Failed")
return win32api.MessageBox(0, result, "系统未激活",win32con.MB_OK|win32con.MB_ICONWARNING)
else:
return Logger.infoLog("System activation detection: Passed")
def get_Scaling():
"""获取缩放比"""
find1 = RegEdit(str("HKEY_CURRENT_USER"), str(r"Control Panel\Desktop"))
Win8DpiScaling = find1.get_value("Win8DpiScaling")
LogPixels = find1.get_value("LogPixels")
if Win8DpiScaling[0] == 1 and LogPixels[0] == 96:
returnData = "Scaling Check: Passed"
Logger.infoLog("Scaling Check: Passed")
elif Win8DpiScaling[0] == 1 and LogPixels[0] != 96:
curDPI = round(LogPixels[0]/0.96)
notice = "检测到自定义缩放比未设置正确\n当前缩放比为:%s\n请将其设置为:100" % str(curDPI)
confirm = win32api.MessageBox(0, notice, "缩放比未设置", win32con.MB_OKCANCEL | win32con.MB_ICONWARNING)
returnData = "Scaling Check: Failed"
Logger.infoLog(returnData)
Logger.infoLog(notice)
if confirm == 1:
find1.change_value("LogPixels","REG_DWORD",96)
confirm1 = win32api.MessageBox(0, "缩放比设置成功,注销后生效\n是否立即注销?", "注销",
win32con.MB_OKCANCEL | win32con.MB_ICONWARNING)
if confirm1 == 1:
os.system("shutdown -l")
elif confirm == 2:
Logger.debugLog("Scaling Check: Canceled by User")
else:
confirmm = win32api.MessageBox(0, "自定义缩放比例未设置\n是否将其设置为100?", "缩放比未设置", win32con.MB_OKCANCEL | win32con.MB_ICONWARNING)
Logger.infoLog("Scaling Check: Failed")
returnData = "Scaling Check: Failed"
Logger.infoLog("Scaling Check: Custom scale not set")
if confirmm == 1:
find1.change_value("Win8DpiScaling","REG_DWORD",1)
find1.change_value("LogPixels","REG_DWORD",96)
confirm1 = win32api.MessageBox(0, "缩放比设置成功,注销后生效\n是否立即注销?", "注销",
win32con.MB_OKCANCEL | win32con.MB_ICONWARNING)
if confirm1 == 1:
os.system("shutdown -l")
elif confirmm == 2:
Logger.debugLog("Scaling Check: Canceled by User")
return returnData
class MyThread(threading.Thread):
def __init__(self, func, args):
super(MyThread, self).__init__()
self.func = func
self.args = args
def run(self):
self.result = self.func(*self.args)
def get_result(self):
try:
return self.result
except Exception:
return None
def check_reg(REG_PATH,cato,bat_path,path):
noticeString = ""
not_reg = []
for i in range(len(REG_PATH)):
flag = 0
for x in REG_PATH[i]:
length = len(x)
if length == 1:
ROOT = "".join(x).split("\\")[0]
reg_path = "".join(x).split("\\")[1::]
reg_path = '\\'.join(reg_path)
find = RegEdit(str(ROOT), str(reg_path))
result = find.check_key()
if result == False:
flag = 1
没有合适的资源?快使用搜索试试~ 我知道了~
checkReg.zip
共51个文件
reg:30个
py:5个
rar:3个
需积分: 5 0 下载量 184 浏览量
2023-11-11
16:42:54
上传
评论
收藏 73.19MB ZIP 举报
温馨提示
checkReg
资源推荐
资源详情
资源评论
收起资源包目录
checkReg.zip (51个子文件)
__init__.py 0B
regOPT.py 5KB
DetectImage1.0.rar 17.34MB
DetectImage2.0+64位
reg
reg_all.bat 606B
swvir_service.reg 2KB
swvad_service.reg 1KB
secondDisplay.reg 338B
NvFBC.reg 276B
swvad_shebei.reg 11KB
vigembus_service.reg 2KB
swvir_shebei.reg 11KB
swvir_class.reg 806B
Arp.reg 304B
swusb_service.reg 2KB
vigembus_shebei.reg 1KB
swusb_shebei.reg 11KB
swvad_class.reg 4KB
swusb_class.reg 806B
vigembus_class.reg 1KB
tools
EFI.zip 12.36MB
vDiskBusDump.sys 21KB
checkRegs.exe 6.56MB
config.xml 216B
DetectImage2.0+64位.rar 17.82MB
app_store_32px.ico 4KB
Logger.py 901B
log.py 825B
checkRegs.spec 1KB
checkRegs.exe 6.56MB
checkRegs.py 14KB
config.xml 207B
DetectImage
reg
reg_all.bat 606B
swvir_service.reg 2KB
swvad_service.reg 1KB
secondDisplay.reg 338B
NvFBC.reg 276B
swvad_shebei.reg 11KB
vigembus_service.reg 2KB
swvir_shebei.reg 11KB
swvir_class.reg 806B
Arp.reg 304B
swusb_service.reg 2KB
vigembus_shebei.reg 1KB
swusb_shebei.reg 11KB
swvad_class.reg 4KB
swusb_class.reg 806B
vigembus_class.reg 1KB
tools
EFI.zip 12.36MB
vDiskBusDump.sys 21KB
reg.rar 10KB
config.xml 216B
共 51 条
- 1
资源评论
木头人123。
- 粉丝: 1097
- 资源: 97
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功