diff --git a/Other/ProcDOT/ProcDOT - 1.22 (Build 57).7z b/Other/ProcDOT/ProcDOT - 1.22 (Build 57).7z
new file mode 100644
index 0000000..7847a74
Binary files /dev/null and b/Other/ProcDOT/ProcDOT - 1.22 (Build 57).7z differ
diff --git a/Updater/tools.ini b/Updater/tools.ini
index 138b1ed..f253f22 100644
--- a/Updater/tools.ini
+++ b/Updater/tools.ini
@@ -231,6 +231,16 @@ local_version = 1.7.0
re_version = ]*>v(.*?)
re_download = "(.*?/floss-(?:\S+)-windows.zip)"
+[ProcDOT]
+folder = Other\ProcDOT
+url = https://www.procdot.com/downloadprocdotbinaries.htm
+update_url = https://www.procdot.com/
+update_file_pass = procdot
+from = web
+local_version = 1.22 (Build 57)
+re_version = ]*>Latest stable build: (.*?)
+re_download = href="(.*?/procdot_(?:\S+)_windows.zip)
+
[Windows Kernel Explorer]
folder = Rootkits Detector\Windows Kernel Explorer
url = https://github.com/AxtMueller/Windows-Kernel-Explorer
diff --git a/Updater/updater.py b/Updater/updater.py
index f0070d7..4c5bcc5 100644
--- a/Updater/updater.py
+++ b/Updater/updater.py
@@ -74,7 +74,8 @@ def update_tool(name):
# processing file
print('{0}: processing file'.format(name))
unpack_path = os.path.join(updates_path, file_info[0])
- unpack(file_path, file_info, unpack_path)
+ update_file_pass = config.get(name, 'update_file_pass', fallback=None)
+ unpack(file_path, file_info[1], unpack_path, update_file_pass)
repack(name, unpack_path, latest_version)
# end!
@@ -146,13 +147,16 @@ def download(name, url, download_path):
return file_path
-def unpack(file_path, file_info, unpack_path):
- if file_info[1] == '.zip':
- with zipfile.ZipFile(file_path, 'r') as compressed:
- compressed.extractall(unpack_path)
+def unpack(file_path, file_ext, unpack_path, file_pass):
+ if file_ext == '.zip':
+ if file_pass:
+ file_pass = bytes(file_pass, 'utf-8')
- elif file_info[1] == '.7z':
- with py7zr.SevenZipFile(file_path, 'r') as compressed:
+ with zipfile.ZipFile(file_path, 'r') as compressed:
+ compressed.extractall(unpack_path, pwd=file_pass)
+
+ elif file_ext == '.7z':
+ with py7zr.SevenZipFile(file_path, 'r', password=file_pass) as compressed:
compressed.extractall(unpack_path)
else: