v1.6.1 - Thieves Build
Main Kit * Added SecureBoot check to system checklists * Expanded System Checklist * Added SecureBoot check * Enables RegBack * Enables SystemRestore * Windows 10 Explorer configuration * Unmutes audio before launching XMPlay * New System Checklist (HW) * Reduced version of the System Checklist for HW check-ins * Enables RegBack & SystemRestore * System information backups * System summary * No other changes are made (i.e. Cortana, ClassicStart, etc) * New WiFi Stability Test * New uBlock Origin installation method for Firefox * It is installed via the registry, similar to Google Chrome * It is now installed for existing profiles * Expanded post-d7II cleanup * Improved ESET installation script * Should result in a fully 1201-configured installation * Updated tools * Added Macs Fan Control * Added Furmark * Added O&O ShutUP10 (includes minimal preset to disable telemetry) * Added WinAIO presets * Replaced TreeSizeFree with WizTree * Updated Python to 3.7 * Disabled Caffeine (see GitHub issues #64 & #65) * Removed Adobe Reader from Install SW Bundle * Removed Visual C++ 2008 runtimes * WizardKit crashes are now uploaded to 1201's Nextcloud server * Fixed Gogs issues #4, #5, #7, #8, #10, #13, #14, #17, #18, & #21 * Fixed GitHub issues #51, #56, & #60 * Various other minor bug fixes Linux * Added osTicket integration * Enter the ticket ID and verify against the customer name * Prime95 CPU tests are posted along with the final temps * The temperature box is not filled out due to sensor variability * Drive results are posted for each drive tested * NVMe/SMART values * SMART built-in short-test (if available) * badblocks surface scan * I/O Benchmarks (including a PNG render of the graph) * Used space information for all volumes (only if all tests pass) * The pass/fail box is checked as appropriate * osTicket integration can be disabled per session if desired * Added AMD CPU microcode and updated Intel CPU microcode * Includes current Meltdown/Spectre mitigations * Added ddrescue-tui, a wrapper for ddrescue * Can be used to perform device-to-device and device-to-image clones * Can perform all three passes automatically (if certain thresholds are met) * Helps enforce safe usage of ddrescue to reduce drive stress * Shows SMART data while running (updates every 5 minutes) * Shows SystemD journal while running * NOTE: Please read the manual before adjusting advanced settings * Improved network support for some Broadcom network devices * Improved I/O Benchmark test in HW-Diags * Checks if the device is a SSD and uses the higher thresholds if so * Shows current read speed with graph while running * Speeds under 65 Mb/s are red * Speeds under 135 Mb/s are yellow * Speeds above 750 Mb/s are green * Shows graph along with AVG (MIN, MAX) in summary report * Only reads a portion of the drive, spread out evenly, to speedup the test * (It reads either 10 Gb or 1% of the drive, whichever is larger) * Added SMART attribute 199/C7 as an important value in HW-Diags * If present and non-zero it prompts for an override to continue testing * This includes the question "Have you tried swapping the drive cable?" * The hostname is now set using the current IP and a reverse DNS lookup * Useful for test-stations with static DHCP leases and DNS entries * Added option to resume previous hw-diags `tmux` session * This allows you to more easily "move" the session to/from a SSH session * Added a VNC server which runs at startup (unless booting CLI/nox) * mount-all-volumes now supports non-encrypted CoreStorage volumes * Added _limited_ support for HiDPI devices * Fixed WizardKit UFD detection * The should be auto-excluded from HW-Diags again * Restored missing photorec-sort script * Removed HDT from legacy boot menu (see GitHub issue #57) * Fixed issue where the IP address was not shown in Conky * Fixed Gogs issues #1, #2, #3, #8, #9, #12, #15, #19, #20, & #22 * Fixed GitHub issues #39, #41, #43, #44, #45, #46, #47, #48, #49, #50, #52, #53, #54, #55, & #61 * Various other minor bug fixes WinPE * Updated Python to 3.7 Misc * HDT has been disabled due to an upstream bug
This commit is contained in:
commit
31b029c828
304 changed files with 16940 additions and 1110 deletions
36
.bin/1201_Root_CA.crt
Normal file
36
.bin/1201_Root_CA.crt
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIGTzCCBDegAwIBAgIBfDANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMCVVMx
|
||||||
|
DzANBgNVBAgTBk9yZWdvbjERMA8GA1UEBxMIUG9ydGxhbmQxHTAbBgNVBAoTFDEy
|
||||||
|
MDEgQ29tcHV0ZXIgUmVwYWlyMSMwIQYDVQQLExoxMjAxIENlcnRpZmljYXRlIEF1
|
||||||
|
dGhvcml0eTEVMBMGA1UEAxMMMTIwMSBSb290IENBMSIwIAYJKoZIhvcNAQkBFhNt
|
||||||
|
YW5hZ2VtZW50QDEyMDEuY29tMB4XDTE4MDgyMDA2MDEwMFoXDTM4MDgyMDA2MDEw
|
||||||
|
MFowgbAxCzAJBgNVBAYTAlVTMQ8wDQYDVQQIEwZPcmVnb24xETAPBgNVBAcTCFBv
|
||||||
|
cnRsYW5kMR0wGwYDVQQKExQxMjAxIENvbXB1dGVyIFJlcGFpcjEjMCEGA1UECxMa
|
||||||
|
MTIwMSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFTATBgNVBAMTDDEyMDEgUm9vdCBD
|
||||||
|
QTEiMCAGCSqGSIb3DQEJARYTbWFuYWdlbWVudEAxMjAxLmNvbTCCAiIwDQYJKoZI
|
||||||
|
hvcNAQEBBQADggIPADCCAgoCggIBANGYohJk5/CC/p14R7EpnhdEUF7Wvlnt8yuF
|
||||||
|
dtuyStlIGkLxPMlj9hQfoLDplQqlKBefTaI3WwrI/Hndso+jStLKgtRWRdyNB34K
|
||||||
|
AWqT04zXYGicdi3fqaMhEC4SPyX1tRXU2e9kjtIJ21AZx2F40NUjfOMKLVymZgXm
|
||||||
|
gkG1oA/BSzE8vIidrd/lJPwo0u+EYFa87y+9SHS93Ze1AVoTVqUzSMkjqt+6YIzJ
|
||||||
|
4XBD7UBvps0Mnd18HMUlXHFXusUL1K921W3wDVcMlNIIA8MJjQk+aVS/1EGSn+81
|
||||||
|
C+r40x64lYkyh0ZUAHkVXUC/BUfa0SKx1Nfa4mSvtyPnUCb7Dir8MkTDKgopGCok
|
||||||
|
KmW+VvE2H8AEPCbcctFmhdip19laYxzyDhZ5wiQN6AOg64cWvDf6/uT9hyPvxkj1
|
||||||
|
ps5vWElryzawTE7h1BI8liMqwsG1Y7cc6D0PABxPsp4iR8pde0oZtpLnEvejRodo
|
||||||
|
zz3BGvZjq+pHtRMjL+yiDtdAL+K+7/e7gNCQBIGsphahWIOf7TczWVgMNclTNxl3
|
||||||
|
WZjKkOEs7j+prRTDvffV6H32+Tk5TwgMsfvnY4a37CkJ0L0d1JhWj9wO+gESfg3W
|
||||||
|
8yvt3hfcj3NOUMJWhJstqlIeX8dj7vVcMhjNvYJxabJmJgk+DNlHe55fXDGJ1CLO
|
||||||
|
E0EbRTyBAgMBAAGjcjBwMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFM+hXjFx
|
||||||
|
6BldZFBQW1Pn/Yp3vbw+MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcw
|
||||||
|
HgYJYIZIAYb4QgENBBEWD3hjYSBjZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsFAAOC
|
||||||
|
AgEALWcnu3auMSnSSF/kOiLvJ4RAnHZebGYNcUWM14u1K1/XtTB7AFzQIHX7BcDH
|
||||||
|
m/z4UEyhl9EdR5Bgf2Szuk+8+LyGqcdAdbPoK+bmcwwL8lufDnlIYBThKIBfU2Xw
|
||||||
|
vw41972B+HH5r1TZXve1EdJaLyImbxmq5s41oH7djGC+sowtyGuVqP7RBguXBGiJ
|
||||||
|
At1yfdPWVaxLmE8QFknkIvpgTmELpxasTfvgnQBenA3Ts0Z2hwN4796hLbRzGsb8
|
||||||
|
4hKWAfQDP0klzXKRRyVeAueXxj/FcNZilYxv15MqMc4qrUiW0hXHluQM1yceNjNZ
|
||||||
|
SE4Igi1Ap71L4PpgkHIDfZD908UexGGkql+p4EWrpnXUYWTa0sHg1bFKQntgpyFg
|
||||||
|
86Ug0Q7ZNhImENzeigZknL0ceIdaNUCs7UPrkqpUSJR2yujp1JC3tX1LgKZw8B3J
|
||||||
|
fQx/8h3zzNuz5dVtr1wUJaUD0nGhMIRBEXb2t4jupEISSTN1pkHPcbNzhAQXjVUA
|
||||||
|
CJxnnz3jmyGsNCoQf7NWfaN6RSRTWehsC6m7JvPvoU2EZoQkSlNOv4xZuFpEx0u7
|
||||||
|
MFDtC1cSGPH7YwYXPVc45xAMC6Ni8mvq93oT89XZNHIqE8/T8aPHLwYFgu1b1r/A
|
||||||
|
L8oMEnG5s8tG3n0DcFoOYsaIzVeP0r7B7e3zKui6DQLuu9E=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -150,7 +150,6 @@ goto Exit
|
||||||
:LaunchOffice
|
:LaunchOffice
|
||||||
call "%bin%\Scripts\init_client_dir.cmd" /Office
|
call "%bin%\Scripts\init_client_dir.cmd" /Office
|
||||||
set "_odt=False"
|
set "_odt=False"
|
||||||
if %L_PATH% equ 2013 (set "_odt=True")
|
|
||||||
if %L_PATH% equ 2016 (set "_odt=True")
|
if %L_PATH% equ 2016 (set "_odt=True")
|
||||||
if "%_odt%" == "True" (
|
if "%_odt%" == "True" (
|
||||||
goto LaunchOfficeODT
|
goto LaunchOfficeODT
|
||||||
|
|
@ -280,9 +279,9 @@ rem Create VB script
|
||||||
mkdir "%bin%\tmp" 2>nul
|
mkdir "%bin%\tmp" 2>nul
|
||||||
echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs"
|
echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs"
|
||||||
if defined L_NCMD (
|
if defined L_NCMD (
|
||||||
echo UAC.ShellExecute "%PYTHON%", """%script%""", "", "runas", 3 >> "%bin%\tmp\Elevate.vbs"
|
echo UAC.ShellExecute "%PYTHON%", """%script%"" %L_ARGS%", "", "runas", 3 >> "%bin%\tmp\Elevate.vbs"
|
||||||
) else (
|
) else (
|
||||||
echo UAC.ShellExecute "%CON%", "-run ""%PYTHON%"" ""%script%"" -new_console:n", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
|
echo UAC.ShellExecute "%CON%", "-run ""%PYTHON%"" ""%script%"" %L_ARGS% -new_console:n", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
|
||||||
)
|
)
|
||||||
|
|
||||||
rem Run
|
rem Run
|
||||||
|
|
@ -291,9 +290,9 @@ goto Exit
|
||||||
|
|
||||||
:LaunchPyScriptUser
|
:LaunchPyScriptUser
|
||||||
if defined L_NCMD (
|
if defined L_NCMD (
|
||||||
start "" "%PYTHON%" "%script%" || goto ErrorUnknown
|
start "" "%PYTHON%" "%script%" %L_ARGS% || goto ErrorUnknown
|
||||||
) else (
|
) else (
|
||||||
start "" "%CON%" -run "%PYTHON%" "%script%" -new_console:n || goto ErrorUnknown
|
start "" "%CON%" -run "%PYTHON%" "%script%" %L_ARGS% -new_console:n || goto ErrorUnknown
|
||||||
)
|
)
|
||||||
goto Exit
|
goto Exit
|
||||||
|
|
||||||
|
|
@ -333,7 +332,7 @@ echo. Executable Working Dir Program Args [L_7ZIP] [L_ELEV] [L__CLI]
|
||||||
echo. Folder Folder '.' [L_7ZIP]
|
echo. Folder Folder '.' [L_7ZIP]
|
||||||
echo. Office Year Product [L_7ZIP]
|
echo. Office Year Product [L_7ZIP]
|
||||||
echo. PSScript Scripts Script [L_7ZIP] [L_ELEV] [L_NCMD]
|
echo. PSScript Scripts Script [L_7ZIP] [L_ELEV] [L_NCMD]
|
||||||
echo. PyScript Scripts Script [L_7ZIP] [L_ELEV] [L_NCMD]
|
echo. PyScript Scripts Script Args [L_7ZIP] [L_ELEV] [L_NCMD]
|
||||||
echo. QuickBooks Year Product [L_7ZIP]
|
echo. QuickBooks Year Product [L_7ZIP]
|
||||||
echo.
|
echo.
|
||||||
echo.L_7ZIP: Extra arguments for 7-Zip (in the :ExtractCBin label)
|
echo.L_7ZIP: Extra arguments for 7-Zip (in the :ExtractCBin label)
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ call :SetTitle Launcher
|
||||||
rem EXTRA_CODE
|
rem EXTRA_CODE
|
||||||
|
|
||||||
:DefineLaunch
|
:DefineLaunch
|
||||||
:: See %bin%\SCripts\Launch.cmd for details under :Usage label
|
:: See %bin%\Scripts\Launch.cmd for details under :Usage label
|
||||||
set L_TYPE=
|
set L_TYPE=
|
||||||
set L_PATH=
|
set L_PATH=
|
||||||
set L_ITEM=
|
set L_ITEM=
|
||||||
|
|
|
||||||
|
|
@ -557,7 +557,9 @@ mount "${WINPE_ISO}" /mnt/WinPE -r >> "${LOG_FILE}" 2>&1
|
||||||
echo "Copying Linux files..."
|
echo "Copying Linux files..."
|
||||||
rsync ${RSYNC_ARGS} /mnt/Linux/* /mnt/Dest/ >> "${LOG_FILE}" 2>&1
|
rsync ${RSYNC_ARGS} /mnt/Linux/* /mnt/Dest/ >> "${LOG_FILE}" 2>&1
|
||||||
sed -i "s/${ISO_LABEL}/${UFD_LABEL}/" /mnt/Dest/EFI/boot/refind.conf
|
sed -i "s/${ISO_LABEL}/${UFD_LABEL}/" /mnt/Dest/EFI/boot/refind.conf
|
||||||
|
sed -i "s/#UFD#//" /mnt/Dest/EFI/boot/refind.conf
|
||||||
sed -i "s/${ISO_LABEL}/${UFD_LABEL}/" /mnt/Dest/arch/boot/syslinux/*cfg
|
sed -i "s/${ISO_LABEL}/${UFD_LABEL}/" /mnt/Dest/arch/boot/syslinux/*cfg
|
||||||
|
sed -i "s/#UFD#//" /mnt/Dest/arch/boot/syslinux/*cfg
|
||||||
|
|
||||||
echo "Copying WinPE files..."
|
echo "Copying WinPE files..."
|
||||||
rsync ${RSYNC_ARGS} /mnt/WinPE/{Boot,bootmgr{,.efi},en-us,sources} /mnt/Dest/ >> "${LOG_FILE}" 2>&1
|
rsync ${RSYNC_ARGS} /mnt/WinPE/{Boot,bootmgr{,.efi},en-us,sources} /mnt/Dest/ >> "${LOG_FILE}" 2>&1
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ $Bin = (Get-Item $WD).Parent.FullName
|
||||||
$Root = (Get-Item $Bin -Force).Parent.FullName
|
$Root = (Get-Item $Bin -Force).Parent.FullName
|
||||||
$Temp = "$Bin\tmp"
|
$Temp = "$Bin\tmp"
|
||||||
$System32 = "{0}\System32" -f $Env:SystemRoot
|
$System32 = "{0}\System32" -f $Env:SystemRoot
|
||||||
|
$SysWOW64 = "{0}\SysWOW64" -f $Env:SystemRoot
|
||||||
Push-Location "$WD"
|
Push-Location "$WD"
|
||||||
$Host.UI.RawUI.BackgroundColor = "black"
|
$Host.UI.RawUI.BackgroundColor = "black"
|
||||||
$Host.UI.RawUI.ForegroundColor = "white"
|
$Host.UI.RawUI.ForegroundColor = "white"
|
||||||
|
|
@ -82,25 +83,25 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
DownloadFile -Path $Path -Name "7z-extra.7z" -Url "https://www.7-zip.org/a/7z1805-extra.7z"
|
DownloadFile -Path $Path -Name "7z-extra.7z" -Url "https://www.7-zip.org/a/7z1805-extra.7z"
|
||||||
|
|
||||||
# ConEmu
|
# ConEmu
|
||||||
$Url = "https://github.com/Maximus5/ConEmu/releases/download/v18.05.06/ConEmuPack.180506.7z"
|
$Url = "https://github.com/Maximus5/ConEmu/releases/download/v18.06.26/ConEmuPack.180626.7z"
|
||||||
DownloadFile -Path $Path -Name "ConEmuPack.7z" -Url $Url
|
DownloadFile -Path $Path -Name "ConEmuPack.7z" -Url $Url
|
||||||
|
|
||||||
# Notepad++
|
# Notepad++
|
||||||
$Url = "https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.bin.minimalist.7z"
|
$Url = "https://notepad-plus-plus.org/repository/7.x/7.5.8/npp.7.5.8.bin.minimalist.7z"
|
||||||
DownloadFile -Path $Path -Name "npp.7z" -Url $Url
|
DownloadFile -Path $Path -Name "npp.7z" -Url $Url
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
$Url = "https://www.python.org/ftp/python/3.6.5/python-3.6.5-embed-win32.zip"
|
$Url = "https://www.python.org/ftp/python/3.7.0/python-3.7.0-embed-win32.zip"
|
||||||
DownloadFile -Path $Path -Name "python32.zip" -Url $Url
|
DownloadFile -Path $Path -Name "python32.zip" -Url $Url
|
||||||
$Url = "https://www.python.org/ftp/python/3.6.5/python-3.6.5-embed-amd64.zip"
|
$Url = "https://www.python.org/ftp/python/3.7.0/python-3.7.0-embed-amd64.zip"
|
||||||
DownloadFile -Path $Path -Name "python64.zip" -Url $Url
|
DownloadFile -Path $Path -Name "python64.zip" -Url $Url
|
||||||
|
|
||||||
# Python: psutil
|
# Python: psutil
|
||||||
$DownloadPage = "https://pypi.org/project/psutil/"
|
$DownloadPage = "https://pypi.org/project/psutil/"
|
||||||
$RegEx = "href=.*-cp36-cp36m-win32.whl"
|
$RegEx = "href=.*-cp37-cp37m-win32.whl"
|
||||||
$Url = FindDynamicUrl $DownloadPage $RegEx
|
$Url = FindDynamicUrl $DownloadPage $RegEx
|
||||||
DownloadFile -Path $Path -Name "psutil32.whl" -Url $Url
|
DownloadFile -Path $Path -Name "psutil32.whl" -Url $Url
|
||||||
$RegEx = "href=.*-cp36-cp36m-win_amd64.whl"
|
$RegEx = "href=.*-cp37-cp37m-win_amd64.whl"
|
||||||
$Url = FindDynamicUrl $DownloadPage $RegEx
|
$Url = FindDynamicUrl $DownloadPage $RegEx
|
||||||
DownloadFile -Path $Path -Name "psutil64.whl" -Url $Url
|
DownloadFile -Path $Path -Name "psutil64.whl" -Url $Url
|
||||||
|
|
||||||
|
|
@ -113,12 +114,25 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
DownloadFile -Path $Path -Name $Name -Url $Url
|
DownloadFile -Path $Path -Name $Name -Url $Url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Visual C++ Runtimes
|
||||||
|
$Url = "https://aka.ms/vs/15/release/vc_redist.x86.exe"
|
||||||
|
DownloadFile -Path $Path -Name "vcredist_x86.exe" -Url $Url
|
||||||
|
$Url = "https://aka.ms/vs/15/release/vc_redist.x64.exe"
|
||||||
|
DownloadFile -Path $Path -Name "vcredist_x64.exe" -Url $Url
|
||||||
|
|
||||||
## Bail ##
|
## Bail ##
|
||||||
# If errors were encountered during downloads
|
# If errors were encountered during downloads
|
||||||
if ($DownloadErrors -gt 0) {
|
if ($DownloadErrors -gt 0) {
|
||||||
Abort
|
Abort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Install ##
|
||||||
|
# Visual C++ Runtimes
|
||||||
|
$ArgumentList = @("/install", "/passive", "/norestart")
|
||||||
|
Start-Process -FilePath "$Temp\vcredist_x86.exe" -ArgumentList $ArgumentList -Wait
|
||||||
|
Start-Process -FilePath "$Temp\vcredist_x64.exe" -ArgumentList $ArgumentList -Wait
|
||||||
|
Remove-Item "$Temp\vcredist*.exe"
|
||||||
|
|
||||||
## Extract ##
|
## Extract ##
|
||||||
# 7-Zip
|
# 7-Zip
|
||||||
Write-Host "Extracting: 7-Zip"
|
Write-Host "Extracting: 7-Zip"
|
||||||
|
|
@ -192,6 +206,13 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
Copy-Item -Path "$System32\vcruntime140.dll" -Destination "$Bin\Python\x64\vcruntime140.dll" -Force
|
||||||
|
Copy-Item -Path "$SysWOW64\vcruntime140.dll" -Destination "$Bin\Python\x32\vcruntime140.dll" -Force
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host (" ERROR: Failed to copy Visual C++ Runtime DLLs." ) -ForegroundColor "Red"
|
||||||
|
}
|
||||||
Remove-Item "$Temp\python*.zip"
|
Remove-Item "$Temp\python*.zip"
|
||||||
Remove-Item "$Temp\*.whl"
|
Remove-Item "$Temp\*.whl"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ $Date = Get-Date -UFormat "%Y-%m-%d"
|
||||||
$Host.UI.RawUI.BackgroundColor = "Black"
|
$Host.UI.RawUI.BackgroundColor = "Black"
|
||||||
$Host.UI.RawUI.ForegroundColor = "White"
|
$Host.UI.RawUI.ForegroundColor = "White"
|
||||||
$HostSystem32 = "{0}\System32" -f $Env:SystemRoot
|
$HostSystem32 = "{0}\System32" -f $Env:SystemRoot
|
||||||
|
$HostSysWOW64 = "{0}\SysWOW64" -f $Env:SystemRoot
|
||||||
$DISM = "{0}\DISM.exe" -f $Env:DISMRoot
|
$DISM = "{0}\DISM.exe" -f $Env:DISMRoot
|
||||||
#Enable TLS 1.2
|
#Enable TLS 1.2
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||||
|
|
@ -136,20 +137,19 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
@("bluescreenview32.zip", "http://www.nirsoft.net/utils/bluescreenview.zip"),
|
@("bluescreenview32.zip", "http://www.nirsoft.net/utils/bluescreenview.zip"),
|
||||||
@("bluescreenview64.zip", "http://www.nirsoft.net/utils/bluescreenview-x64.zip"),
|
@("bluescreenview64.zip", "http://www.nirsoft.net/utils/bluescreenview-x64.zip"),
|
||||||
# ConEmu
|
# ConEmu
|
||||||
@("ConEmuPack.7z", "https://github.com/Maximus5/ConEmu/releases/download/v18.05.06/ConEmuPack.180506.7z"),
|
@("ConEmuPack.7z", "https://github.com/Maximus5/ConEmu/releases/download/v18.06.26/ConEmuPack.180626.7z"),
|
||||||
# Fast Copy
|
# Fast Copy
|
||||||
@("fastcopy32.zip", "http://ftp.vector.co.jp/69/93/2323/FastCopy341.zip"),
|
@("fastcopy.zip", "http://ftp.vector.co.jp/70/64/2323/FastCopy354_installer.zip"),
|
||||||
@("fastcopy64.zip", "http://ftp.vector.co.jp/69/93/2323/FastCopy341_x64.zip"),
|
|
||||||
# HWiNFO
|
# HWiNFO
|
||||||
@("hwinfo.zip", "http://app.oldfoss.com:81/download/HWiNFO/hwi_582.zip"),
|
@("hwinfo.zip", "http://app.oldfoss.com:81/download/HWiNFO/hwi_588.zip"),
|
||||||
# Killer Network Drivers
|
# Killer Network Drivers
|
||||||
@(
|
@(
|
||||||
"killerinf.zip",
|
"killerinf.zip",
|
||||||
("http://www.killernetworking.com"+(FindDynamicUrl "http://www.killernetworking.com/driver-downloads/item/killer-drivers-inf" "Download Killer-Ethernet").replace('&', '&'))
|
("http://www.killernetworking.com"+(FindDynamicUrl "http://www.killernetworking.com/driver-downloads/item/killer-drivers-inf" "Download Killer-Ethernet").replace('&', '&'))
|
||||||
),
|
),
|
||||||
# Notepad++
|
# Notepad++
|
||||||
@("npp_x86.7z", "https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.bin.minimalist.7z"),
|
@("npp_x86.7z", "https://notepad-plus-plus.org/repository/7.x/7.5.8/npp.7.5.8.bin.minimalist.7z"),
|
||||||
@("npp_amd64.7z", "https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.bin.minimalist.x64.7z"),
|
@("npp_amd64.7z", "https://notepad-plus-plus.org/repository/7.x/7.5.8/npp.7.5.8.bin.minimalist.x64.7z"),
|
||||||
# NT Password Editor
|
# NT Password Editor
|
||||||
@("ntpwed.zip", "http://cdslow.org.ru/files/ntpwedit/ntpwed07.zip"),
|
@("ntpwed.zip", "http://cdslow.org.ru/files/ntpwedit/ntpwed07.zip"),
|
||||||
# Prime95
|
# Prime95
|
||||||
|
|
@ -159,16 +159,16 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
@("produkey32.zip", "http://www.nirsoft.net/utils/produkey.zip"),
|
@("produkey32.zip", "http://www.nirsoft.net/utils/produkey.zip"),
|
||||||
@("produkey64.zip", "http://www.nirsoft.net/utils/produkey-x64.zip"),
|
@("produkey64.zip", "http://www.nirsoft.net/utils/produkey-x64.zip"),
|
||||||
# Python
|
# Python
|
||||||
@("python32.zip", "https://www.python.org/ftp/python/3.6.5/python-3.6.5-embed-win32.zip"),
|
@("python32.zip", "https://www.python.org/ftp/python/3.7.0/python-3.7.0-embed-win32.zip"),
|
||||||
@("python64.zip", "https://www.python.org/ftp/python/3.6.5/python-3.6.5-embed-amd64.zip"),
|
@("python64.zip", "https://www.python.org/ftp/python/3.7.0/python-3.7.0-embed-amd64.zip"),
|
||||||
# Python: psutil
|
# Python: psutil
|
||||||
@(
|
@(
|
||||||
"psutil64.whl",
|
"psutil64.whl",
|
||||||
(FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp36-cp36m-win_amd64.whl")
|
(FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp37-cp37m-win_amd64.whl")
|
||||||
),
|
),
|
||||||
@(
|
@(
|
||||||
"psutil32.whl",
|
"psutil32.whl",
|
||||||
(FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp36-cp36m-win32.whl")
|
(FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp37-cp37m-win32.whl")
|
||||||
),
|
),
|
||||||
# Q-Dir
|
# Q-Dir
|
||||||
@("qdir32.zip", "https://www.softwareok.com/Download/Q-Dir_Portable.zip"),
|
@("qdir32.zip", "https://www.softwareok.com/Download/Q-Dir_Portable.zip"),
|
||||||
|
|
@ -178,6 +178,9 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
@("testdisk64.zip", "https://www.cgsecurity.org/testdisk-7.1-WIP.win64.zip"),
|
@("testdisk64.zip", "https://www.cgsecurity.org/testdisk-7.1-WIP.win64.zip"),
|
||||||
# VirtIO drivers
|
# VirtIO drivers
|
||||||
@("virtio-win.iso", "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso"),
|
@("virtio-win.iso", "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso"),
|
||||||
|
# Visual C++ Runtimes
|
||||||
|
@("vcredist_x86.exe", "https://aka.ms/vs/15/release/vc_redist.x86.exe"),
|
||||||
|
@("vcredist_x64.exe", "https://aka.ms/vs/15/release/vc_redist.x64.exe"),
|
||||||
# wimlib-imagex
|
# wimlib-imagex
|
||||||
@("wimlib32.zip", "https://wimlib.net/downloads/wimlib-1.12.0-windows-i686-bin.zip"),
|
@("wimlib32.zip", "https://wimlib.net/downloads/wimlib-1.12.0-windows-i686-bin.zip"),
|
||||||
@("wimlib64.zip", "https://wimlib.net/downloads/wimlib-1.12.0-windows-x86_64-bin.zip")
|
@("wimlib64.zip", "https://wimlib.net/downloads/wimlib-1.12.0-windows-x86_64-bin.zip")
|
||||||
|
|
@ -192,6 +195,13 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
Abort
|
Abort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Install ##
|
||||||
|
# Visual C++ Runtimes
|
||||||
|
Write-Host "Installing: Visual C++ Runtimes"
|
||||||
|
$ArgumentList = @("/install", "/passive", "/norestart")
|
||||||
|
Start-Process -FilePath "$Temp\vcredist_x86.exe" -ArgumentList $ArgumentList -Wait
|
||||||
|
Start-Process -FilePath "$Temp\vcredist_x64.exe" -ArgumentList $ArgumentList -Wait
|
||||||
|
|
||||||
## Extract ##
|
## Extract ##
|
||||||
# 7-Zip
|
# 7-Zip
|
||||||
Write-Host "Extracting: 7-Zip"
|
Write-Host "Extracting: 7-Zip"
|
||||||
|
|
@ -255,21 +265,31 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
# Fast Copy
|
# Fast Copy
|
||||||
Write-Host "Extracting: FastCopy"
|
Write-Host "Extracting: FastCopy"
|
||||||
try {
|
try {
|
||||||
|
# Extract Installer
|
||||||
$ArgumentList = @(
|
$ArgumentList = @(
|
||||||
"x", "$Temp\fastcopy64.zip", "-o$Build\bin\amd64\FastCopy",
|
"e", "$Temp\fastcopy.zip", "-o$Temp",
|
||||||
"-aoa", "-bso0", "-bse0", "-bsp0",
|
"-aoa", "-bso0", "-bse0", "-bsp0")
|
||||||
"-x!setup.exe", "-x!*.dll")
|
|
||||||
Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait
|
Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait
|
||||||
|
|
||||||
|
# Extract 64-bit
|
||||||
$ArgumentList = @(
|
$ArgumentList = @(
|
||||||
"e", "$Temp\fastcopy32.zip", "-o$Build\bin\x86\FastCopy",
|
"/NOSUBDIR", "/DIR=$Build\bin\amd64\FastCopy",
|
||||||
"-aoa", "-bso0", "-bse0", "-bsp0",
|
"/EXTRACT64")
|
||||||
"-x!setup.exe", "-x!*.dll")
|
Start-Process -FilePath "$TEMP\FastCopy354_installer.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait
|
||||||
Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait
|
Remove-Item "$Build\bin\amd64\FastCopy\setup.exe" -Force
|
||||||
|
|
||||||
|
# Extract 32-bit
|
||||||
|
$ArgumentList = @(
|
||||||
|
"/NOSUBDIR", "/DIR=$Build\bin\x86\FastCopy",
|
||||||
|
"/EXTRACT32")
|
||||||
|
Start-Process -FilePath "$TEMP\FastCopy354_installer.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait
|
||||||
|
Remove-Item "$Build\bin\x86\FastCopy\setup.exe" -Force
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Killer Network Driver
|
# Killer Network Driver
|
||||||
Write-Host "Extracting: Killer Network Driver"
|
Write-Host "Extracting: Killer Network Driver"
|
||||||
try {
|
try {
|
||||||
|
|
@ -414,6 +434,12 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
catch {
|
catch {
|
||||||
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
Copy-Item -Path "$HostSystem32\vcruntime140.dll" -Destination "$Build\bin\amd64\python\vcruntime140.dll" -Force
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host (" ERROR: Failed to copy Visual C++ Runtime DLL." ) -ForegroundColor "Red"
|
||||||
|
}
|
||||||
|
|
||||||
# Python (x32)
|
# Python (x32)
|
||||||
Write-Host "Extracting: Python (x32)"
|
Write-Host "Extracting: Python (x32)"
|
||||||
|
|
@ -431,6 +457,12 @@ if ($MyInvocation.InvocationName -ne ".") {
|
||||||
catch {
|
catch {
|
||||||
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red"
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
Copy-Item -Path "$HostSysWOW64\vcruntime140.dll" -Destination "$Build\bin\x86\python\vcruntime140.dll" -Force
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host (" ERROR: Failed to copy Visual C++ Runtime DLL." ) -ForegroundColor "Red"
|
||||||
|
}
|
||||||
|
|
||||||
# Q-Dir
|
# Q-Dir
|
||||||
Write-Host "Extracting: Q-Dir"
|
Write-Host "Extracting: Q-Dir"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ from functions.cleanup import *
|
||||||
from functions.data import *
|
from functions.data import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: CBS Cleanup'.format(KIT_NAME_FULL))
|
os.system('title {}: CBS Cleanup'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\CBS Cleanup.log'.format(**global_vars)
|
set_log_file('CBS Cleanup.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Check Disk Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: Check Disk Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Check Disk.log'.format(**global_vars)
|
set_log_file('Check Disk.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
43
.bin/Scripts/ddrescue-tui
Executable file
43
.bin/Scripts/ddrescue-tui
Executable file
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Wizard Kit: ddrescue TUI Launcher
|
||||||
|
|
||||||
|
SESSION_NAME="ddrescue-tui"
|
||||||
|
WINDOW_NAME="GNU ddrescue TUI"
|
||||||
|
MENU="ddrescue-tui-menu"
|
||||||
|
|
||||||
|
function ask() {
|
||||||
|
while :; do
|
||||||
|
read -p "$1 " -r answer
|
||||||
|
if echo "$answer" | egrep -iq '^(y|yes|sure)$'; then
|
||||||
|
return 0
|
||||||
|
elif echo "$answer" | egrep -iq '^(n|no|nope)$'; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo "$0:" "$@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check for running session
|
||||||
|
if tmux list-session | grep -q "$SESSION_NAME"; then
|
||||||
|
echo "WARNING: tmux session $SESSION_NAME already exists."
|
||||||
|
echo ""
|
||||||
|
if ask "Kill current session?"; then
|
||||||
|
tmux kill-session -t "$SESSION_NAME" || \
|
||||||
|
die "Failed to kill session: $SESSION_NAME"
|
||||||
|
else
|
||||||
|
echo "Aborted."
|
||||||
|
echo ""
|
||||||
|
echo -n "Press Enter to exit... "
|
||||||
|
read -r
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start session
|
||||||
|
tmux new-session -s "$SESSION_NAME" -n "$WINDOW_NAME" "$MENU" $*
|
||||||
|
|
||||||
63
.bin/Scripts/ddrescue-tui-menu
Executable file
63
.bin/Scripts/ddrescue-tui-menu
Executable file
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/bin/python3
|
||||||
|
#
|
||||||
|
## Wizard Kit: TUI for ddrescue cloning and imaging
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
|
||||||
|
from functions.ddrescue import *
|
||||||
|
from functions.hw_diags import *
|
||||||
|
init_global_vars()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
# Prep
|
||||||
|
clear_screen()
|
||||||
|
args = list(sys.argv)
|
||||||
|
run_mode = ''
|
||||||
|
source_path = None
|
||||||
|
dest_path = None
|
||||||
|
|
||||||
|
# Parse args
|
||||||
|
try:
|
||||||
|
script_name = os.path.basename(args.pop(0))
|
||||||
|
run_mode = str(args.pop(0)).lower()
|
||||||
|
source_path = args.pop(0)
|
||||||
|
dest_path = args.pop(0)
|
||||||
|
except IndexError:
|
||||||
|
# We'll set the missing paths later
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Show usage
|
||||||
|
if re.search(r'-+(h|help)', str(sys.argv), re.IGNORECASE):
|
||||||
|
show_usage(script_name)
|
||||||
|
exit_script()
|
||||||
|
|
||||||
|
# Start cloning/imaging
|
||||||
|
if run_mode in ('clone', 'image'):
|
||||||
|
menu_ddrescue(source_path, dest_path, run_mode)
|
||||||
|
else:
|
||||||
|
if not re.search(r'^-*(h|help\?)', run_mode, re.IGNORECASE):
|
||||||
|
print_error('Invalid mode.')
|
||||||
|
|
||||||
|
# Done
|
||||||
|
print_standard('\nDone.')
|
||||||
|
pause("Press Enter to exit...")
|
||||||
|
exit_script()
|
||||||
|
except GenericAbort:
|
||||||
|
abort()
|
||||||
|
except GenericError as ge:
|
||||||
|
msg = 'Generic Error'
|
||||||
|
if str(ge):
|
||||||
|
msg = str(ge)
|
||||||
|
print_error(msg)
|
||||||
|
abort()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4
|
||||||
39
.bin/Scripts/ddrescue-tui-smart-display
Executable file
39
.bin/Scripts/ddrescue-tui-smart-display
Executable file
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/python3
|
||||||
|
#
|
||||||
|
## Wizard Kit: SMART attributes display for ddrescue TUI
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.hw_diags import *
|
||||||
|
#init_global_vars()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
# Prep
|
||||||
|
clear_screen()
|
||||||
|
dev_path = sys.argv[1]
|
||||||
|
devs = scan_disks(True, dev_path)
|
||||||
|
|
||||||
|
# Warn if SMART unavailable
|
||||||
|
if dev_path not in devs:
|
||||||
|
print_error('SMART data not available')
|
||||||
|
exit_script()
|
||||||
|
|
||||||
|
# Initial screen
|
||||||
|
dev = devs[dev_path]
|
||||||
|
clear_screen()
|
||||||
|
show_disk_details(dev, only_attributes=True)
|
||||||
|
|
||||||
|
# Done
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4
|
||||||
|
|
@ -9,7 +9,7 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: DISM helper Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: DISM helper Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\DISM helper tool.log'.format(**global_vars)
|
set_log_file('DISM Helper.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
12
.bin/Scripts/echo-and-hold
Executable file
12
.bin/Scripts/echo-and-hold
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Wizard Kit: "echo" text to screen and "hold" by waiting for user input
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "Usage: $(basename "$0") \"text\""
|
||||||
|
echo " e.g. $(basename "$0") \"Some text to show\""
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -en "$@" && read -r __dont_care
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
from functions.common import *
|
from functions.common import *
|
||||||
|
|
||||||
|
from operator import itemgetter
|
||||||
|
|
||||||
# Define other_results for later try_and_print
|
# Define other_results for later try_and_print
|
||||||
browser_data = {}
|
browser_data = {}
|
||||||
other_results = {
|
other_results = {
|
||||||
|
|
@ -46,6 +48,9 @@ UBO_CHROME_REG = r'Software\Wow6432Node\Google\Chrome\Extensions\cjpalhdl
|
||||||
UBO_EXTRA_CHROME = 'https://chrome.google.com/webstore/detail/ublock-origin-extra/pgdnlhfefecpicbbihgmbmffkjpaplco?hl=en'
|
UBO_EXTRA_CHROME = 'https://chrome.google.com/webstore/detail/ublock-origin-extra/pgdnlhfefecpicbbihgmbmffkjpaplco?hl=en'
|
||||||
UBO_EXTRA_CHROME_REG = r'Software\Wow6432Node\Google\Chrome\Extensions\pgdnlhfefecpicbbihgmbmffkjpaplco'
|
UBO_EXTRA_CHROME_REG = r'Software\Wow6432Node\Google\Chrome\Extensions\pgdnlhfefecpicbbihgmbmffkjpaplco'
|
||||||
UBO_MOZILLA = 'https://addons.mozilla.org/en-us/firefox/addon/ublock-origin/'
|
UBO_MOZILLA = 'https://addons.mozilla.org/en-us/firefox/addon/ublock-origin/'
|
||||||
|
UBO_MOZZILA_PATH = r'{}\Mozilla Firefox\distribution\extensions\ublock_origin.xpi'.format(os.environ.get('PROGRAMFILES'))
|
||||||
|
UBO_MOZILLA_REG = r'Software\Mozilla\Firefox\Extensions'
|
||||||
|
UBO_MOZILLA_REG_NAME = 'uBlock0@raymondhill.net'
|
||||||
UBO_OPERA = 'https://addons.opera.com/en/extensions/details/ublock/?display=en'
|
UBO_OPERA = 'https://addons.opera.com/en/extensions/details/ublock/?display=en'
|
||||||
SUPPORTED_BROWSERS = {
|
SUPPORTED_BROWSERS = {
|
||||||
'Internet Explorer': {
|
'Internet Explorer': {
|
||||||
|
|
@ -98,16 +103,63 @@ SUPPORTED_BROWSERS = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def archive_all_users():
|
||||||
|
"""Create backups for all browsers for all users."""
|
||||||
|
users_root = r'{}\Users'.format(global_vars['Env']['SYSTEMDRIVE'])
|
||||||
|
user_envs = []
|
||||||
|
|
||||||
|
# Build list of valid users
|
||||||
|
for user_name in os.listdir(users_root):
|
||||||
|
valid_user = True
|
||||||
|
if user_name in ('Default', 'Default User'):
|
||||||
|
# Skip default users
|
||||||
|
continue
|
||||||
|
user_path = os.path.join(users_root, user_name)
|
||||||
|
appdata_local = os.path.join(user_path, r'AppData\Local')
|
||||||
|
appdata_roaming = os.path.join(user_path, r'AppData\Roaming')
|
||||||
|
valid_user &= os.path.exists(appdata_local)
|
||||||
|
valid_user &= os.path.exists(appdata_roaming)
|
||||||
|
if valid_user:
|
||||||
|
user_envs.append({
|
||||||
|
'USERNAME': user_name,
|
||||||
|
'USERPROFILE': user_path,
|
||||||
|
'APPDATA': appdata_roaming,
|
||||||
|
'LOCALAPPDATA': appdata_local})
|
||||||
|
|
||||||
|
# Backup browsers for all valid users
|
||||||
|
print_info('Backing up browsers')
|
||||||
|
for fake_env in sorted(user_envs, key=itemgetter('USERPROFILE')):
|
||||||
|
print_standard(' {}'.format(fake_env['USERNAME']))
|
||||||
|
for b_k, b_v in sorted(SUPPORTED_BROWSERS.items()):
|
||||||
|
if b_k == 'Mozilla Firefox Dev':
|
||||||
|
continue
|
||||||
|
source_path = b_v['user_data_path'].format(**fake_env)
|
||||||
|
if not os.path.exists(source_path):
|
||||||
|
continue
|
||||||
|
source_items = source_path + '*'
|
||||||
|
archive_path = r'{BackupDir}\Browsers ({USERNAME})\{Date}'.format(
|
||||||
|
**global_vars, **fake_env)
|
||||||
|
os.makedirs(archive_path, exist_ok=True)
|
||||||
|
archive_path += r'\{}.7z'.format(b_k)
|
||||||
|
cmd = [
|
||||||
|
global_vars['Tools']['SevenZip'],
|
||||||
|
'a', '-aoa', '-bso0', '-bse0', '-mx=1',
|
||||||
|
archive_path, source_items]
|
||||||
|
try_and_print(message='{}...'.format(b_k),
|
||||||
|
function=run_program, cmd=cmd)
|
||||||
|
print_standard(' ')
|
||||||
|
|
||||||
def archive_browser(name):
|
def archive_browser(name):
|
||||||
"""Create backup of Browser saved in the BackupDir."""
|
"""Create backup of Browser saved in the BackupDir."""
|
||||||
source = '{}*'.format(browser_data[name]['user_data_path'])
|
source = '{}*'.format(browser_data[name]['user_data_path'])
|
||||||
dest = r'{BackupDir}\Browsers ({USERNAME})'.format(
|
dest = r'{BackupDir}\Browsers ({USERNAME})\{Date}'.format(
|
||||||
**global_vars, **global_vars['Env'])
|
**global_vars, **global_vars['Env'])
|
||||||
archive = r'{}\{}.7z'.format(dest, name)
|
archive = r'{}\{}.7z'.format(dest, name)
|
||||||
os.makedirs(dest, exist_ok=True)
|
os.makedirs(dest, exist_ok=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['SevenZip'],
|
global_vars['Tools']['SevenZip'],
|
||||||
'a', '-aoa', '-bso0', '-bse0', '-mx=1',
|
'a', '-aoa', '-bso0', '-bse0', '-mx=1',
|
||||||
|
'-mhe=on', '-p{}'.format(ARCHIVE_PASSWORD),
|
||||||
archive, source]
|
archive, source]
|
||||||
run_program(cmd)
|
run_program(cmd)
|
||||||
|
|
||||||
|
|
@ -285,6 +337,9 @@ def get_ie_homepages():
|
||||||
homepages.append(main_page)
|
homepages.append(main_page)
|
||||||
if len(extra_pages) > 0:
|
if len(extra_pages) > 0:
|
||||||
homepages.extend(extra_pages)
|
homepages.extend(extra_pages)
|
||||||
|
|
||||||
|
# Remove all curly braces
|
||||||
|
homepages = [h.replace('{', '').replace('}', '') for h in homepages]
|
||||||
return homepages
|
return homepages
|
||||||
|
|
||||||
def get_mozilla_homepages(prefs_path):
|
def get_mozilla_homepages(prefs_path):
|
||||||
|
|
@ -326,9 +381,11 @@ def get_mozilla_profiles(search_path, dev=False):
|
||||||
|
|
||||||
return profiles
|
return profiles
|
||||||
|
|
||||||
def install_adblock(indent=8, width=32):
|
def install_adblock(indent=8, width=32, just_firefox=False):
|
||||||
"""Install adblock for all supported browsers."""
|
"""Install adblock for all supported browsers."""
|
||||||
for browser in sorted(browser_data):
|
for browser in sorted(browser_data):
|
||||||
|
if just_firefox and browser_data[browser]['base'] != 'mozilla':
|
||||||
|
continue
|
||||||
exe_path = browser_data[browser].get('exe_path', None)
|
exe_path = browser_data[browser].get('exe_path', None)
|
||||||
function=run_program
|
function=run_program
|
||||||
if not exe_path:
|
if not exe_path:
|
||||||
|
|
@ -366,14 +423,17 @@ def install_adblock(indent=8, width=32):
|
||||||
urls.append(UBO_EXTRA_CHROME)
|
urls.append(UBO_EXTRA_CHROME)
|
||||||
|
|
||||||
elif browser_data[browser]['base'] == 'mozilla':
|
elif browser_data[browser]['base'] == 'mozilla':
|
||||||
# Assume UBO is not installed first and change if it is
|
# Check for system extensions
|
||||||
urls.append(UBO_MOZILLA)
|
try:
|
||||||
if browser == 'Mozilla Firefox':
|
with winreg.OpenKey(HKLM, UBO_MOZILLA_REG) as key:
|
||||||
ubo = browser_data[browser]['exe_path'].replace(
|
winreg.QueryValueEx(key, UBO_MOZILLA_REG_NAME)
|
||||||
'firefox.exe',
|
except FileNotFoundError:
|
||||||
r'distribution\extensions\uBlock0@raymondhill.net')
|
urls = [UBO_MOZILLA]
|
||||||
if os.path.exists(ubo):
|
else:
|
||||||
|
if os.path.exists(UBO_MOZZILA_PATH):
|
||||||
urls = ['about:addons']
|
urls = ['about:addons']
|
||||||
|
else:
|
||||||
|
urls = [UBO_MOZILLA]
|
||||||
|
|
||||||
elif browser_data[browser]['base'] == 'ie':
|
elif browser_data[browser]['base'] == 'ie':
|
||||||
urls.append(IE_GALLERY)
|
urls.append(IE_GALLERY)
|
||||||
|
|
@ -435,9 +495,11 @@ def reset_browsers(indent=8, width=32):
|
||||||
indent=indent, width=width, function=function,
|
indent=indent, width=width, function=function,
|
||||||
other_results=other_results, profile=profile)
|
other_results=other_results, profile=profile)
|
||||||
|
|
||||||
def scan_for_browsers():
|
def scan_for_browsers(just_firefox=False):
|
||||||
"""Scan system for any supported browsers."""
|
"""Scan system for any supported browsers."""
|
||||||
for name in sorted(SUPPORTED_BROWSERS):
|
for name, details in sorted(SUPPORTED_BROWSERS.items()):
|
||||||
|
if just_firefox and details['base'] != 'mozilla':
|
||||||
|
continue
|
||||||
try_and_print(message='{}...'.format(name),
|
try_and_print(message='{}...'.format(name),
|
||||||
function=get_browser_details, cs='Detected',
|
function=get_browser_details, cs='Detected',
|
||||||
other_results=other_results, name=name)
|
other_results=other_results, name=name)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,49 @@
|
||||||
# Wizard Kit: Functions - Cleanup
|
# Wizard Kit: Functions - Cleanup
|
||||||
|
|
||||||
from functions.common import *
|
from functions.setup import *
|
||||||
|
|
||||||
|
# STATIC VARIABLES
|
||||||
|
D7_HKCR_CLEANUP = {
|
||||||
|
r'batfile\shell\!!RunWithParms': {'Recurse': True},
|
||||||
|
r'batfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||||
|
r'cmdfile\shell\!!RunWithParms': {'Recurse': True},
|
||||||
|
r'cmdfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||||
|
r'exefile\shell\!!RunWithParms': {'Recurse': True},
|
||||||
|
r'exefile\shell\ResourceHacker': {'Recurse': True},
|
||||||
|
r'regfile\shell\!!RunWithParms': {'Recurse': True},
|
||||||
|
r'regfile\shell\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}': {'Recurse': True},
|
||||||
|
}
|
||||||
|
D7_HKCU_CLEANUP = {
|
||||||
|
r'Software\Malwarebytes': {'Recurse': False},
|
||||||
|
}
|
||||||
|
D7_HKLM_CLEANUP = {
|
||||||
|
r'Software\Emsisoft': {'Recurse': False},
|
||||||
|
}
|
||||||
|
HKU = winreg.HKEY_USERS
|
||||||
|
HKCR = winreg.HKEY_CLASSES_ROOT
|
||||||
|
HKCU = winreg.HKEY_CURRENT_USER
|
||||||
|
HKLM = winreg.HKEY_LOCAL_MACHINE
|
||||||
|
UAC_DEFAULTS_WIN7 = {
|
||||||
|
r'Software\Microsoft\Windows\CurrentVersion\Policies\System': {
|
||||||
|
'DWORD Items': {
|
||||||
|
'ConsentPromptBehaviorAdmin': 5,
|
||||||
|
'EnableLUA': 1,
|
||||||
|
'PromptOnSecureDesktop': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
UAC_DEFAULTS_WIN10 = {
|
||||||
|
r'Software\Microsoft\Windows\CurrentVersion\Policies\System': {
|
||||||
|
'DWORD Items': {
|
||||||
|
'ConsentPromptBehaviorAdmin': 5,
|
||||||
|
'ConsentPromptBehaviorUser': 3,
|
||||||
|
'EnableInstallerDetection': 1,
|
||||||
|
'EnableLUA': 1,
|
||||||
|
'EnableVirtualization': 1,
|
||||||
|
'PromptOnSecureDesktop': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
def cleanup_adwcleaner():
|
def cleanup_adwcleaner():
|
||||||
"""Move AdwCleaner folders into the ClientDir."""
|
"""Move AdwCleaner folders into the ClientDir."""
|
||||||
|
|
@ -16,15 +59,12 @@ def cleanup_adwcleaner():
|
||||||
shutil.move(source_quarantine, dest_name)
|
shutil.move(source_quarantine, dest_name)
|
||||||
|
|
||||||
# Delete source folder if empty
|
# Delete source folder if empty
|
||||||
try:
|
delete_empty_folders(source_path)
|
||||||
os.rmdir(source_path)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Main folder
|
# Main folder
|
||||||
if os.path.exists(source_path):
|
if os.path.exists(source_path):
|
||||||
os.makedirs(global_vars['ProgBackupDir'], exist_ok=True)
|
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
||||||
dest_name = r'{ProgBackupDir}\AdwCleaner_{Date-Time}'.format(
|
dest_name = r'{LogDir}\Tools\AdwCleaner'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
dest_name = non_clobber_rename(dest_name)
|
dest_name = non_clobber_rename(dest_name)
|
||||||
shutil.move(source_path, dest_name)
|
shutil.move(source_path, dest_name)
|
||||||
|
|
@ -68,9 +108,86 @@ def cleanup_cbs(dest_folder):
|
||||||
r'{}\CbsPersist*'.format(temp_folder)]
|
r'{}\CbsPersist*'.format(temp_folder)]
|
||||||
run_program(cmd)
|
run_program(cmd)
|
||||||
|
|
||||||
|
def cleanup_d7ii():
|
||||||
|
"""Sort d7II logs and remove temp items."""
|
||||||
|
d7_path = r'{}\d7II'.format(global_vars['ClientDir'])
|
||||||
|
d7_reports = r'{} Reports'.format(d7_path)
|
||||||
|
d7_temp = r'{}\Temp'.format(d7_path)
|
||||||
|
|
||||||
|
# Logs & Reports
|
||||||
|
if os.path.exists(d7_reports):
|
||||||
|
for entry in os.scandir(d7_reports):
|
||||||
|
r = re.match(r'(\d+)-(\d+)-(\d+)', entry.name)
|
||||||
|
d7_date = '{}-{:02d}-{:02d}'.format(
|
||||||
|
r.group(1), int(r.group(2)), int(r.group(3)))
|
||||||
|
d7_mlogs = r'{}\Malware Logs'.format(entry.path)
|
||||||
|
log_dest = r'{SYSTEMDRIVE}\{prefix}\Logs\{date}'.format(
|
||||||
|
prefix=KIT_NAME_SHORT,
|
||||||
|
date=d7_date,
|
||||||
|
**global_vars['Env'])
|
||||||
|
os.makedirs(r'{}\d7II'.format(log_dest), exist_ok=True)
|
||||||
|
os.makedirs(r'{}\Tools'.format(log_dest), exist_ok=True)
|
||||||
|
|
||||||
|
# Malware Logs
|
||||||
|
if os.path.exists(d7_mlogs):
|
||||||
|
m_report = 'MalwareScan_Report.txt'
|
||||||
|
for m_entry in os.scandir(d7_mlogs):
|
||||||
|
if m_entry.name == m_report:
|
||||||
|
dest_path = r'{}\d7II\{}'.format(log_dest, m_entry.name)
|
||||||
|
else:
|
||||||
|
dest_path = r'{}\Tools\{}'.format(log_dest, m_entry.name)
|
||||||
|
dest_path = non_clobber_rename(dest_path)
|
||||||
|
shutil.move(m_entry.path, dest_path)
|
||||||
|
|
||||||
|
# Other items
|
||||||
|
for o_entry in os.scandir(entry.path):
|
||||||
|
dest_path = r'{log_dest}\d7II\{name}'.format(
|
||||||
|
log_dest=log_dest,
|
||||||
|
name=o_entry.name)
|
||||||
|
dest_path = non_clobber_rename(dest_path)
|
||||||
|
|
||||||
|
# Just remove empty folders
|
||||||
|
if o_entry.is_dir():
|
||||||
|
try:
|
||||||
|
os.rmdir(o_entry.path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Move item
|
||||||
|
shutil.move(o_entry.path, dest_path)
|
||||||
|
|
||||||
|
# Remove folder
|
||||||
|
delete_empty_folders(entry.path)
|
||||||
|
|
||||||
|
# Registry Items
|
||||||
|
for key, settings in D7_HKCR_CLEANUP.items():
|
||||||
|
delete_registry_key(HKCR, key, recurse=settings['Recurse'])
|
||||||
|
for key, settings in D7_HKCU_CLEANUP.items():
|
||||||
|
delete_registry_key(HKCU, key, recurse=settings['Recurse'])
|
||||||
|
for key, settings in D7_HKLM_CLEANUP.items():
|
||||||
|
delete_registry_key(HKLM, key, recurse=settings['Recurse'])
|
||||||
|
|
||||||
|
# Temp items
|
||||||
|
if os.path.exists(d7_path):
|
||||||
|
if os.path.exists(d7_temp):
|
||||||
|
shutil.rmtree(d7_temp)
|
||||||
|
try:
|
||||||
|
os.rmdir(d7_path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Restore default UAC settings
|
||||||
|
if global_vars['OS']['Version'] == '10':
|
||||||
|
write_registry_settings(UAC_DEFAULTS_WIN10, all_users=True)
|
||||||
|
else:
|
||||||
|
# Haven't checked Win8 settings, only applying minimum set
|
||||||
|
write_registry_settings(UAC_DEFAULTS_WIN7, all_users=True)
|
||||||
|
|
||||||
def cleanup_desktop():
|
def cleanup_desktop():
|
||||||
"""Move known backup files and reports into the ClientDir."""
|
"""Move known backup files and reports into the ClientDir."""
|
||||||
dest_folder = r'{ProgBackupDir}\Desktop_{Date-Time}'.format(**global_vars)
|
dest_folder = r'{LogDir}\Tools'.format(**global_vars)
|
||||||
os.makedirs(dest_folder, exist_ok=True)
|
os.makedirs(dest_folder, exist_ok=True)
|
||||||
|
|
||||||
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
||||||
|
|
@ -82,10 +199,91 @@ def cleanup_desktop():
|
||||||
shutil.move(entry.path, dest_name)
|
shutil.move(entry.path, dest_name)
|
||||||
|
|
||||||
# Remove dir if empty
|
# Remove dir if empty
|
||||||
|
delete_empty_folders(dest_folder)
|
||||||
|
|
||||||
|
def cleanup_emsisoft():
|
||||||
|
"""Remove EmsisoftCmd files from drive root."""
|
||||||
|
source_path = r'{}\EmsisoftCmd'.format(global_vars['Env']['SYSTEMDRIVE'])
|
||||||
|
source_quarantine = r'{}\Quarantine'.format(source_path)
|
||||||
|
|
||||||
|
# Quarantine
|
||||||
|
if os.path.exists(source_quarantine):
|
||||||
|
os.makedirs(global_vars['QuarantineDir'], exist_ok=True)
|
||||||
|
dest_name = r'{QuarantineDir}\Emsisoft_{Date-Time}'.format(
|
||||||
|
**global_vars)
|
||||||
|
dest_name = non_clobber_rename(dest_name)
|
||||||
|
shutil.move(source_quarantine, dest_name)
|
||||||
|
|
||||||
|
# Remove program
|
||||||
|
if os.path.exists(source_path):
|
||||||
|
shutil.rmtree(source_path)
|
||||||
|
|
||||||
|
def cleanup_regbackups():
|
||||||
|
"""Move d7ii regbackups into backup folder."""
|
||||||
|
source_path = r'{}\Support\RegBackups'.format(
|
||||||
|
global_vars['Env']['SYSTEMDRIVE'])
|
||||||
|
|
||||||
|
# Bail early
|
||||||
|
if not os.path.exists(source_path):
|
||||||
|
return
|
||||||
|
|
||||||
|
# Make dest folder
|
||||||
|
dest_dir = r'{BackupDir}\Registry\{Date}'.format(**global_vars)
|
||||||
|
os.makedirs(dest_dir, exist_ok=True)
|
||||||
|
|
||||||
|
# Move to backup folder
|
||||||
|
for entry in os.scandir(source_path):
|
||||||
|
dest_path = r'{dest}\{name}'.format(dest=dest_dir, name=entry.name)
|
||||||
|
dest_path = non_clobber_rename(dest_path)
|
||||||
|
shutil.move(entry.path, dest_path)
|
||||||
|
|
||||||
|
# Delete source folders if empty
|
||||||
|
delete_empty_folders(r'{}\Support'.format(
|
||||||
|
global_vars['Env']['SYSTEMDRIVE']))
|
||||||
|
|
||||||
|
def delete_empty_folders(folder_path):
|
||||||
|
"""Delete all empty folders in path (depth first)."""
|
||||||
|
if not os.path.exists(folder_path) or not os.path.isdir(folder_path):
|
||||||
|
# Bail early (silently)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Delete empty subfolders first
|
||||||
|
for item in os.scandir(folder_path):
|
||||||
|
if item.is_dir():
|
||||||
|
delete_empty_folders(item.path)
|
||||||
|
|
||||||
|
# Remove top folder
|
||||||
try:
|
try:
|
||||||
os.rmdir(dest_folder)
|
os.rmdir(folder_path)
|
||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def delete_registry_key(hive, key, recurse=False):
|
||||||
|
"""Delete a registry key and all it's subkeys."""
|
||||||
|
access = winreg.KEY_ALL_ACCESS
|
||||||
|
|
||||||
|
try:
|
||||||
|
if recurse:
|
||||||
|
# Delete all subkeys first
|
||||||
|
with winreg.OpenKeyEx(hive, key, 0, access) as k:
|
||||||
|
key_info = winreg.QueryInfoKey(k)
|
||||||
|
for x in range(key_info[0]):
|
||||||
|
subkey = r'{}\{}'.format(key, winreg.EnumKey(k, 0))
|
||||||
|
delete_registry_key(hive, subkey)
|
||||||
|
|
||||||
|
# Delete key
|
||||||
|
winreg.DeleteKey(hive, key)
|
||||||
|
except FileNotFoundError:
|
||||||
|
# Ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def delete_registry_value(hive, key, value):
|
||||||
|
"""Delete a registry value."""
|
||||||
|
access = winreg.KEY_ALL_ACCESS
|
||||||
|
with winreg.OpenKeyEx(hive, key, 0, access) as k:
|
||||||
|
winreg.DeleteValue(k, value)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("This file is not meant to be called directly.")
|
print("This file is not meant to be called directly.")
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@ COLORS = {
|
||||||
'BLUE': '\033[34m'
|
'BLUE': '\033[34m'
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
HKU = winreg.HKEY_USERS
|
HKU = winreg.HKEY_USERS
|
||||||
|
HKCR = winreg.HKEY_CLASSES_ROOT
|
||||||
HKCU = winreg.HKEY_CURRENT_USER
|
HKCU = winreg.HKEY_CURRENT_USER
|
||||||
HKLM = winreg.HKEY_LOCAL_MACHINE
|
HKLM = winreg.HKEY_LOCAL_MACHINE
|
||||||
except NameError:
|
except NameError:
|
||||||
|
|
@ -64,12 +65,24 @@ class NotInstalledError(Exception):
|
||||||
class NoProfilesError(Exception):
|
class NoProfilesError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class OSInstalledLegacyError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
class PathNotFoundError(Exception):
|
class PathNotFoundError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class UnsupportedOSError(Exception):
|
class UnsupportedOSError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class SecureBootDisabledError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class SecureBootNotAvailError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class SecureBootUnknownError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
# General functions
|
# General functions
|
||||||
def abort():
|
def abort():
|
||||||
"""Abort script."""
|
"""Abort script."""
|
||||||
|
|
@ -155,14 +168,13 @@ def exit_script(return_value=0):
|
||||||
# Remove dirs (if empty)
|
# Remove dirs (if empty)
|
||||||
for dir in ['BackupDir', 'LogDir', 'TmpDir']:
|
for dir in ['BackupDir', 'LogDir', 'TmpDir']:
|
||||||
try:
|
try:
|
||||||
dir = global_vars[dir]
|
os.rmdir(global_vars[dir])
|
||||||
os.rmdir(dir)
|
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Open Log (if it exists)
|
# Open Log (if it exists)
|
||||||
log = global_vars.get('LogFile', '')
|
log = global_vars.get('LogFile', '')
|
||||||
if log and os.path.exists(log) and psutil.WINDOWS:
|
if log and os.path.exists(log) and psutil.WINDOWS and ENABLED_OPEN_LOGS:
|
||||||
try:
|
try:
|
||||||
extract_item('NotepadPlusPlus', silent=True)
|
extract_item('NotepadPlusPlus', silent=True)
|
||||||
popen_program(
|
popen_program(
|
||||||
|
|
@ -197,6 +209,30 @@ def extract_item(item, filter='', silent=False):
|
||||||
if not silent:
|
if not silent:
|
||||||
print_warning('WARNING: Errors encountered while exctracting data')
|
print_warning('WARNING: Errors encountered while exctracting data')
|
||||||
|
|
||||||
|
def get_process(name=None):
|
||||||
|
"""Get process by name, returns psutil.Process obj."""
|
||||||
|
proc = None
|
||||||
|
if not name:
|
||||||
|
raise GenericError
|
||||||
|
|
||||||
|
for p in psutil.process_iter():
|
||||||
|
try:
|
||||||
|
if p.name() == name:
|
||||||
|
proc = p
|
||||||
|
except psutil._exceptions.NoSuchProcess:
|
||||||
|
# Process finished during iteration? Going to ignore
|
||||||
|
pass
|
||||||
|
return proc
|
||||||
|
|
||||||
|
def get_simple_string(prompt='Enter string'):
|
||||||
|
"""Get string from user (minimal allowed character set) and return as str."""
|
||||||
|
simple_string = None
|
||||||
|
while simple_string is None:
|
||||||
|
_input = input('{}: '.format(prompt))
|
||||||
|
if re.match(r"^(\w|-| |\.|')+$", _input, re.ASCII):
|
||||||
|
simple_string = _input.strip()
|
||||||
|
return simple_string
|
||||||
|
|
||||||
def get_ticket_number():
|
def get_ticket_number():
|
||||||
"""Get TicketNumber from user, save in LogDir, and return as str."""
|
"""Get TicketNumber from user, save in LogDir, and return as str."""
|
||||||
if not ENABLED_TICKET_NUMBERS:
|
if not ENABLED_TICKET_NUMBERS:
|
||||||
|
|
@ -213,15 +249,6 @@ def get_ticket_number():
|
||||||
f.write(ticket_number)
|
f.write(ticket_number)
|
||||||
return ticket_number
|
return ticket_number
|
||||||
|
|
||||||
def get_simple_string(prompt='Enter string'):
|
|
||||||
"""Get string from user (only alphanumeric/space chars) and return as str."""
|
|
||||||
simple_string = None
|
|
||||||
while simple_string is None:
|
|
||||||
_input = input('{}: '.format(prompt))
|
|
||||||
if re.match(r'^(\w|-| )+$', _input, re.ASCII):
|
|
||||||
simple_string = _input.strip()
|
|
||||||
return simple_string
|
|
||||||
|
|
||||||
def human_readable_size(size, decimals=0):
|
def human_readable_size(size, decimals=0):
|
||||||
"""Convert size in bytes to a human-readable format and return a str."""
|
"""Convert size in bytes to a human-readable format and return a str."""
|
||||||
# Prep string formatting
|
# Prep string formatting
|
||||||
|
|
@ -234,6 +261,8 @@ def human_readable_size(size, decimals=0):
|
||||||
size = int(size)
|
size = int(size)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
size = convert_to_bytes(size)
|
size = convert_to_bytes(size)
|
||||||
|
except TypeError:
|
||||||
|
size = -1
|
||||||
|
|
||||||
# Verify we have a valid size
|
# Verify we have a valid size
|
||||||
if size < 0:
|
if size < 0:
|
||||||
|
|
@ -470,6 +499,8 @@ def sleep(seconds=2):
|
||||||
|
|
||||||
def stay_awake():
|
def stay_awake():
|
||||||
"""Prevent the system from sleeping or hibernating."""
|
"""Prevent the system from sleeping or hibernating."""
|
||||||
|
# DISABLED due to VCR2008 dependency
|
||||||
|
return
|
||||||
# Bail if caffeine is already running
|
# Bail if caffeine is already running
|
||||||
for proc in psutil.process_iter():
|
for proc in psutil.process_iter():
|
||||||
if proc.name() == 'caffeine.exe':
|
if proc.name() == 'caffeine.exe':
|
||||||
|
|
@ -477,7 +508,7 @@ def stay_awake():
|
||||||
# Extract and run
|
# Extract and run
|
||||||
extract_item('Caffeine', silent=True)
|
extract_item('Caffeine', silent=True)
|
||||||
try:
|
try:
|
||||||
popen_program(global_vars['Tools']['Caffeine'])
|
popen_program([global_vars['Tools']['Caffeine']])
|
||||||
except Exception:
|
except Exception:
|
||||||
print_error('ERROR: No caffeine available.')
|
print_error('ERROR: No caffeine available.')
|
||||||
print_warning('Please set the power setting to High Performance.')
|
print_warning('Please set the power setting to High Performance.')
|
||||||
|
|
@ -558,6 +589,8 @@ def upload_crash_details():
|
||||||
if 'LogFile' in global_vars and global_vars['LogFile']:
|
if 'LogFile' in global_vars and global_vars['LogFile']:
|
||||||
if ask('Upload crash details to {}?'.format(CRASH_SERVER['Name'])):
|
if ask('Upload crash details to {}?'.format(CRASH_SERVER['Name'])):
|
||||||
with open(global_vars['LogFile']) as f:
|
with open(global_vars['LogFile']) as f:
|
||||||
|
certificate_authority = r'{}\{}'.format(
|
||||||
|
global_vars['BinDir'], ROOT_CA_NAME)
|
||||||
data = '''{}
|
data = '''{}
|
||||||
#############################
|
#############################
|
||||||
Runtime Details:
|
Runtime Details:
|
||||||
|
|
@ -572,9 +605,11 @@ global_vars: {}'''.format(f.read(), sys.argv, global_vars)
|
||||||
CRASH_SERVER['Url'],
|
CRASH_SERVER['Url'],
|
||||||
global_vars.get('Date-Time', 'Unknown Date-Time'),
|
global_vars.get('Date-Time', 'Unknown Date-Time'),
|
||||||
filename)
|
filename)
|
||||||
r = requests.put(url, data=data,
|
r = requests.put(
|
||||||
headers = {'X-Requested-With': 'XMLHttpRequest'},
|
url, data=data,
|
||||||
auth = (CRASH_SERVER['User'], CRASH_SERVER['Pass']))
|
headers={'X-Requested-With': 'XMLHttpRequest'},
|
||||||
|
auth=(CRASH_SERVER['User'], CRASH_SERVER['Pass']),
|
||||||
|
verify=certificate_authority)
|
||||||
# Raise exception if upload NS
|
# Raise exception if upload NS
|
||||||
if not r.ok:
|
if not r.ok:
|
||||||
raise Exception
|
raise Exception
|
||||||
|
|
@ -723,6 +758,9 @@ def make_tmp_dirs():
|
||||||
"""Make temp directories."""
|
"""Make temp directories."""
|
||||||
os.makedirs(global_vars['BackupDir'], exist_ok=True)
|
os.makedirs(global_vars['BackupDir'], exist_ok=True)
|
||||||
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
||||||
|
os.makedirs(r'{}\{}'.format(
|
||||||
|
global_vars['LogDir'], KIT_NAME_FULL), exist_ok=True)
|
||||||
|
os.makedirs(r'{}\Tools'.format(global_vars['LogDir']), exist_ok=True)
|
||||||
os.makedirs(global_vars['TmpDir'], exist_ok=True)
|
os.makedirs(global_vars['TmpDir'], exist_ok=True)
|
||||||
|
|
||||||
def set_common_vars():
|
def set_common_vars():
|
||||||
|
|
@ -738,11 +776,9 @@ def set_common_vars():
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['ClientDir'] = r'{SYSTEMDRIVE}\{prefix}'.format(
|
global_vars['ClientDir'] = r'{SYSTEMDRIVE}\{prefix}'.format(
|
||||||
prefix=KIT_NAME_SHORT, **global_vars['Env'])
|
prefix=KIT_NAME_SHORT, **global_vars['Env'])
|
||||||
global_vars['BackupDir'] = r'{ClientDir}\Backups\{Date}'.format(
|
global_vars['BackupDir'] = r'{ClientDir}\Backups'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['LogDir'] = r'{ClientDir}\Info\{Date}'.format(
|
global_vars['LogDir'] = r'{ClientDir}\Logs\{Date}'.format(
|
||||||
**global_vars)
|
|
||||||
global_vars['ProgBackupDir'] = r'{ClientDir}\Backups'.format(
|
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['QuarantineDir'] = r'{ClientDir}\Quarantine'.format(
|
global_vars['QuarantineDir'] = r'{ClientDir}\Quarantine'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
|
|
@ -765,5 +801,12 @@ def set_linux_vars():
|
||||||
'SevenZip': '7z',
|
'SevenZip': '7z',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def set_log_file(log_name):
|
||||||
|
"""Sets global var LogFile and creates path as needed."""
|
||||||
|
folder_path = r'{}\{}'.format(global_vars['LogDir'], KIT_NAME_FULL)
|
||||||
|
log_file = r'{}\{}'.format(folder_path, log_name)
|
||||||
|
os.makedirs(folder_path, exist_ok=True)
|
||||||
|
global_vars['LogFile'] = log_file
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("This file is not meant to be called directly.")
|
print("This file is not meant to be called directly.")
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,69 @@ def cleanup_transfer(dest_path):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def find_core_storage_volumes(device_path=None):
|
||||||
|
"""Try to create block devices for any Apple CoreStorage volumes."""
|
||||||
|
corestorage_uuid = '53746f72-6167-11aa-aa11-00306543ecac'
|
||||||
|
dmsetup_cmd_file = '{TmpDir}/dmsetup_command'.format(**global_vars)
|
||||||
|
|
||||||
|
# Get CoreStorage devices
|
||||||
|
cmd = [
|
||||||
|
'lsblk', '--json', '--list', '--paths',
|
||||||
|
'--output', 'NAME,PARTTYPE']
|
||||||
|
if device_path:
|
||||||
|
cmd.append(device_path)
|
||||||
|
result = run_program(cmd)
|
||||||
|
json_data = json.loads(result.stdout.decode())
|
||||||
|
devs = json_data.get('blockdevices', [])
|
||||||
|
devs = [d for d in devs if d.get('parttype', '') == corestorage_uuid]
|
||||||
|
if devs:
|
||||||
|
print_standard(' ')
|
||||||
|
print_standard('Detected CoreStorage partition{}'.format(
|
||||||
|
'' if len(devs) == 1 else 's'))
|
||||||
|
print_standard(' Scanning for inner volume(s)....')
|
||||||
|
|
||||||
|
# Search for inner volumes and setup dev mappers
|
||||||
|
for dev in devs:
|
||||||
|
dev_path = dev.get('name', '')
|
||||||
|
if not dev_path:
|
||||||
|
# Can't setup block device without the dev path
|
||||||
|
continue
|
||||||
|
dev_name = re.sub(r'.*/', '', dev_path)
|
||||||
|
log_path = '{LogDir}/testdisk_{dev_name}.log'.format(
|
||||||
|
dev_name=dev_name, **global_vars)
|
||||||
|
|
||||||
|
# Run TestDisk
|
||||||
|
cmd = [
|
||||||
|
'sudo', 'testdisk',
|
||||||
|
'/logname', log_path, '/debug', '/log',
|
||||||
|
'/cmd', dev_path, 'partition_none,analyze']
|
||||||
|
result = run_program(cmd, check=False)
|
||||||
|
if result.returncode:
|
||||||
|
# i.e. return code is non-zero
|
||||||
|
continue
|
||||||
|
if not os.path.exists(log_path):
|
||||||
|
# TestDisk failed to write log
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Check log for found volumes
|
||||||
|
cs_vols = {}
|
||||||
|
with open(log_path, 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
r = re.match(
|
||||||
|
r'^.*echo "([^"]+)" . dmsetup create test(\d)$',
|
||||||
|
line.strip(),
|
||||||
|
re.IGNORECASE)
|
||||||
|
if r:
|
||||||
|
cs_name = 'CoreStorage_{}_{}'.format(dev_name, r.group(2))
|
||||||
|
cs_vols[cs_name] = r.group(1)
|
||||||
|
|
||||||
|
# Create mapper device(s)
|
||||||
|
for name, dm_cmd in sorted(cs_vols.items()):
|
||||||
|
with open(dmsetup_cmd_file, 'w') as f:
|
||||||
|
f.write(dm_cmd)
|
||||||
|
cmd = ['sudo', 'dmsetup', 'create', name, dmsetup_cmd_file]
|
||||||
|
run_program(cmd, check=False)
|
||||||
|
|
||||||
def fix_path_sep(path_str):
|
def fix_path_sep(path_str):
|
||||||
"""Replace non-native and duplicate dir separators, returns str."""
|
"""Replace non-native and duplicate dir separators, returns str."""
|
||||||
return re.sub(r'(\\|/)+', lambda s: os.sep, path_str)
|
return re.sub(r'(\\|/)+', lambda s: os.sep, path_str)
|
||||||
|
|
@ -187,14 +250,20 @@ def get_mounted_volumes():
|
||||||
mounted_volumes.extend(item.get('children', []))
|
mounted_volumes.extend(item.get('children', []))
|
||||||
return {item['source']: item for item in mounted_volumes}
|
return {item['source']: item for item in mounted_volumes}
|
||||||
|
|
||||||
def mount_all_volumes():
|
def mount_volumes(all_devices=True, device_path=None, read_write=False):
|
||||||
"""Mount all detected filesystems."""
|
"""Mount all detected filesystems."""
|
||||||
report = {}
|
report = {}
|
||||||
|
cmd = [
|
||||||
|
'lsblk', '--json', '--paths',
|
||||||
|
'--output', 'NAME,FSTYPE,LABEL,UUID,PARTTYPE,TYPE,SIZE']
|
||||||
|
if not all_devices and device_path:
|
||||||
|
# Only mount volumes for specific device
|
||||||
|
cmd.append(device_path)
|
||||||
|
|
||||||
|
# Check for Apple CoreStorage volumes first
|
||||||
|
find_core_storage_volumes(device_path)
|
||||||
|
|
||||||
# Get list of block devices
|
# Get list of block devices
|
||||||
cmd = [
|
|
||||||
'lsblk', '-J', '-p',
|
|
||||||
'-o', 'NAME,FSTYPE,LABEL,UUID,PARTTYPE,TYPE,SIZE']
|
|
||||||
result = run_program(cmd)
|
result = run_program(cmd)
|
||||||
json_data = json.loads(result.stdout.decode())
|
json_data = json.loads(result.stdout.decode())
|
||||||
devs = json_data.get('blockdevices', [])
|
devs = json_data.get('blockdevices', [])
|
||||||
|
|
@ -202,8 +271,11 @@ def mount_all_volumes():
|
||||||
# Get list of volumes
|
# Get list of volumes
|
||||||
volumes = {}
|
volumes = {}
|
||||||
for dev in devs:
|
for dev in devs:
|
||||||
|
if not dev.get('children', []):
|
||||||
|
volumes.update({dev['name']: dev})
|
||||||
for child in dev.get('children', []):
|
for child in dev.get('children', []):
|
||||||
volumes.update({child['name']: child})
|
if not child.get('children', []):
|
||||||
|
volumes.update({child['name']: child})
|
||||||
for grandchild in child.get('children', []):
|
for grandchild in child.get('children', []):
|
||||||
volumes.update({grandchild['name']: grandchild})
|
volumes.update({grandchild['name']: grandchild})
|
||||||
|
|
||||||
|
|
@ -233,8 +305,11 @@ def mount_all_volumes():
|
||||||
vol_data['show_data']['warning'] = True
|
vol_data['show_data']['warning'] = True
|
||||||
else:
|
else:
|
||||||
# Mount volume
|
# Mount volume
|
||||||
|
cmd = ['udevil', 'mount',
|
||||||
|
'-o', 'rw' if read_write else 'ro',
|
||||||
|
vol_path]
|
||||||
try:
|
try:
|
||||||
run_program(['udevil', 'mount', '-o', 'ro', vol_path])
|
run_program(cmd)
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
vol_data['show_data']['data'] = 'Failed to mount'
|
vol_data['show_data']['data'] = 'Failed to mount'
|
||||||
vol_data['show_data']['error'] = True
|
vol_data['show_data']['error'] = True
|
||||||
|
|
@ -242,11 +317,16 @@ def mount_all_volumes():
|
||||||
mounted_volumes = get_mounted_volumes()
|
mounted_volumes = get_mounted_volumes()
|
||||||
|
|
||||||
# Format pretty result string
|
# Format pretty result string
|
||||||
if vol_data['show_data']['data'] != 'Failed to mount':
|
if vol_data['show_data']['data'] == 'Failed to mount':
|
||||||
|
vol_data['mount_point'] = None
|
||||||
|
else:
|
||||||
size_used = human_readable_size(
|
size_used = human_readable_size(
|
||||||
mounted_volumes[vol_path]['used'])
|
mounted_volumes[vol_path]['used'])
|
||||||
size_avail = human_readable_size(
|
size_avail = human_readable_size(
|
||||||
mounted_volumes[vol_path]['avail'])
|
mounted_volumes[vol_path]['avail'])
|
||||||
|
vol_data['size_avail'] = size_avail
|
||||||
|
vol_data['size_used'] = size_used
|
||||||
|
vol_data['mount_point'] = mounted_volumes[vol_path]['target']
|
||||||
vol_data['show_data']['data'] = 'Mounted on {}'.format(
|
vol_data['show_data']['data'] = 'Mounted on {}'.format(
|
||||||
mounted_volumes[vol_path]['target'])
|
mounted_volumes[vol_path]['target'])
|
||||||
vol_data['show_data']['data'] = '{:40} ({} used, {} free)'.format(
|
vol_data['show_data']['data'] = '{:40} ({} used, {} free)'.format(
|
||||||
|
|
@ -341,7 +421,7 @@ def run_fast_copy(items, dest):
|
||||||
raise Exception
|
raise Exception
|
||||||
|
|
||||||
cmd = [global_vars['Tools']['FastCopy'], *FAST_COPY_ARGS]
|
cmd = [global_vars['Tools']['FastCopy'], *FAST_COPY_ARGS]
|
||||||
cmd.append(r'/logfile={}\FastCopy.log'.format(global_vars['LogDir']))
|
cmd.append(r'/logfile={LogDir}\Tools\FastCopy.log'.format(**global_vars))
|
||||||
cmd.extend(items)
|
cmd.extend(items)
|
||||||
cmd.append('/to={}\\'.format(dest))
|
cmd.append('/to={}\\'.format(dest))
|
||||||
|
|
||||||
|
|
|
||||||
1239
.bin/Scripts/functions/ddrescue.py
Normal file
1239
.bin/Scripts/functions/ddrescue.py
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,7 @@
|
||||||
# Wizard Kit: Functions - Diagnostics
|
# Wizard Kit: Functions - Diagnostics
|
||||||
|
|
||||||
|
import ctypes
|
||||||
|
|
||||||
from functions.common import *
|
from functions.common import *
|
||||||
|
|
||||||
# STATIC VARIABLES
|
# STATIC VARIABLES
|
||||||
|
|
@ -30,12 +32,71 @@ def check_connection():
|
||||||
result = try_and_print(message='Ping test...', function=ping, cs='OK')
|
result = try_and_print(message='Ping test...', function=ping, cs='OK')
|
||||||
if result['CS']:
|
if result['CS']:
|
||||||
break
|
break
|
||||||
|
if not ask('ERROR: System appears offline, try again?'):
|
||||||
|
if ask('Continue anyway?'):
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
abort()
|
||||||
|
|
||||||
|
def check_secure_boot_status(show_alert=False):
|
||||||
|
"""Checks UEFI Secure Boot status via PowerShell."""
|
||||||
|
boot_mode = get_boot_mode()
|
||||||
|
cmd = ['PowerShell', '-Command', 'Confirm-SecureBootUEFI']
|
||||||
|
result = run_program(cmd, check=False)
|
||||||
|
|
||||||
|
# Check results
|
||||||
|
if result.returncode == 0:
|
||||||
|
out = result.stdout.decode()
|
||||||
|
if 'True' in out:
|
||||||
|
# It's on, do nothing
|
||||||
|
return
|
||||||
|
elif 'False' in out:
|
||||||
|
if show_alert:
|
||||||
|
show_alert_box('Secure Boot DISABLED')
|
||||||
|
raise SecureBootDisabledError
|
||||||
else:
|
else:
|
||||||
if not ask('ERROR: System appears offline, try again?'):
|
if show_alert:
|
||||||
if ask('Continue anyway?'):
|
show_alert_box('Secure Boot status UNKNOWN')
|
||||||
break
|
raise SecureBootUnknownError
|
||||||
else:
|
else:
|
||||||
abort()
|
if boot_mode != 'UEFI':
|
||||||
|
if (show_alert and
|
||||||
|
global_vars['OS']['Version'] in ('8', '8.1', '10')):
|
||||||
|
# OS supports Secure Boot
|
||||||
|
show_alert_box('Secure Boot DISABLED\n\nOS installed LEGACY')
|
||||||
|
raise OSInstalledLegacyError
|
||||||
|
else:
|
||||||
|
# Check error message
|
||||||
|
err = result.stderr.decode()
|
||||||
|
if 'Cmdlet not supported' in err:
|
||||||
|
if show_alert:
|
||||||
|
show_alert_box('Secure Boot UNAVAILABLE?')
|
||||||
|
raise SecureBootNotAvailError
|
||||||
|
else:
|
||||||
|
if show_alert:
|
||||||
|
show_alert_box('Secure Boot ERROR')
|
||||||
|
raise GenericError
|
||||||
|
|
||||||
|
def get_boot_mode():
|
||||||
|
"""Check if Windows is booted in UEFI or Legacy mode, returns str."""
|
||||||
|
kernel = ctypes.windll.kernel32
|
||||||
|
firmware_type = ctypes.c_uint()
|
||||||
|
|
||||||
|
# Get value from kernel32 API
|
||||||
|
try:
|
||||||
|
kernel.GetFirmwareType(ctypes.byref(firmware_type))
|
||||||
|
except:
|
||||||
|
# Just set to zero
|
||||||
|
firmware_type = ctypes.c_uint(0)
|
||||||
|
|
||||||
|
# Set return value
|
||||||
|
type_str = 'Unknown'
|
||||||
|
if firmware_type.value == 1:
|
||||||
|
type_str = 'Legacy'
|
||||||
|
elif firmware_type.value == 2:
|
||||||
|
type_str = 'UEFI'
|
||||||
|
|
||||||
|
return type_str
|
||||||
|
|
||||||
def run_autoruns():
|
def run_autoruns():
|
||||||
"""Run AutoRuns in the background with VirusTotal checks enabled."""
|
"""Run AutoRuns in the background with VirusTotal checks enabled."""
|
||||||
|
|
@ -61,11 +122,23 @@ def run_hwinfo_sensors():
|
||||||
f.write('SummaryOnly=0\n')
|
f.write('SummaryOnly=0\n')
|
||||||
popen_program(global_vars['Tools']['HWiNFO'])
|
popen_program(global_vars['Tools']['HWiNFO'])
|
||||||
|
|
||||||
|
def run_nircmd(*cmd):
|
||||||
|
"""Run custom NirCmd."""
|
||||||
|
extract_item('NirCmd', silent=True)
|
||||||
|
cmd = [global_vars['Tools']['NirCmd'], *cmd]
|
||||||
|
run_program(cmd, check=False)
|
||||||
|
|
||||||
def run_xmplay():
|
def run_xmplay():
|
||||||
"""Run XMPlay to test audio."""
|
"""Run XMPlay to test audio."""
|
||||||
extract_item('XMPlay', silent=True)
|
extract_item('XMPlay', silent=True)
|
||||||
cmd = [global_vars['Tools']['XMPlay'],
|
cmd = [global_vars['Tools']['XMPlay'],
|
||||||
r'{BinDir}\XMPlay\music.7z'.format(**global_vars)]
|
r'{BinDir}\XMPlay\music.7z'.format(**global_vars)]
|
||||||
|
|
||||||
|
# Unmute audio first
|
||||||
|
extract_item('NirCmd', silent=True)
|
||||||
|
run_nircmd('mutesysvolume', '0')
|
||||||
|
|
||||||
|
# Open XMPlay
|
||||||
popen_program(cmd)
|
popen_program(cmd)
|
||||||
|
|
||||||
def run_hitmanpro():
|
def run_hitmanpro():
|
||||||
|
|
@ -74,7 +147,7 @@ def run_hitmanpro():
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['HitmanPro'],
|
global_vars['Tools']['HitmanPro'],
|
||||||
'/quiet', '/noinstall', '/noupload',
|
'/quiet', '/noinstall', '/noupload',
|
||||||
r'/log={LogDir}\hitman.xml'.format(**global_vars)]
|
r'/log={LogDir}\Tools\HitmanPro.txt'.format(**global_vars)]
|
||||||
popen_program(cmd)
|
popen_program(cmd)
|
||||||
|
|
||||||
def run_process_killer():
|
def run_process_killer():
|
||||||
|
|
@ -92,23 +165,25 @@ def run_rkill():
|
||||||
extract_item('RKill', silent=True)
|
extract_item('RKill', silent=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['RKill'],
|
global_vars['Tools']['RKill'],
|
||||||
'-l', r'{LogDir}\RKill.log'.format(**global_vars),
|
'-s', '-l', r'{LogDir}\Tools\RKill.log'.format(**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
run_program(cmd, check=False)
|
run_program(cmd, check=False)
|
||||||
wait_for_process('RKill')
|
wait_for_process('RKill')
|
||||||
kill_process('notepad.exe')
|
|
||||||
|
|
||||||
# RKill cleanup
|
# RKill cleanup
|
||||||
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
||||||
if os.path.exists(desktop_path):
|
if os.path.exists(desktop_path):
|
||||||
for item in os.scandir(desktop_path):
|
for item in os.scandir(desktop_path):
|
||||||
if re.search(r'^RKill', item.name, re.IGNORECASE):
|
if re.search(r'^RKill', item.name, re.IGNORECASE):
|
||||||
dest = re.sub(r'^(.*)\.', '\1_{Date-Time}.'.format(
|
dest = r'{LogDir}\Tools\{name}'.format(
|
||||||
**global_vars), item.name)
|
|
||||||
dest = r'{ClientDir}\Info\{name}'.format(
|
|
||||||
name=dest, **global_vars)
|
name=dest, **global_vars)
|
||||||
dest = non_clobber_rename(dest)
|
dest = non_clobber_rename(dest)
|
||||||
shutil.move(item.path, dest)
|
shutil.move(item.path, dest)
|
||||||
|
|
||||||
|
def show_alert_box(message, title='Wizard Kit Warning'):
|
||||||
|
"""Show Windows alert box with message."""
|
||||||
|
message_box = ctypes.windll.user32.MessageBoxW
|
||||||
|
message_box(None, message, title, 0x00001030)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("This file is not meant to be called directly.")
|
print("This file is not meant to be called directly.")
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -68,7 +68,8 @@ def backup_file_list():
|
||||||
|
|
||||||
def backup_power_plans():
|
def backup_power_plans():
|
||||||
"""Export current power plans."""
|
"""Export current power plans."""
|
||||||
os.makedirs(r'{BackupDir}\Power Plans'.format(**global_vars), exist_ok=True)
|
os.makedirs(r'{BackupDir}\Power Plans\{Date}'.format(
|
||||||
|
**global_vars), exist_ok=True)
|
||||||
plans = run_program(['powercfg', '/L'])
|
plans = run_program(['powercfg', '/L'])
|
||||||
plans = plans.stdout.decode().splitlines()
|
plans = plans.stdout.decode().splitlines()
|
||||||
plans = [p for p in plans if re.search(r'^Power Scheme', p)]
|
plans = [p for p in plans if re.search(r'^Power Scheme', p)]
|
||||||
|
|
@ -76,22 +77,24 @@ def backup_power_plans():
|
||||||
guid = re.sub(r'Power Scheme GUID:\s+([0-9a-f\-]+).*', r'\1', p)
|
guid = re.sub(r'Power Scheme GUID:\s+([0-9a-f\-]+).*', r'\1', p)
|
||||||
name = re.sub(
|
name = re.sub(
|
||||||
r'Power Scheme GUID:\s+[0-9a-f\-]+\s+\(([^\)]+)\).*', r'\1', p)
|
r'Power Scheme GUID:\s+[0-9a-f\-]+\s+\(([^\)]+)\).*', r'\1', p)
|
||||||
out = r'{BackupDir}\Power Plans\{name}.pow'.format(
|
out = r'{BackupDir}\Power Plans\{Date}\{name}.pow'.format(
|
||||||
name=name, **global_vars)
|
name=name, **global_vars)
|
||||||
if not os.path.exists(out):
|
if not os.path.exists(out):
|
||||||
cmd = ['powercfg', '-export', out, guid]
|
cmd = ['powercfg', '-export', out, guid]
|
||||||
run_program(cmd, check=False)
|
run_program(cmd, check=False)
|
||||||
|
|
||||||
def backup_registry():
|
def backup_registry(overwrite=False):
|
||||||
"""Backup registry including user hives."""
|
"""Backup registry including user hives."""
|
||||||
extract_item('erunt', silent=True)
|
extract_item('erunt', silent=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['ERUNT'],
|
global_vars['Tools']['ERUNT'],
|
||||||
r'{BackupDir}\Registry'.format(**global_vars),
|
r'{BackupDir}\Registry\{Date}'.format(**global_vars),
|
||||||
'sysreg',
|
'sysreg',
|
||||||
'curuser',
|
'curuser',
|
||||||
'otherusers',
|
'otherusers',
|
||||||
'/noprogresswindow']
|
'/noprogresswindow']
|
||||||
|
if overwrite:
|
||||||
|
cmd.append('/noconfirmdelete')
|
||||||
run_program(cmd)
|
run_program(cmd)
|
||||||
|
|
||||||
def get_folder_size(path):
|
def get_folder_size(path):
|
||||||
|
|
@ -368,26 +371,38 @@ def run_aida64():
|
||||||
'/TEXT', '/SILENT', '/SAFEST']
|
'/TEXT', '/SILENT', '/SAFEST']
|
||||||
run_program(cmd, check=False)
|
run_program(cmd, check=False)
|
||||||
|
|
||||||
def run_bleachbit():
|
def run_bleachbit(cleaners=None, preview=True):
|
||||||
"""Run BleachBit preview and save log.
|
"""Run BleachBit preview and save log.
|
||||||
|
|
||||||
This is a preview so no files should be deleted."""
|
If preview is True then no files should be deleted."""
|
||||||
if not os.path.exists(global_vars['LogDir']+r'\BleachBit.log'):
|
error_path = r'{}\Tools\BleachBit.err'.format(global_vars['LogDir'])
|
||||||
extract_item('BleachBit', silent=True)
|
log_path = error_path.replace('err', 'log')
|
||||||
cmd = [global_vars['Tools']['BleachBit'], '--preview', '--preset']
|
extract_item('BleachBit', silent=True)
|
||||||
out = run_program(cmd, check=False)
|
|
||||||
# Save stderr
|
# Safety check
|
||||||
if out.stderr.decode().splitlines():
|
if not cleaners:
|
||||||
with open(global_vars['LogDir']+r'\BleachBit.err', 'a',
|
# Disable cleaning and use preset config
|
||||||
encoding='utf-8') as f:
|
cleaners = ['--preset']
|
||||||
for line in out.stderr.decode().splitlines():
|
preview = True
|
||||||
f.write(line.strip() + '\n')
|
|
||||||
# Save stdout
|
# Run
|
||||||
with open(global_vars['LogDir']+r'\BleachBit.log', 'a',
|
cmd = [
|
||||||
encoding='utf-8') as f:
|
global_vars['Tools']['BleachBit'],
|
||||||
for line in out.stdout.decode().splitlines():
|
'--preview' if preview else '--clean']
|
||||||
|
cmd.extend(cleaners)
|
||||||
|
out = run_program(cmd, check=False)
|
||||||
|
|
||||||
|
# Save stderr
|
||||||
|
if out.stderr.decode().splitlines():
|
||||||
|
with open(error_path, 'a', encoding='utf-8') as f:
|
||||||
|
for line in out.stderr.decode().splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
|
|
||||||
|
# Save stdout
|
||||||
|
with open(log_path, 'a', encoding='utf-8') as f:
|
||||||
|
for line in out.stdout.decode().splitlines():
|
||||||
|
f.write(line.strip() + '\n')
|
||||||
|
|
||||||
def show_disk_usage(disk):
|
def show_disk_usage(disk):
|
||||||
"""Show free and used space for a specified disk."""
|
"""Show free and used space for a specified disk."""
|
||||||
print_standard('{:5}'.format(disk.device.replace('/', ' ')),
|
print_standard('{:5}'.format(disk.device.replace('/', ' ')),
|
||||||
|
|
@ -459,7 +474,7 @@ def show_os_name():
|
||||||
def show_temp_files_size():
|
def show_temp_files_size():
|
||||||
"""Show total size of temp files identified by BleachBit."""
|
"""Show total size of temp files identified by BleachBit."""
|
||||||
size = None
|
size = None
|
||||||
with open(r'{LogDir}\BleachBit.log'.format(**global_vars), 'r') as f:
|
with open(r'{LogDir}\Tools\BleachBit.log'.format(**global_vars), 'r') as f:
|
||||||
for line in f.readlines():
|
for line in f.readlines():
|
||||||
if re.search(r'^disk space to be recovered:', line, re.IGNORECASE):
|
if re.search(r'^disk space to be recovered:', line, re.IGNORECASE):
|
||||||
size = re.sub(r'.*: ', '', line.strip())
|
size = re.sub(r'.*: ', '', line.strip())
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
## Wizard Kit: Functions - Network
|
## Wizard Kit: Functions - Network
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Init
|
# Init
|
||||||
|
|
@ -26,13 +27,8 @@ def connect_to_network():
|
||||||
if is_connected():
|
if is_connected():
|
||||||
return
|
return
|
||||||
|
|
||||||
# LAN
|
|
||||||
if 'en' in net_ifs:
|
|
||||||
# Reload the tg3/broadcom driver (known fix for some Dell systems)
|
|
||||||
try_and_print(message='Reloading drivers...', function=reload_tg3)
|
|
||||||
|
|
||||||
# WiFi
|
# WiFi
|
||||||
if not is_connected() and 'wl' in net_ifs:
|
if 'wl' in net_ifs:
|
||||||
cmd = [
|
cmd = [
|
||||||
'nmcli', 'dev', 'wifi',
|
'nmcli', 'dev', 'wifi',
|
||||||
'connect', WIFI_SSID,
|
'connect', WIFI_SSID,
|
||||||
|
|
@ -71,13 +67,6 @@ def speedtest():
|
||||||
output = [(a, float(b), c) for a, b, c in output]
|
output = [(a, float(b), c) for a, b, c in output]
|
||||||
return ['{:10}{:6.2f} {}'.format(*line) for line in output]
|
return ['{:10}{:6.2f} {}'.format(*line) for line in output]
|
||||||
|
|
||||||
def reload_tg3():
|
|
||||||
"""Reload tg3 module as a workaround for some Dell systems."""
|
|
||||||
run_program(['sudo', 'modprobe', '-r', 'tg3'])
|
|
||||||
run_program(['sudo', 'modprobe', 'broadcom'])
|
|
||||||
run_program(['sudo', 'modprobe', 'tg3'])
|
|
||||||
sleep(5)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("This file is not meant to be called directly.")
|
print("This file is not meant to be called directly.")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@ def run_chkdsk_scan():
|
||||||
raise GenericError
|
raise GenericError
|
||||||
|
|
||||||
# Save stderr
|
# Save stderr
|
||||||
with open(r'{LogDir}\CHKDSK.err'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\CHKDSK.err'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stderr.decode().splitlines():
|
for line in out.stderr.decode().splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Save stdout
|
# Save stdout
|
||||||
with open(r'{LogDir}\CHKDSK.log'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\CHKDSK.log'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stdout.decode().splitlines():
|
for line in out.stdout.decode().splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/RestoreHealth',
|
'/Cleanup-Image', '/RestoreHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_RestoreHealth.log"'.format(
|
r'/LogPath:"{LogDir}\Tools\DISM_RestoreHealth.log"'.format(
|
||||||
**global_vars),
|
**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
else:
|
else:
|
||||||
|
|
@ -58,7 +58,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/ScanHealth',
|
'/Cleanup-Image', '/ScanHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_ScanHealth.log"'.format(
|
r'/LogPath:"{LogDir}\Tools\DISM_ScanHealth.log"'.format(
|
||||||
**global_vars),
|
**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
run_program(cmd, pipe=False, check=False, shell=True)
|
run_program(cmd, pipe=False, check=False, shell=True)
|
||||||
|
|
@ -67,7 +67,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/CheckHealth',
|
'/Cleanup-Image', '/CheckHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_CheckHealth.log"'.format(**global_vars)]
|
r'/LogPath:"{LogDir}\Tools\DISM_CheckHealth.log"'.format(**global_vars)]
|
||||||
result = run_program(cmd, shell=True).stdout.decode()
|
result = run_program(cmd, shell=True).stdout.decode()
|
||||||
# Check result
|
# Check result
|
||||||
if 'no component store corruption detected' not in result.lower():
|
if 'no component store corruption detected' not in result.lower():
|
||||||
|
|
@ -93,11 +93,11 @@ def run_sfc_scan():
|
||||||
'/scannow']
|
'/scannow']
|
||||||
out = run_program(cmd, check=False)
|
out = run_program(cmd, check=False)
|
||||||
# Save stderr
|
# Save stderr
|
||||||
with open(r'{LogDir}\SFC.err'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\SFC.err'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stderr.decode('utf-8', 'ignore').splitlines():
|
for line in out.stderr.decode('utf-8', 'ignore').splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Save stdout
|
# Save stdout
|
||||||
with open(r'{LogDir}\SFC.log'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\SFC.log'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stdout.decode('utf-8', 'ignore').splitlines():
|
for line in out.stdout.decode('utf-8', 'ignore').splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Check result
|
# Check result
|
||||||
|
|
@ -116,7 +116,7 @@ def run_tdsskiller():
|
||||||
**global_vars), exist_ok=True)
|
**global_vars), exist_ok=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['TDSSKiller'],
|
global_vars['Tools']['TDSSKiller'],
|
||||||
'-l', r'{LogDir}\TDSSKiller.log'.format(**global_vars),
|
'-l', r'{LogDir}\Tools\TDSSKiller.log'.format(**global_vars),
|
||||||
'-qpath', r'{QuarantineDir}\TDSSKiller'.format(**global_vars),
|
'-qpath', r'{QuarantineDir}\TDSSKiller'.format(**global_vars),
|
||||||
'-accepteula', '-accepteulaksn',
|
'-accepteula', '-accepteulaksn',
|
||||||
'-dcexact', '-tdlfs']
|
'-dcexact', '-tdlfs']
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,17 @@
|
||||||
# Wizard Kit: Functions - Setup
|
# Wizard Kit: Functions - Setup
|
||||||
|
|
||||||
from functions.common import *
|
from functions.common import *
|
||||||
|
from functions.update import *
|
||||||
|
from settings.sources import *
|
||||||
|
|
||||||
# STATIC VARIABLES
|
# STATIC VARIABLES
|
||||||
|
HKU = winreg.HKEY_USERS
|
||||||
|
HKCR = winreg.HKEY_CLASSES_ROOT
|
||||||
HKCU = winreg.HKEY_CURRENT_USER
|
HKCU = winreg.HKEY_CURRENT_USER
|
||||||
HKLM = winreg.HKEY_LOCAL_MACHINE
|
HKLM = winreg.HKEY_LOCAL_MACHINE
|
||||||
|
MOZILLA_FIREFOX_UBO_PATH = r'{}\{}\ublock_origin.xpi'.format(
|
||||||
|
os.environ.get('PROGRAMFILES'),
|
||||||
|
r'Mozilla Firefox\distribution\extensions')
|
||||||
OTHER_RESULTS = {
|
OTHER_RESULTS = {
|
||||||
'Error': {
|
'Error': {
|
||||||
'CalledProcessError': 'Unknown Error',
|
'CalledProcessError': 'Unknown Error',
|
||||||
|
|
@ -25,16 +32,38 @@ SETTINGS_CLASSIC_START = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
SETTINGS_ESET = {
|
||||||
|
r'Software\ESET\ESET Security\CurrentVersion\gui\UI_CONFIG': {
|
||||||
|
'DWORD Items': {
|
||||||
|
'FullScreenMode': 0,
|
||||||
|
'ShowDesktopAlert': 0,
|
||||||
|
'ShowSplash': 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
SETTINGS_EXPLORER_SYSTEM_HW = {
|
||||||
|
# Enable RegBack
|
||||||
|
r'System\CurrentControlSet\Control\Session Manager\Configuration Manager': {
|
||||||
|
'DWORD Items': {'EnablePeriodicBackup': 1},
|
||||||
|
},
|
||||||
|
}
|
||||||
SETTINGS_EXPLORER_SYSTEM = {
|
SETTINGS_EXPLORER_SYSTEM = {
|
||||||
|
# Disable Location Tracking
|
||||||
|
r'Software\Microsoft\Windows NT\CurrentVersion\Sensor\Overrides\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}': {
|
||||||
|
'DWORD Items': {'SensorPermissionState': 0},
|
||||||
|
},
|
||||||
|
r'System\CurrentControlSet\Services\lfsvc\Service\Configuration': {
|
||||||
|
'Status': {'Value': 0},
|
||||||
|
},
|
||||||
# Disable Telemetry
|
# Disable Telemetry
|
||||||
r'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection': {
|
r'Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection': {
|
||||||
'DWORD Items': {'AllowTelemetry': 0},
|
'DWORD Items': {'AllowTelemetry': 0},
|
||||||
},
|
},
|
||||||
r'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection': {
|
r'Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection': {
|
||||||
'DWORD Items': {'AllowTelemetry': 0},
|
'DWORD Items': {'AllowTelemetry': 0},
|
||||||
'WOW64_32': True,
|
'WOW64_32': True,
|
||||||
},
|
},
|
||||||
r'SOFTWARE\Policies\Microsoft\Windows\DataCollection': {
|
r'Software\Policies\Microsoft\Windows\DataCollection': {
|
||||||
'DWORD Items': {'AllowTelemetry': 0},
|
'DWORD Items': {'AllowTelemetry': 0},
|
||||||
},
|
},
|
||||||
# Disable Wi-Fi Sense
|
# Disable Wi-Fi Sense
|
||||||
|
|
@ -44,27 +73,23 @@ SETTINGS_EXPLORER_SYSTEM = {
|
||||||
r'Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots': {
|
r'Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots': {
|
||||||
'DWORD Items': {'Value': 0},
|
'DWORD Items': {'Value': 0},
|
||||||
},
|
},
|
||||||
# Disable Location Tracking
|
# Enable RegBack
|
||||||
r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Sensor\Overrides\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}': {
|
r'System\CurrentControlSet\Control\Session Manager\Configuration Manager': {
|
||||||
'DWORD Items': {'SensorPermissionState': 0},
|
'DWORD Items': {'EnablePeriodicBackup': 1},
|
||||||
},
|
|
||||||
r'System\CurrentControlSet\Services\lfsvc\Service\Configuration': {
|
|
||||||
'Status': {'Value': 0},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
SETTINGS_EXPLORER_USER = {
|
SETTINGS_EXPLORER_USER = {
|
||||||
# Disable Cortana
|
# Disable silently installed apps
|
||||||
r'Software\Microsoft\Personalization\Settings': {
|
r'Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager': {
|
||||||
'DWORD Items': {'AcceptedPrivacyPolicy': 0},
|
'DWORD Items': {'SilentInstalledAppsEnabled': 0},
|
||||||
},
|
},
|
||||||
r'Software\Microsoft\InputPersonalization': {
|
# Disable Tips and Tricks
|
||||||
'DWORD Items': {
|
r'Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager': {
|
||||||
'RestrictImplicitTextCollection': 1,
|
'DWORD Items': {'SoftLandingEnabled ': 0},
|
||||||
'RestrictImplicitInkCollection': 1
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
r'Software\Microsoft\InputPersonalization\TrainedDataStore': {
|
# Hide People bar
|
||||||
'DWORD Items': {'HarvestContacts': 1},
|
r'Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People': {
|
||||||
|
'DWORD Items': {'PeopleBand': 0},
|
||||||
},
|
},
|
||||||
# Hide Search button / box
|
# Hide Search button / box
|
||||||
r'Software\Microsoft\Windows\CurrentVersion\Search': {
|
r'Software\Microsoft\Windows\CurrentVersion\Search': {
|
||||||
|
|
@ -76,9 +101,6 @@ SETTINGS_EXPLORER_USER = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
SETTINGS_GOOGLE_CHROME = {
|
SETTINGS_GOOGLE_CHROME = {
|
||||||
r'Software\Google\Chrome\Extensions': {
|
|
||||||
'WOW64_32': True,
|
|
||||||
},
|
|
||||||
r'Software\Google\Chrome\Extensions\cjpalhdlnbpafiamejdnhcphjbkeiagm': {
|
r'Software\Google\Chrome\Extensions\cjpalhdlnbpafiamejdnhcphjbkeiagm': {
|
||||||
'SZ Items': {
|
'SZ Items': {
|
||||||
'update_url': 'https://clients2.google.com/service/update2/crx'},
|
'update_url': 'https://clients2.google.com/service/update2/crx'},
|
||||||
|
|
@ -90,11 +112,20 @@ SETTINGS_GOOGLE_CHROME = {
|
||||||
'WOW64_32': True,
|
'WOW64_32': True,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
SETTINGS_MOZILLA_FIREFOX_32 = {
|
||||||
|
r'Software\Mozilla\Firefox\Extensions': {
|
||||||
|
'SZ Items': {
|
||||||
|
'uBlock0@raymondhill.net': MOZILLA_FIREFOX_UBO_PATH},
|
||||||
|
'WOW64_32': True,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
SETTINGS_MOZILLA_FIREFOX_64 = {
|
||||||
|
r'Software\Mozilla\Firefox\Extensions': {
|
||||||
|
'SZ Items': {
|
||||||
|
'uBlock0@raymondhill.net': MOZILLA_FIREFOX_UBO_PATH},
|
||||||
|
},
|
||||||
|
}
|
||||||
VCR_REDISTS = [
|
VCR_REDISTS = [
|
||||||
{'Name': 'Visual C++ 2008 SP1 x32...',
|
|
||||||
'Cmd': [r'2008sp1\x32\vcredist.exe', '/qb! /norestart']},
|
|
||||||
{'Name': 'Visual C++ 2008 SP1 x64...',
|
|
||||||
'Cmd': [r'2008sp1\x64\vcredist.exe', '/qb! /norestart']},
|
|
||||||
{'Name': 'Visual C++ 2010 x32...',
|
{'Name': 'Visual C++ 2010 x32...',
|
||||||
'Cmd': [r'2010sp1\x32\vcredist.exe', '/passive', '/norestart']},
|
'Cmd': [r'2010sp1\x32\vcredist.exe', '/passive', '/norestart']},
|
||||||
{'Name': 'Visual C++ 2010 x64...',
|
{'Name': 'Visual C++ 2010 x64...',
|
||||||
|
|
@ -169,6 +200,56 @@ def config_classicstart():
|
||||||
sleep(1)
|
sleep(1)
|
||||||
popen_program(cs_exe)
|
popen_program(cs_exe)
|
||||||
|
|
||||||
|
def config_explorer_system_hw():
|
||||||
|
"""Configure Windows Explorer for all users via Registry settings (HW)."""
|
||||||
|
write_registry_settings(SETTINGS_EXPLORER_SYSTEM_HW, all_users=True)
|
||||||
|
|
||||||
|
def config_explorer_system():
|
||||||
|
"""Configure Windows Explorer for all users via Registry settings."""
|
||||||
|
write_registry_settings(SETTINGS_EXPLORER_SYSTEM, all_users=True)
|
||||||
|
|
||||||
|
def config_explorer_user():
|
||||||
|
"""Configure Windows Explorer for current user via Registry settings."""
|
||||||
|
write_registry_settings(SETTINGS_EXPLORER_USER, all_users=False)
|
||||||
|
|
||||||
|
def config_privacy_settings():
|
||||||
|
"""Configure Windows 10 privacy settings with O&O ShutUp10."""
|
||||||
|
extract_item('ShutUp10', silent=True)
|
||||||
|
cmd = [
|
||||||
|
r'{BinDir}\ShutUp10\OOSU10.exe'.format(**global_vars),
|
||||||
|
r'{BinDir}\ShutUp10\1201.cfg'.format(**global_vars),
|
||||||
|
'/quiet']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
def enable_system_restore():
|
||||||
|
"""Enable System Restore and set disk usage to 5%"""
|
||||||
|
cmd = [
|
||||||
|
'PowerShell',
|
||||||
|
'-Command', 'Enable-ComputerRestore',
|
||||||
|
'-Drive', '{}\\'.format(global_vars['Env']['SYSTEMDRIVE'])]
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
# Set disk usage
|
||||||
|
cmd = [
|
||||||
|
r'{}\System32\vssadmin.exe'.format(global_vars['Env']['SYSTEMROOT']),
|
||||||
|
'resize', 'shadowstorage',
|
||||||
|
'/on={}'.format(global_vars['Env']['SYSTEMDRIVE']),
|
||||||
|
'/for={}'.format(global_vars['Env']['SYSTEMDRIVE']),
|
||||||
|
'/maxsize=5%']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
def update_clock():
|
||||||
|
"""Set Timezone and sync clock."""
|
||||||
|
run_program(['tzutil' ,'/s', WINDOWS_TIME_ZONE], check=False)
|
||||||
|
run_program(['net', 'stop', 'w32ime'], check=False)
|
||||||
|
run_program(
|
||||||
|
['w32tm', '/config', '/syncfromflags:manual',
|
||||||
|
'/manualpeerlist:"us.pool.ntp.org time.nist.gov time.windows.com"',
|
||||||
|
],
|
||||||
|
check=False)
|
||||||
|
run_program(['net', 'start', 'w32ime'], check=False)
|
||||||
|
run_program(['w32tm', '/resync', '/nowait'], check=False)
|
||||||
|
|
||||||
def write_registry_settings(settings, all_users=False):
|
def write_registry_settings(settings, all_users=False):
|
||||||
"""Write registry values from custom dict of dicts."""
|
"""Write registry values from custom dict of dicts."""
|
||||||
hive = HKCU
|
hive = HKCU
|
||||||
|
|
@ -188,26 +269,6 @@ def write_registry_settings(settings, all_users=False):
|
||||||
for name, value in v.get('SZ Items', {}).items():
|
for name, value in v.get('SZ Items', {}).items():
|
||||||
winreg.SetValueEx(key, name, 0, winreg.REG_SZ, value)
|
winreg.SetValueEx(key, name, 0, winreg.REG_SZ, value)
|
||||||
|
|
||||||
def config_explorer_system():
|
|
||||||
"""Configure Windows Explorer for all users via Registry settings."""
|
|
||||||
write_registry_settings(SETTINGS_EXPLORER_SYSTEM, all_users=True)
|
|
||||||
|
|
||||||
def config_explorer_user():
|
|
||||||
"""Configure Windows Explorer for current user via Registry settings."""
|
|
||||||
write_registry_settings(SETTINGS_EXPLORER_USER, all_users=False)
|
|
||||||
|
|
||||||
def update_clock():
|
|
||||||
"""Set Timezone and sync clock."""
|
|
||||||
run_program(['tzutil' ,'/s', WINDOWS_TIME_ZONE], check=False)
|
|
||||||
run_program(['net', 'stop', 'w32ime'], check=False)
|
|
||||||
run_program(
|
|
||||||
['w32tm', '/config', '/syncfromflags:manual',
|
|
||||||
'/manualpeerlist:"us.pool.ntp.org time.nist.gov time.windows.com"',
|
|
||||||
],
|
|
||||||
check=False)
|
|
||||||
run_program(['net', 'start', 'w32ime'], check=False)
|
|
||||||
run_program(['w32tm', '/resync', '/nowait'], check=False)
|
|
||||||
|
|
||||||
# Installations
|
# Installations
|
||||||
def install_adobe_reader():
|
def install_adobe_reader():
|
||||||
"""Install Adobe Reader."""
|
"""Install Adobe Reader."""
|
||||||
|
|
@ -221,7 +282,7 @@ def install_adobe_reader():
|
||||||
run_program(cmd)
|
run_program(cmd)
|
||||||
|
|
||||||
def install_chrome_extensions():
|
def install_chrome_extensions():
|
||||||
"""Update registry to 'install' Google Chrome extensions for all users."""
|
"""Update registry to install Google Chrome extensions for all users."""
|
||||||
write_registry_settings(SETTINGS_GOOGLE_CHROME, all_users=True)
|
write_registry_settings(SETTINGS_GOOGLE_CHROME, all_users=True)
|
||||||
|
|
||||||
def install_classicstart_skin():
|
def install_classicstart_skin():
|
||||||
|
|
@ -237,17 +298,52 @@ def install_classicstart_skin():
|
||||||
os.makedirs(dest_path, exist_ok=True)
|
os.makedirs(dest_path, exist_ok=True)
|
||||||
shutil.copy(source, dest)
|
shutil.copy(source, dest)
|
||||||
|
|
||||||
|
def install_eset_nod32_av(scan_pups=True):
|
||||||
|
"""Install ESET NOD32 AV with custom config."""
|
||||||
|
extract_item('ESETConfigs', silent=True)
|
||||||
|
config_file = r'{BinDir}\ESETConfigs\{config_file}.xml'.format(
|
||||||
|
config_file='eset-config' if scan_pups else 'eset-config-no-pup',
|
||||||
|
**global_vars)
|
||||||
|
|
||||||
|
# Apply user configuration
|
||||||
|
write_registry_settings(SETTINGS_ESET, all_users=False)
|
||||||
|
|
||||||
|
# Download
|
||||||
|
result = try_and_print(message='Downloading Setup...', cs='Done',
|
||||||
|
other_results=OTHER_RESULTS, function=download_generic,
|
||||||
|
out_dir=global_vars['ClientDir'],
|
||||||
|
out_name='eav_nt64.exe',
|
||||||
|
source_url=SOURCE_URLS['ESET NOD32 AV'])
|
||||||
|
installer = r'{ClientDir}\eav_nt64.exe'.format(**global_vars)
|
||||||
|
if not result['CS']:
|
||||||
|
raise GenericError('Failed to download ESET NOD32 AV')
|
||||||
|
|
||||||
|
# Install
|
||||||
|
cmd = [installer,
|
||||||
|
'--silent', '--accepteula', '--msi-property',
|
||||||
|
'PRODUCTTYPE=eav', 'PRODUCT_LANG=1033', 'PRODUCT_LANG_CODE=en-US',
|
||||||
|
'ADMINCFG="{}"'.format(config_file)]
|
||||||
|
try_and_print(message='Installing ESET NOD32 AV...',
|
||||||
|
other_results=OTHER_RESULTS, function=run_program, cmd=cmd)
|
||||||
|
|
||||||
|
# Delete installer
|
||||||
|
remove_item(installer)
|
||||||
|
|
||||||
def install_firefox_extensions():
|
def install_firefox_extensions():
|
||||||
"""Extract Firefox extensions to installation folder."""
|
"""Update registry to install Firefox extensions for all users."""
|
||||||
dist_path = r'{PROGRAMFILES}\Mozilla Firefox\distribution\extensions'.format(
|
dist_path = r'{PROGRAMFILES}\Mozilla Firefox\distribution\extensions'.format(
|
||||||
**global_vars['Env'])
|
**global_vars['Env'])
|
||||||
source_path = r'{CBinDir}\FirefoxExtensions.7z'.format(**global_vars)
|
source_path = r'{CBinDir}\FirefoxExtensions.7z'.format(**global_vars)
|
||||||
if not os.path.exists(source_path):
|
if not os.path.exists(source_path):
|
||||||
raise FileNotFoundError
|
raise FileNotFoundError
|
||||||
|
|
||||||
|
# Update registry
|
||||||
|
write_registry_settings(SETTINGS_MOZILLA_FIREFOX_32, all_users=True)
|
||||||
|
write_registry_settings(SETTINGS_MOZILLA_FIREFOX_64, all_users=True)
|
||||||
|
|
||||||
# Extract extension(s) to distribution folder
|
# Extract extension(s) to distribution folder
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['SevenZip'], 'x', '-aos', '-bso0', '-bse0',
|
global_vars['Tools']['SevenZip'], 'e', '-aos', '-bso0', '-bse0',
|
||||||
'-p{ArchivePassword}'.format(**global_vars),
|
'-p{ArchivePassword}'.format(**global_vars),
|
||||||
'-o{dist_path}'.format(dist_path=dist_path),
|
'-o{dist_path}'.format(dist_path=dist_path),
|
||||||
source_path]
|
source_path]
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,9 @@ def remove_from_kit(item):
|
||||||
item_locations = []
|
item_locations = []
|
||||||
for p in [global_vars['BinDir'], global_vars['CBinDir']]:
|
for p in [global_vars['BinDir'], global_vars['CBinDir']]:
|
||||||
item_locations.append(r'{}\{}'.format(p, item))
|
item_locations.append(r'{}\{}'.format(p, item))
|
||||||
|
item_locations.append(r'{}\{}.7z'.format(p, item))
|
||||||
item_locations.append(r'{}\_Drivers\{}'.format(p, item))
|
item_locations.append(r'{}\_Drivers\{}'.format(p, item))
|
||||||
|
item_locations.append(r'{}\_Drivers\{}.7z'.format(p, item))
|
||||||
for item_path in item_locations:
|
for item_path in item_locations:
|
||||||
remove_item(item_path)
|
remove_item(item_path)
|
||||||
|
|
||||||
|
|
@ -235,19 +237,74 @@ def update_fastcopy():
|
||||||
remove_from_kit('FastCopy')
|
remove_from_kit('FastCopy')
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
download_to_temp('FastCopy32.zip', SOURCE_URLS['FastCopy32'])
|
download_to_temp('FastCopy.zip', SOURCE_URLS['FastCopy'])
|
||||||
download_to_temp('FastCopy64.zip', SOURCE_URLS['FastCopy64'])
|
|
||||||
|
|
||||||
# Extract
|
# Extract installer
|
||||||
extract_temp_to_bin('FastCopy64.zip', 'FastCopy', sz_args=['FastCopy.exe'])
|
extract_temp_to_bin('FastCopy.zip', 'FastCopy')
|
||||||
|
_path = r'{}\FastCopy'.format(global_vars['BinDir'])
|
||||||
|
_installer = 'FastCopy354_installer.exe'
|
||||||
|
|
||||||
|
# Extract 64-bit
|
||||||
|
cmd = [
|
||||||
|
r'{}\{}'.format(_path, _installer),
|
||||||
|
'/NOSUBDIR', '/DIR={}'.format(_path),
|
||||||
|
'/EXTRACT64']
|
||||||
|
run_program(cmd)
|
||||||
shutil.move(
|
shutil.move(
|
||||||
r'{}\FastCopy\FastCopy.exe'.format(global_vars['BinDir']),
|
r'{}\FastCopy\FastCopy.exe'.format(global_vars['BinDir']),
|
||||||
r'{}\FastCopy\FastCopy64.exe'.format(global_vars['BinDir']))
|
r'{}\FastCopy\FastCopy64.exe'.format(global_vars['BinDir']))
|
||||||
extract_temp_to_bin('FastCopy32.zip', 'FastCopy', sz_args=[r'-x!setup.exe', r'-x!*.dll'])
|
|
||||||
|
# Extract 32-bit
|
||||||
|
cmd = [
|
||||||
|
r'{}\{}'.format(_path, _installer),
|
||||||
|
'/NOSUBDIR', '/DIR={}'.format(_path),
|
||||||
|
'/EXTRACT32']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('FastCopy32.zip')
|
os.remove(r'{}\{}'.format(_path, _installer))
|
||||||
remove_from_temp('FastCopy64.zip')
|
os.remove(r'{}\setup.exe'.format(_path, _installer))
|
||||||
|
remove_from_temp('FastCopy.zip')
|
||||||
|
|
||||||
|
def update_linux_reader():
|
||||||
|
# Stop running processes
|
||||||
|
for exe in ['LinuxReader.exe', 'LinuxReader64.exe']:
|
||||||
|
kill_process(exe)
|
||||||
|
|
||||||
|
# Remove existing folders
|
||||||
|
remove_from_kit('LinuxReader')
|
||||||
|
|
||||||
|
# Prep
|
||||||
|
install_dir = r'{}\LinuxReaderTemp'.format(global_vars['TmpDir'])
|
||||||
|
dest = r'{}\LinuxReader'.format(global_vars['CBinDir'])
|
||||||
|
uninstaller = None
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_to_temp('LinuxReader.exe', SOURCE_URLS['Linux Reader'])
|
||||||
|
|
||||||
|
# Install to temp
|
||||||
|
cmd = [
|
||||||
|
r'{}\LinuxReader.exe'.format(global_vars['TmpDir']),
|
||||||
|
'/S',
|
||||||
|
'/D={}'.format(install_dir)]
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
# Copy files
|
||||||
|
shutil.copytree(install_dir, dest)
|
||||||
|
for item in os.scandir(dest):
|
||||||
|
r = re.search(r'^uninstall.*(dat|exe)$', item.name, re.IGNORECASE)
|
||||||
|
if r:
|
||||||
|
if 'exe' in item.name:
|
||||||
|
uninstaller = r'{}\{}'.format(install_dir, item.name)
|
||||||
|
remove_item(item.path)
|
||||||
|
|
||||||
|
# Uninstall from temp
|
||||||
|
if uninstaller:
|
||||||
|
cmd = [uninstaller, '/S']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
remove_from_temp('LinuxReader.exe')
|
||||||
|
|
||||||
def update_wimlib():
|
def update_wimlib():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
|
|
@ -392,6 +449,46 @@ def update_erunt():
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('erunt.zip')
|
remove_from_temp('erunt.zip')
|
||||||
|
|
||||||
|
def update_furmark():
|
||||||
|
# Stop running processes
|
||||||
|
for exe in ['cpuburner.exe', 'FurMark.exe', 'gpushark.exe', 'gpuz.exe']:
|
||||||
|
kill_process(exe)
|
||||||
|
|
||||||
|
# Remove existing folders
|
||||||
|
remove_from_kit('FurMark')
|
||||||
|
|
||||||
|
# Prep
|
||||||
|
install_dir = r'{}\FurMarkTemp'.format(global_vars['TmpDir'])
|
||||||
|
dest = r'{}\FurMark'.format(global_vars['CBinDir'])
|
||||||
|
uninstaller = None
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_to_temp('furmark_setup.exe', SOURCE_URLS['FurMark'])
|
||||||
|
|
||||||
|
# Install to temp
|
||||||
|
cmd = [
|
||||||
|
r'{}\furmark_setup.exe'.format(global_vars['TmpDir']),
|
||||||
|
'/DIR={}'.format(install_dir),
|
||||||
|
'/SILENT']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
# Copy files
|
||||||
|
shutil.copytree(install_dir, dest)
|
||||||
|
for item in os.scandir(dest):
|
||||||
|
r = re.search(r'^unins\d+\.(dat|exe)$', item.name, re.IGNORECASE)
|
||||||
|
if r:
|
||||||
|
if 'exe' in item.name:
|
||||||
|
uninstaller = r'{}\{}'.format(install_dir, item.name)
|
||||||
|
remove_item(item.path)
|
||||||
|
|
||||||
|
# Uninstall from temp
|
||||||
|
if uninstaller:
|
||||||
|
cmd = [uninstaller, '/SILENT']
|
||||||
|
run_program(cmd)
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
remove_from_temp('furmark_setup.exe')
|
||||||
|
|
||||||
def update_hitmanpro():
|
def update_hitmanpro():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
for exe in ['HitmanPro.exe', 'HitmanPro64.exe']:
|
for exe in ['HitmanPro.exe', 'HitmanPro64.exe']:
|
||||||
|
|
@ -420,6 +517,29 @@ def update_hwinfo():
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('HWiNFO.zip')
|
remove_from_temp('HWiNFO.zip')
|
||||||
|
|
||||||
|
def update_nircmd():
|
||||||
|
# Stop running processes
|
||||||
|
for exe in ['nircmdc.exe', 'nircmdc64.exe']:
|
||||||
|
kill_process(exe)
|
||||||
|
|
||||||
|
# Remove existing folders
|
||||||
|
remove_from_kit('NirCmd')
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_to_temp('nircmd32.zip', SOURCE_URLS['NirCmd32'])
|
||||||
|
download_to_temp('nircmd64.zip', SOURCE_URLS['NirCmd64'])
|
||||||
|
|
||||||
|
# Extract files
|
||||||
|
extract_temp_to_cbin('nircmd64.zip', 'NirCmd', sz_args=['nircmdc.exe'])
|
||||||
|
shutil.move(
|
||||||
|
r'{}\NirCmd\nircmdc.exe'.format(global_vars['CBinDir']),
|
||||||
|
r'{}\NirCmd\nircmdc64.exe'.format(global_vars['CBinDir']))
|
||||||
|
extract_temp_to_cbin('nircmd32.zip', 'NirCmd', sz_args=['nircmdc.exe'])
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
remove_from_temp('nircmd32.zip')
|
||||||
|
remove_from_temp('nircmd64.zip')
|
||||||
|
|
||||||
def update_produkey():
|
def update_produkey():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
for exe in ['ProduKey.exe', 'ProduKey64.exe']:
|
for exe in ['ProduKey.exe', 'ProduKey64.exe']:
|
||||||
|
|
@ -474,10 +594,18 @@ def update_samsung_magician():
|
||||||
remove_from_kit('Samsung Magician.exe')
|
remove_from_kit('Samsung Magician.exe')
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
download_generic(
|
download_to_temp('Samsung Magician.zip', SOURCE_URLS['Samsung Magician'])
|
||||||
r'{}\_Drivers\Samsung Magician'.format(global_vars['CBinDir']),
|
|
||||||
'Samsung Magician.exe',
|
# Extract
|
||||||
SOURCE_URLS['Samsung Magician'])
|
extract_temp_to_cbin('Samsung Magician.zip', '_Drivers\Samsung Magician')
|
||||||
|
shutil.move(
|
||||||
|
r'{}\_Drivers\Samsung Magician\Samsung_Magician_Installer.exe'.format(
|
||||||
|
global_vars['CBinDir']),
|
||||||
|
r'{}\_Drivers\Samsung Magician\Samsung Magician.exe'.format(
|
||||||
|
global_vars['CBinDir']))
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
remove_from_temp('Samsung Magician.zip')
|
||||||
|
|
||||||
def update_sdi_origin():
|
def update_sdi_origin():
|
||||||
# Download aria2
|
# Download aria2
|
||||||
|
|
@ -551,6 +679,28 @@ def update_adobe_reader_dc():
|
||||||
download_generic(
|
download_generic(
|
||||||
dest, 'Adobe Reader DC.exe', SOURCE_URLS['Adobe Reader DC'])
|
dest, 'Adobe Reader DC.exe', SOURCE_URLS['Adobe Reader DC'])
|
||||||
|
|
||||||
|
def update_eset_config():
|
||||||
|
"""Copy config files to .cbin before compress_item"""
|
||||||
|
dest = r'{}\ESETConfigs'.format(global_vars['CBinDir'])
|
||||||
|
include_path = r'{}\_include\ESETConfigs'.format(global_vars['CBinDir'])
|
||||||
|
if os.path.exists(include_path):
|
||||||
|
shutil.copytree(include_path, dest)
|
||||||
|
|
||||||
|
def update_macs_fan_control():
|
||||||
|
# Prep
|
||||||
|
dest = r'{}\Installers'.format(
|
||||||
|
global_vars['BaseDir'])
|
||||||
|
|
||||||
|
# Remove existing installer
|
||||||
|
try:
|
||||||
|
os.remove(r'{}\Macs Fan Control.exe'.format(dest))
|
||||||
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_generic(
|
||||||
|
dest, 'Macs Fan Control.exe', SOURCE_URLS['Macs Fan Control'])
|
||||||
|
|
||||||
def update_office():
|
def update_office():
|
||||||
# Remove existing folders
|
# Remove existing folders
|
||||||
remove_from_kit('_Office')
|
remove_from_kit('_Office')
|
||||||
|
|
@ -561,8 +711,8 @@ def update_office():
|
||||||
if os.path.exists(include_path):
|
if os.path.exists(include_path):
|
||||||
shutil.copytree(include_path, dest)
|
shutil.copytree(include_path, dest)
|
||||||
|
|
||||||
# Download and extract
|
for year in ['2016']:
|
||||||
for year in ['2013', '2016']:
|
# Download and extract
|
||||||
name = 'odt{}.exe'.format(year)
|
name = 'odt{}.exe'.format(year)
|
||||||
url = 'Office Deployment Tool {}'.format(year)
|
url = 'Office Deployment Tool {}'.format(year)
|
||||||
download_to_temp(name, SOURCE_URLS[url])
|
download_to_temp(name, SOURCE_URLS[url])
|
||||||
|
|
@ -576,9 +726,8 @@ def update_office():
|
||||||
r'{}\{}'.format(global_vars['TmpDir'], year),
|
r'{}\{}'.format(global_vars['TmpDir'], year),
|
||||||
r'{}\_Office\{}'.format(global_vars['CBinDir'], year))
|
r'{}\_Office\{}'.format(global_vars['CBinDir'], year))
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('odt2013.exe')
|
remove_from_temp('odt{}.exe'.format(year))
|
||||||
remove_from_temp('odt2016.exe')
|
|
||||||
|
|
||||||
def update_classic_start_skin():
|
def update_classic_start_skin():
|
||||||
# Remove existing folders
|
# Remove existing folders
|
||||||
|
|
@ -698,16 +847,10 @@ def update_firefox_ublock_origin():
|
||||||
remove_from_kit('FirefoxExtensions')
|
remove_from_kit('FirefoxExtensions')
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
download_to_temp('ff-uBO.xpi', SOURCE_URLS['Firefox uBO'])
|
download_generic(
|
||||||
|
r'{}\FirefoxExtensions'.format(global_vars['CBinDir']),
|
||||||
# Extract files
|
'ublock_origin.xpi',
|
||||||
extract_generic(
|
SOURCE_URLS['Firefox uBO'])
|
||||||
r'{}\ff-uBO.xpi'.format(global_vars['TmpDir']),
|
|
||||||
r'{}\FirefoxExtensions\uBlock0@raymondhill.net'.format(
|
|
||||||
global_vars['CBinDir']))
|
|
||||||
|
|
||||||
# Cleanup
|
|
||||||
remove_from_temp('ff-uBO.xpi')
|
|
||||||
|
|
||||||
def update_notepadplusplus():
|
def update_notepadplusplus():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
|
|
@ -745,22 +888,42 @@ def update_putty():
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('putty.zip')
|
remove_from_temp('putty.zip')
|
||||||
|
|
||||||
def update_treesizefree():
|
def update_shutup10():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
kill_process('TreeSizeFree.exe')
|
kill_process('OOSU10.exe')
|
||||||
|
|
||||||
# Remove existing folders
|
# Remove existing folders
|
||||||
remove_from_kit('TreeSizeFree')
|
remove_from_kit('ShutUp10')
|
||||||
|
|
||||||
|
# Copy settings
|
||||||
|
dest = r'{}\ShutUp10'.format(global_vars['CBinDir'])
|
||||||
|
include_path = r'{}\_include\ShutUp10'.format(global_vars['CBinDir'])
|
||||||
|
if os.path.exists(include_path):
|
||||||
|
shutil.copytree(include_path, dest)
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_generic(
|
||||||
|
r'{}\ShutUp10'.format(global_vars['CBinDir']),
|
||||||
|
'OOSU10.exe',
|
||||||
|
SOURCE_URLS['ShutUp10'])
|
||||||
|
|
||||||
|
def update_wiztree():
|
||||||
|
# Stop running processes
|
||||||
|
for process in ['WizTree.exe', 'WizTree64.exe']:
|
||||||
|
kill_process(process)
|
||||||
|
|
||||||
|
# Remove existing folders
|
||||||
|
remove_from_kit('WizTree')
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
download_to_temp(
|
download_to_temp(
|
||||||
'treesizefree.zip', SOURCE_URLS['TreeSizeFree'])
|
'wiztree.zip', SOURCE_URLS['WizTree'])
|
||||||
|
|
||||||
# Extract files
|
# Extract files
|
||||||
extract_temp_to_cbin('treesizefree.zip', 'TreeSizeFree')
|
extract_temp_to_cbin('wiztree.zip', 'WizTree')
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
remove_from_temp('treesizefree.zip')
|
remove_from_temp('wiztree.zip')
|
||||||
|
|
||||||
def update_xmplay():
|
def update_xmplay():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
|
|
@ -826,11 +989,10 @@ def update_adwcleaner():
|
||||||
remove_from_kit('AdwCleaner')
|
remove_from_kit('AdwCleaner')
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
url = resolve_dynamic_url(
|
|
||||||
SOURCE_URLS['AdwCleaner'],
|
|
||||||
'id="downloadLink"')
|
|
||||||
download_generic(
|
download_generic(
|
||||||
r'{}\AdwCleaner'.format(global_vars['CBinDir']), 'AdwCleaner.exe', url)
|
r'{}\AdwCleaner'.format(global_vars['CBinDir']),
|
||||||
|
'AdwCleaner.exe',
|
||||||
|
SOURCE_URLS['AdwCleaner'])
|
||||||
|
|
||||||
def update_kvrt():
|
def update_kvrt():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
|
|
@ -872,6 +1034,26 @@ def update_tdsskiller():
|
||||||
'TDSSKiller.exe',
|
'TDSSKiller.exe',
|
||||||
SOURCE_URLS['TDSSKiller'])
|
SOURCE_URLS['TDSSKiller'])
|
||||||
|
|
||||||
|
def update_winaiorepair():
|
||||||
|
# Stop running processes
|
||||||
|
kill_process('Repair_Windows.exe')
|
||||||
|
|
||||||
|
# Download
|
||||||
|
download_to_temp('winaio.zip', SOURCE_URLS['WinAIO Repair'])
|
||||||
|
|
||||||
|
# Extract
|
||||||
|
extract_temp_to_cbin('winaio.zip', 'WinAIORepair')
|
||||||
|
dest = r'{}\WinAIORepair'.format(global_vars['CBinDir'])
|
||||||
|
for item in os.scandir(r'{}\Tweaking.com - Windows Repair'.format(dest)):
|
||||||
|
dest_item = '{}\{}'.format(dest, item.name)
|
||||||
|
if not os.path.exists(dest_item):
|
||||||
|
shutil.move(item.path, dest_item)
|
||||||
|
shutil.rmtree(
|
||||||
|
r'{}\WinAIORepair\Tweaking.com - Windows Repair'.format(global_vars['CBinDir']))
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
remove_from_temp('winaio.zip')
|
||||||
|
|
||||||
## Uninstallers ##
|
## Uninstallers ##
|
||||||
def update_iobit_uninstaller():
|
def update_iobit_uninstaller():
|
||||||
# Stop running processes
|
# Stop running processes
|
||||||
|
|
|
||||||
|
|
@ -392,8 +392,8 @@ def menu_setup():
|
||||||
windows_version = windows_version)
|
windows_version = windows_version)
|
||||||
|
|
||||||
# Copy WinPE log(s)
|
# Copy WinPE log(s)
|
||||||
source = r'{}\Info'.format(global_vars['ClientDir'])
|
source = r'{}\Logs'.format(global_vars['ClientDir'])
|
||||||
dest = r'W:\{}\Info'.format(KIT_NAME_SHORT)
|
dest = r'W:\{}\Logs\WinPE'.format(KIT_NAME_SHORT)
|
||||||
shutil.copytree(source, dest)
|
shutil.copytree(source, dest)
|
||||||
|
|
||||||
# Print summary
|
# Print summary
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ MENU="hw-diags-menu"
|
||||||
|
|
||||||
function ask() {
|
function ask() {
|
||||||
while :; do
|
while :; do
|
||||||
read -p "$1 " -r answer
|
read -p "$1 [Y/N] " -r answer
|
||||||
if echo "$answer" | egrep -iq '^(y|yes|sure)$'; then
|
if echo "$answer" | egrep -iq '^(y|yes|sure)$'; then
|
||||||
return 0
|
return 0
|
||||||
elif echo "$answer" | egrep -iq '^(n|no|nope)$'; then
|
elif echo "$answer" | egrep -iq '^(n|no|nope)$'; then
|
||||||
|
|
@ -24,9 +24,12 @@ die () {
|
||||||
|
|
||||||
# Check for running session
|
# Check for running session
|
||||||
if tmux list-session | grep -q "$SESSION_NAME"; then
|
if tmux list-session | grep -q "$SESSION_NAME"; then
|
||||||
echo "WARNING: hw-diags tmux session already exists."
|
echo "WARNING: tmux session $SESSION_NAME already exists."
|
||||||
echo ""
|
echo ""
|
||||||
if ask "Kill current session?"; then
|
if ask "Connect to current session?"; then
|
||||||
|
# Do nothing, the command below will attach/connect
|
||||||
|
echo ""
|
||||||
|
elif ask "Kill current session and start new session?"; then
|
||||||
tmux kill-session -t "$SESSION_NAME" || \
|
tmux kill-session -t "$SESSION_NAME" || \
|
||||||
die "Failed to kill session: $SESSION_NAME"
|
die "Failed to kill session: $SESSION_NAME"
|
||||||
else
|
else
|
||||||
|
|
@ -39,5 +42,5 @@ if tmux list-session | grep -q "$SESSION_NAME"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start session
|
# Start session
|
||||||
tmux new-session -s "$SESSION_NAME" -n "$WINDOW_NAME" "$MENU" $*
|
tmux new-session -A -s "$SESSION_NAME" -n "$WINDOW_NAME" "$MENU" $*
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,11 @@ def get_feature_string(chip, feature):
|
||||||
|
|
||||||
for sf in sfs:
|
for sf in sfs:
|
||||||
name = sf.name[skipname:].decode("utf-8").strip()
|
name = sf.name[skipname:].decode("utf-8").strip()
|
||||||
val = sensors.get_value(chip, sf.number)
|
try:
|
||||||
|
val = sensors.get_value(chip, sf.number)
|
||||||
|
except Exception:
|
||||||
|
# Ignore upstream sensor bugs and lie instead
|
||||||
|
val = -123456789
|
||||||
if 'alarm' in name:
|
if 'alarm' in name:
|
||||||
# Skip
|
# Skip
|
||||||
continue
|
continue
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ for /f "tokens=* usebackq" %%f in (`findstr KIT_NAME_SHORT "%SETTINGS%"`) do (
|
||||||
set "KIT_NAME_SHORT=!_v:~0,-1!"
|
set "KIT_NAME_SHORT=!_v:~0,-1!"
|
||||||
)
|
)
|
||||||
set "client_dir=%systemdrive%\%KIT_NAME_SHORT%"
|
set "client_dir=%systemdrive%\%KIT_NAME_SHORT%"
|
||||||
set "log_dir=%client_dir%\Info\%iso_date%"
|
set "log_dir=%client_dir%\Logs\%iso_date%"
|
||||||
|
|
||||||
:Flags
|
:Flags
|
||||||
set _backups=
|
set _backups=
|
||||||
|
|
@ -45,7 +45,7 @@ set _transfer=
|
||||||
for %%f in (%*) do (
|
for %%f in (%*) do (
|
||||||
if /i "%%f" == "/DEBUG" (@echo on)
|
if /i "%%f" == "/DEBUG" (@echo on)
|
||||||
if /i "%%f" == "/Backups" set _backups=True
|
if /i "%%f" == "/Backups" set _backups=True
|
||||||
if /i "%%f" == "/Info" set _info=True
|
if /i "%%f" == "/Logs" set _logs=True
|
||||||
if /i "%%f" == "/Office" set _office=True
|
if /i "%%f" == "/Office" set _office=True
|
||||||
if /i "%%f" == "/Quarantine" set _quarantine=True
|
if /i "%%f" == "/Quarantine" set _quarantine=True
|
||||||
if /i "%%f" == "/QuickBooks" set _quickbooks=True
|
if /i "%%f" == "/QuickBooks" set _quickbooks=True
|
||||||
|
|
@ -54,7 +54,10 @@ for %%f in (%*) do (
|
||||||
|
|
||||||
:CreateDirs
|
:CreateDirs
|
||||||
if defined _backups mkdir "%client_dir%\Backups">nul 2>&1
|
if defined _backups mkdir "%client_dir%\Backups">nul 2>&1
|
||||||
if defined _info mkdir "%client_dir%\Info">nul 2>&1
|
if defined _logs (
|
||||||
|
mkdir "%log_dir%\%KIT_NAME_FULL%">nul 2>&1
|
||||||
|
mkdir "%log_dir%\d7II">nul 2>&1
|
||||||
|
mkdir "%log_dir%\Tools">nul 2>&1)
|
||||||
if defined _office mkdir "%client_dir%\Office">nul 2>&1
|
if defined _office mkdir "%client_dir%\Office">nul 2>&1
|
||||||
if defined _quarantine mkdir "%client_dir%\Quarantine">nul 2>&1
|
if defined _quarantine mkdir "%client_dir%\Quarantine">nul 2>&1
|
||||||
if defined _quickbooks mkdir "%client_dir%\QuickBooks">nul 2>&1
|
if defined _quickbooks mkdir "%client_dir%\QuickBooks">nul 2>&1
|
||||||
|
|
|
||||||
26
.bin/Scripts/install_eset_nod32_av.py
Normal file
26
.bin/Scripts/install_eset_nod32_av.py
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
# Wizard Kit: Install ESET NOD32 AV
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.setup import *
|
||||||
|
init_global_vars()
|
||||||
|
os.system('title {}: Install ESET NOD32 AV'.format(KIT_NAME_FULL))
|
||||||
|
set_log_file('Install ESET NOD32 AV.log')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
stay_awake()
|
||||||
|
clear_screen()
|
||||||
|
print_info('{}: Install ESET NOD32 AV\n'.format(KIT_NAME_FULL))
|
||||||
|
scan_pups = ask('Enable PUP scans in ESET?')
|
||||||
|
install_eset_nod32_av(scan_pups)
|
||||||
|
print_standard('\nDone.')
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: SW Bundle Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: SW Bundle Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Install SW Bundle.log'.format(**global_vars)
|
set_log_file('Install SW Bundle.log')
|
||||||
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
@ -25,20 +26,17 @@ if __name__ == '__main__':
|
||||||
'GenericRepair': 'Repaired',
|
'GenericRepair': 'Repaired',
|
||||||
'UnsupportedOSError': 'Unsupported OS',
|
'UnsupportedOSError': 'Unsupported OS',
|
||||||
}}
|
}}
|
||||||
answer_extensions = ask('Install Extensions?')
|
answer_extensions = D7_MODE or ask('Install Extensions?')
|
||||||
answer_adobe_reader = ask('Install Adobe Reader?')
|
answer_vcr = D7_MODE or ask('Install Visual C++ Runtimes?')
|
||||||
answer_vcr = ask('Install Visual C++ Runtimes?')
|
answer_ninite = D7_MODE or ask('Install Ninite Bundle?')
|
||||||
answer_ninite = ask('Install Ninite Bundle?')
|
if not D7_MODE and (
|
||||||
if answer_ninite and global_vars['OS']['Version'] in ['7']:
|
answer_ninite and global_vars['OS']['Version'] in ['7']):
|
||||||
# Vista is dead, not going to check for it
|
# Vista is dead, not going to check for it
|
||||||
answer_mse = ask('Install MSE?')
|
answer_mse = ask('Install MSE?')
|
||||||
else:
|
else:
|
||||||
answer_mse = False
|
answer_mse = False
|
||||||
|
|
||||||
print_info('Installing Programs')
|
print_info('Installing Programs')
|
||||||
if answer_adobe_reader:
|
|
||||||
try_and_print(message='Adobe Reader DC...',
|
|
||||||
function=install_adobe_reader, other_results=other_results)
|
|
||||||
if answer_vcr:
|
if answer_vcr:
|
||||||
install_vcredists()
|
install_vcredists()
|
||||||
if answer_ninite:
|
if answer_ninite:
|
||||||
|
|
@ -62,3 +60,5 @@ if __name__ == '__main__':
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
major_exception()
|
major_exception()
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ sys.path.append(os.getcwd())
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Install Visual C++ Runtimes'.format(KIT_NAME_FULL))
|
os.system('title {}: Install Visual C++ Runtimes'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Install Visual C++ Runtimes.log'.format(**global_vars)
|
set_log_file('Install Visual C++ Runtimes.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ if __name__ == '__main__':
|
||||||
print_standard('{}: Volume mount tool'.format(KIT_NAME_FULL))
|
print_standard('{}: Volume mount tool'.format(KIT_NAME_FULL))
|
||||||
|
|
||||||
# Mount volumes
|
# Mount volumes
|
||||||
report = mount_all_volumes()
|
report = mount_volumes(all_devices=True)
|
||||||
|
|
||||||
# Print report
|
# Print report
|
||||||
print_info('\nResults')
|
print_info('\nResults')
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ if [[ -f "${1:-}" ]]; then
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
# losetup did not detect partitions, attempt whole image
|
# losetup did not detect partitions, attempt whole image
|
||||||
udevil mount -o to "${LOOPDEV}" || true
|
udevil mount -o ro "${LOOPDEV}" || true
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
usage
|
usage
|
||||||
|
|
|
||||||
43
.bin/Scripts/network_stability_test.py
Normal file
43
.bin/Scripts/network_stability_test.py
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Wizard Kit: Network Stability Test
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.common import *
|
||||||
|
init_global_vars()
|
||||||
|
os.system('title {}: Network Stability Test'.format(KIT_NAME_FULL))
|
||||||
|
|
||||||
|
# STATIC VARIABLES
|
||||||
|
NETWORK_TEST_URL = 'https://testmy.net/auto?extraID=A&schType=&st=1&r_time=0.1666667&xtimes=12&minDFS=&minUFS='
|
||||||
|
YOUTUBE_VID_URL = 'https://youtu.be/z7VYVjR_nwE'
|
||||||
|
PING_URL = 'google.com'
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
stay_awake()
|
||||||
|
clear_screen()
|
||||||
|
print_info('{}: Network Stability Test\n'.format(KIT_NAME_FULL))
|
||||||
|
|
||||||
|
# Open programs
|
||||||
|
print_success('Starting browser tests')
|
||||||
|
popen_program(['start', '', NETWORK_TEST_URL.replace('&', '^&')], shell=True)
|
||||||
|
popen_program(['start', '', YOUTUBE_VID_URL], shell=True)
|
||||||
|
|
||||||
|
# Start pinging
|
||||||
|
try:
|
||||||
|
run_program(['ping', '/t', PING_URL], pipe=False)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
# Gracefully close on interrupt
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Done
|
||||||
|
print_standard('\nDone.')
|
||||||
|
pause('Press Enter to exit...')
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
15
.bin/Scripts/pacinit
Executable file
15
.bin/Scripts/pacinit
Executable file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Wizard Kit: Update pacman settings to usage in live sessions
|
||||||
|
|
||||||
|
# Disable custom repo (used at build-time)
|
||||||
|
sudo sed -i -r "s/^(\[custom\])/#\1/" /etc/pacman.conf
|
||||||
|
sudo sed -i -r "s/^(SigLevel = Optional TrustAll)/#\1/" /etc/pacman.conf
|
||||||
|
sudo sed -i -r "s/^(Server = )/#\1/" /etc/pacman.conf
|
||||||
|
|
||||||
|
# Disable signature checks
|
||||||
|
sudo sed -i -r "s/^SigLevel.*/SigLevel = Never/" /etc/pacman.conf
|
||||||
|
|
||||||
|
# Refresh package databases
|
||||||
|
sudo pacman -Sy
|
||||||
|
|
||||||
150
.bin/Scripts/photorec-sort
Executable file
150
.bin/Scripts/photorec-sort
Executable file
|
|
@ -0,0 +1,150 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## sort photorec results into something usefull
|
||||||
|
|
||||||
|
## Set paths
|
||||||
|
recup_dir="${1%/}"
|
||||||
|
[ -n "$recup_dir" ] || recup_dir="."
|
||||||
|
recup_dir="$(realpath "$recup_dir")"
|
||||||
|
out_dir="$recup_dir/Recovered"
|
||||||
|
bad_dir="$recup_dir/Corrupt"
|
||||||
|
|
||||||
|
## Test path before starting (using current dir if not specified)
|
||||||
|
for d in $recup_dir/recup*; do
|
||||||
|
### Source: http://stackoverflow.com/a/6364244
|
||||||
|
## Check if the glob gets expanded to existing files.
|
||||||
|
## If not, f here will be exactly the pattern above
|
||||||
|
## and the exists test will evaluate to false.
|
||||||
|
[ -e "$d" ] && echo "Found recup folder(s)" || {
|
||||||
|
echo "ERROR: No recup folders found"
|
||||||
|
echo "Usage: $0 recup_dir"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
## This is all we needed to know, so we can break after the first iteration
|
||||||
|
break
|
||||||
|
done
|
||||||
|
|
||||||
|
# Hard link files into folders by type
|
||||||
|
for d in $recup_dir/recup*; do
|
||||||
|
if [ -d "$d" ]; then
|
||||||
|
echo "Linking $d"
|
||||||
|
pushd $d >/dev/null
|
||||||
|
find -type f | while read k; do
|
||||||
|
file="$(basename "$k")"
|
||||||
|
src="$(realpath "$k")"
|
||||||
|
ext="$(echo "${file##*.}" | tr '[:upper:]' '[:lower:]')"
|
||||||
|
ext_dir="$out_dir/$ext"
|
||||||
|
if [ "${file##*.}" = "$file" ]; then
|
||||||
|
ext_dir="$out_dir/_MISC_"
|
||||||
|
elif [ "$ext" = "jpg" ] && [ "${file:0:1}" = "t" ]; then
|
||||||
|
ext_dir="$out_dir/jpg-thumbnail"
|
||||||
|
fi
|
||||||
|
#echo " $file -> $ext_dir"
|
||||||
|
[ -d "$ext_dir" ] || mkdir -p "$ext_dir"
|
||||||
|
ln "$src" "$ext_dir"
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
else
|
||||||
|
echo "ERROR: '$d' not a directory"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
## Check the files output by photorec for corruption
|
||||||
|
pushd "$out_dir" >/dev/null
|
||||||
|
|
||||||
|
# Check archives with 7-Zip
|
||||||
|
#for d in 7z bz2 gz lzh lzo rar tar xz zip; do
|
||||||
|
# if [ -d "$d" ]; then
|
||||||
|
# echo "Checking $d files"
|
||||||
|
# pushd "$d" >/dev/null
|
||||||
|
# for f in *; do
|
||||||
|
# if ! 7z t "$f" >/dev/null 2>&1; then
|
||||||
|
# #echo " BAD: $f"
|
||||||
|
# [ -d "$bad_dir/$d" ] || mkdir -p "$bad_dir/$d"
|
||||||
|
# mv -n "$f" "$bad_dir/$d/$f"
|
||||||
|
# fi
|
||||||
|
# done
|
||||||
|
# popd >/dev/null
|
||||||
|
# fi
|
||||||
|
#done
|
||||||
|
|
||||||
|
# Check Audio/Video files with ffprobe
|
||||||
|
for d in avi flac flv m4a m4p m4v mkv mid mov mp2 mp3 mp4 mpg mpg2 ogg ts vob wav; do
|
||||||
|
if [ -d "$d" ]; then
|
||||||
|
echo "Checking $d files"
|
||||||
|
pushd "$d" >/dev/null
|
||||||
|
for f in *; do
|
||||||
|
if ! ffprobe "$f" >/dev/null 2>&1; then
|
||||||
|
#echo " BAD: $f"
|
||||||
|
[ -d "$bad_dir/$d" ] || mkdir -p "$bad_dir/$d"
|
||||||
|
mv -n "$f" "$bad_dir/$d/$f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check .doc files with antiword
|
||||||
|
if [ -d "doc" ]; then
|
||||||
|
echo "Checking doc files"
|
||||||
|
pushd "doc" >/dev/null
|
||||||
|
for f in *doc; do
|
||||||
|
if ! antiword "$f" >/dev/null 2>&1; then
|
||||||
|
#echo " BAD: $f"
|
||||||
|
[ -d "$bad_dir/doc" ] || mkdir -p "$bad_dir/doc"
|
||||||
|
mv -n "$f" "$bad_dir/doc/$f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check .docx files with 7z and grep
|
||||||
|
if [ -d "docx" ]; then
|
||||||
|
echo "Checking docx files"
|
||||||
|
pushd "docx" >/dev/null
|
||||||
|
for f in *docx; do
|
||||||
|
if ! 7z l "$f" | grep -q -s "word/document.xml"; then
|
||||||
|
#echo " BAD: $f"
|
||||||
|
[ -d "$bad_dir/docx" ] || mkdir -p "$bad_dir/docx"
|
||||||
|
mv -n "$f" "$bad_dir/docx/$f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sort pictures by date (only for common camera formats)
|
||||||
|
for d in jpg mrw orf raf raw rw2 tif x3f; do
|
||||||
|
if [ -d "$d" ]; then
|
||||||
|
echo "Sorting $d files by date"
|
||||||
|
pushd "$d" >/dev/null
|
||||||
|
for f in *; do
|
||||||
|
date_dir="$(date -d "$(stat -c %y "$f")" +"%F")"
|
||||||
|
[ -d "$date_dir" ] || mkdir "$date_dir"
|
||||||
|
mv -n "$f" "$date_dir/"
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Sort mov files by encoded date
|
||||||
|
if [ -d "mov" ]; then
|
||||||
|
echo "Sorting mov files by date"
|
||||||
|
pushd "mov" >/dev/null
|
||||||
|
for f in *mov; do
|
||||||
|
enc_date="$(mediainfo "$f" | grep -i "Encoded date" | head -1 | sed -r 's/.*: //')"
|
||||||
|
date_dir="$(date -d "$enc_date" +"%F")"
|
||||||
|
echo "$date_dir" | grep -E -q -s '^[0-9]{4}-[0-9]{2}-[0-9]{2}$' || date_dir="Unknown Date"
|
||||||
|
[ -d "$date_dir" ] || mkdir "$date_dir"
|
||||||
|
mv -n "$f" "$date_dir/"
|
||||||
|
done
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
## sort audio files by tags
|
||||||
|
|
||||||
|
## sort matroska files by metadata
|
||||||
|
|
||||||
|
## return to original dir
|
||||||
|
popd >/dev/null
|
||||||
|
|
||||||
50
.bin/Scripts/post_d7.py
Normal file
50
.bin/Scripts/post_d7.py
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# Wizard Kit: Post-d7II items
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.browsers import *
|
||||||
|
from functions.cleanup import *
|
||||||
|
from functions.setup import *
|
||||||
|
init_global_vars()
|
||||||
|
os.system('title {}: Post-d7II Work'.format(KIT_NAME_FULL))
|
||||||
|
set_log_file('Post-d7II Work.log')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
stay_awake()
|
||||||
|
clear_screen()
|
||||||
|
print_info('{}: Post-d7II Work\n'.format(KIT_NAME_FULL))
|
||||||
|
other_results = {
|
||||||
|
'Warning': {
|
||||||
|
'NotInstalledError': 'Not installed',
|
||||||
|
'NoProfilesError': 'No profiles found',
|
||||||
|
}}
|
||||||
|
|
||||||
|
# Scan for Firefox browsers
|
||||||
|
print_info('Scanning for Firefox browsers')
|
||||||
|
scan_for_browsers(just_firefox=True)
|
||||||
|
|
||||||
|
# Install uBlock Origin
|
||||||
|
print_info('Installing uBlock Origin')
|
||||||
|
install_adblock(just_firefox=True)
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
print_info('Cleanup')
|
||||||
|
try_and_print(message='d7II...',
|
||||||
|
function=cleanup_d7ii, cs='Done')
|
||||||
|
try_and_print(message='{}...'.format(KIT_NAME_FULL),
|
||||||
|
function=delete_empty_folders, cs='Done',
|
||||||
|
folder_path=global_vars['ClientDir'])
|
||||||
|
|
||||||
|
# Done
|
||||||
|
print_standard('\nDone.')
|
||||||
|
pause('Press Enter to exit...')
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
@ -18,6 +18,4 @@ if udevil mount $DEVICE; then
|
||||||
else
|
else
|
||||||
echo "Failed"
|
echo "Failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 2s
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
53
.bin/Scripts/reset_browsers.py
Normal file
53
.bin/Scripts/reset_browsers.py
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
# Wizard Kit: Reset Browsers
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.browsers import *
|
||||||
|
from functions.cleanup import *
|
||||||
|
from functions.setup import *
|
||||||
|
init_global_vars()
|
||||||
|
os.system('title {}: Browser Reset Tool'.format(KIT_NAME_FULL))
|
||||||
|
set_log_file('Browser Reset ({USERNAME}).log'.format(**global_vars['Env']))
|
||||||
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
stay_awake()
|
||||||
|
clear_screen()
|
||||||
|
print_info('{}: Browser Reset\n'.format(KIT_NAME_FULL))
|
||||||
|
other_results = {
|
||||||
|
'Warning': {
|
||||||
|
'NotInstalledError': 'Not installed',
|
||||||
|
'NoProfilesError': 'No profiles found',
|
||||||
|
}}
|
||||||
|
|
||||||
|
# Bail early
|
||||||
|
if not D7_MODE and not ask('Reset browsers to safe defaults first?'):
|
||||||
|
exit_script()
|
||||||
|
|
||||||
|
# Scan for supported browsers
|
||||||
|
print_info('Scanning for browsers')
|
||||||
|
scan_for_browsers()
|
||||||
|
|
||||||
|
# Homepages
|
||||||
|
print_info('Current homepages')
|
||||||
|
list_homepages()
|
||||||
|
|
||||||
|
# Backup
|
||||||
|
print_info('Backing up browsers')
|
||||||
|
backup_browsers()
|
||||||
|
|
||||||
|
# Reset
|
||||||
|
print_info('Resetting browsers')
|
||||||
|
reset_browsers()
|
||||||
|
|
||||||
|
# Done
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
@ -8,16 +8,27 @@ LAUNCHERS = {
|
||||||
'L_ITEM': 'activate.py',
|
'L_ITEM': 'activate.py',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
|
'd7II': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'd7II',
|
||||||
|
'L_ITEM': 'd7II.exe',
|
||||||
|
},
|
||||||
|
'Post-d7II Work': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'post_d7.py',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
'System Checklist': {
|
'System Checklist': {
|
||||||
'L_TYPE': 'PyScript',
|
'L_TYPE': 'PyScript',
|
||||||
'L_PATH': 'Scripts',
|
'L_PATH': 'Scripts',
|
||||||
'L_ITEM': 'system_checklist.py',
|
'L_ITEM': 'system_checklist.py',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
'System Diagnostics': {
|
'System Checklist (HW)': {
|
||||||
'L_TYPE': 'PyScript',
|
'L_TYPE': 'PyScript',
|
||||||
'L_PATH': 'Scripts',
|
'L_PATH': 'Scripts',
|
||||||
'L_ITEM': 'system_diagnostics.py',
|
'L_ITEM': 'system_checklist_hw.py',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
'User Checklist': {
|
'User Checklist': {
|
||||||
|
|
@ -26,6 +37,41 @@ LAUNCHERS = {
|
||||||
'L_ITEM': 'user_checklist.py',
|
'L_ITEM': 'user_checklist.py',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
r'.bin\Scripts\launchers_for_d7': {
|
||||||
|
'Browser Reset': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'reset_browsers.py',
|
||||||
|
'L_ARGS': 'd7mode',
|
||||||
|
},
|
||||||
|
'Install SW Bundle': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'install_sw_bundle.py',
|
||||||
|
'L_ARGS': 'd7mode',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
|
'System Checklist': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'system_checklist.py',
|
||||||
|
'L_ARGS': 'd7mode',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
|
'System Diagnostics': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'system_diagnostics.py',
|
||||||
|
'L_ARGS': 'd7mode',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
|
'User Checklist': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'user_checklist.py',
|
||||||
|
'L_ARGS': 'd7mode',
|
||||||
|
},
|
||||||
|
},
|
||||||
r'Data Recovery': {
|
r'Data Recovery': {
|
||||||
'PhotoRec (CLI)': {
|
'PhotoRec (CLI)': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
|
|
@ -49,12 +95,17 @@ LAUNCHERS = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
r'Data Transfers': {
|
r'Data Transfers': {
|
||||||
|
"Fab's Autobackup Pro": {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'AutoBackupPro',
|
||||||
|
'L_ITEM': 'autobackup6pro.exe',
|
||||||
|
},
|
||||||
'FastCopy (as ADMIN)': {
|
'FastCopy (as ADMIN)': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'FastCopy',
|
'L_PATH': 'FastCopy',
|
||||||
'L_ITEM': 'FastCopy.exe',
|
'L_ITEM': 'FastCopy.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' /logfile=%log_dir%\FastCopy.log'
|
r' /logfile=%log_dir%\Tools\FastCopy.log'
|
||||||
r' /cmd=noexist_only'
|
r' /cmd=noexist_only'
|
||||||
r' /utf8'
|
r' /utf8'
|
||||||
r' /skip_empty_dir'
|
r' /skip_empty_dir'
|
||||||
|
|
@ -94,7 +145,7 @@ LAUNCHERS = {
|
||||||
),
|
),
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'FastCopy': {
|
'FastCopy': {
|
||||||
|
|
@ -102,7 +153,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'FastCopy',
|
'L_PATH': 'FastCopy',
|
||||||
'L_ITEM': 'FastCopy.exe',
|
'L_ITEM': 'FastCopy.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' /logfile=%log_dir%\FastCopy.log'
|
r' /logfile=%log_dir%\Tools\FastCopy.log'
|
||||||
r' /cmd=noexist_only'
|
r' /cmd=noexist_only'
|
||||||
r' /utf8'
|
r' /utf8'
|
||||||
r' /skip_empty_dir'
|
r' /skip_empty_dir'
|
||||||
|
|
@ -141,7 +192,7 @@ LAUNCHERS = {
|
||||||
r' /to=%client_dir%\Transfer_%iso_date%\ '
|
r' /to=%client_dir%\Transfer_%iso_date%\ '
|
||||||
),
|
),
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'KVRT': {
|
'KVRT': {
|
||||||
|
|
@ -161,6 +212,12 @@ LAUNCHERS = {
|
||||||
r'mkdir "%q_dir%">nul 2>&1',
|
r'mkdir "%q_dir%">nul 2>&1',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
'Mac & Linux Reader': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'LinuxReader',
|
||||||
|
'L_ITEM': 'LinuxReader.exe',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
'Transferred Keys': {
|
'Transferred Keys': {
|
||||||
'L_TYPE': 'PyScript',
|
'L_TYPE': 'PyScript',
|
||||||
'L_PATH': 'Scripts',
|
'L_PATH': 'Scripts',
|
||||||
|
|
@ -188,17 +245,10 @@ LAUNCHERS = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
r'Diagnostics': {
|
r'Diagnostics': {
|
||||||
'HWiNFO': {
|
'AIDA64': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'HWiNFO',
|
'L_PATH': 'AIDA64',
|
||||||
'L_ITEM': 'HWiNFO.exe',
|
'L_ITEM': 'aida64.exe',
|
||||||
'Extra Code': [
|
|
||||||
r'for %%a in (32 64) do (',
|
|
||||||
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
|
|
||||||
r' (echo SensorsOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
|
||||||
r' (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
|
||||||
r')',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
'ProduKey': {
|
'ProduKey': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
|
|
@ -212,13 +262,14 @@ LAUNCHERS = {
|
||||||
r')',
|
r')',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
'System Diagnostics': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'system_diagnostics.py',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
r'Diagnostics\Extras': {
|
r'Diagnostics\Extras': {
|
||||||
'AIDA64': {
|
|
||||||
'L_TYPE': 'Executable',
|
|
||||||
'L_PATH': 'AIDA64',
|
|
||||||
'L_ITEM': 'aida64.exe',
|
|
||||||
},
|
|
||||||
'Autoruns (with VirusTotal Scan)': {
|
'Autoruns (with VirusTotal Scan)': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'Autoruns',
|
'L_PATH': 'Autoruns',
|
||||||
|
|
@ -251,18 +302,40 @@ LAUNCHERS = {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'erunt',
|
'L_PATH': 'erunt',
|
||||||
'L_ITEM': 'ERUNT.EXE',
|
'L_ITEM': 'ERUNT.EXE',
|
||||||
'L_ARGS': '%client_dir%\Backups\%iso_date%\Registry sysreg curuser otherusers',
|
'L_ARGS': '%client_dir%\Backups\Registry\%iso_date% sysreg curuser otherusers',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
'FurMark': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'FurMark',
|
||||||
|
'L_ITEM': 'FurMark.exe',
|
||||||
|
},
|
||||||
|
'HDTune Pro': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'HDTunePro',
|
||||||
|
'L_ITEM': 'HDTunePro.exe',
|
||||||
|
},
|
||||||
'HitmanPro': {
|
'HitmanPro': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'HitmanPro',
|
'L_PATH': 'HitmanPro',
|
||||||
'L_ITEM': 'HitmanPro.exe',
|
'L_ITEM': 'HitmanPro.exe',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'HWiNFO': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'HWiNFO',
|
||||||
|
'L_ITEM': 'HWiNFO.exe',
|
||||||
|
'Extra Code': [
|
||||||
|
r'for %%a in (32 64) do (',
|
||||||
|
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||||
|
r' (echo SensorsOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||||
|
r' (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||||
|
r')',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'HWiNFO (Sensors)': {
|
'HWiNFO (Sensors)': {
|
||||||
|
|
@ -282,8 +355,8 @@ LAUNCHERS = {
|
||||||
'Intel RST (Current Release)': {
|
'Intel RST (Current Release)': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': '_Drivers\Intel RST',
|
'L_PATH': '_Drivers\Intel RST',
|
||||||
'L_ITEM': 'SetupRST_16.0.exe',
|
'L_ITEM': 'SetupRST_16.5.exe',
|
||||||
'L_7ZIP': 'SetupRST_16.0.exe',
|
'L_7ZIP': 'SetupRST_16.5.exe',
|
||||||
},
|
},
|
||||||
'Intel RST (Previous Releases)': {
|
'Intel RST (Previous Releases)': {
|
||||||
'L_TYPE': 'Folder',
|
'L_TYPE': 'Folder',
|
||||||
|
|
@ -349,6 +422,12 @@ LAUNCHERS = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
r'Installers': {
|
r'Installers': {
|
||||||
|
'ESET NOD32 AV': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'install_eset_nod32_av.py',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
'SW Bundle': {
|
'SW Bundle': {
|
||||||
'L_TYPE': 'PyScript',
|
'L_TYPE': 'PyScript',
|
||||||
'L_PATH': 'Scripts',
|
'L_PATH': 'Scripts',
|
||||||
|
|
@ -356,32 +435,6 @@ LAUNCHERS = {
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
r'Installers\Extras\Office\2013': {
|
|
||||||
'Home and Business 2013 (x32)': {
|
|
||||||
'L_TYPE': 'Office',
|
|
||||||
'L_PATH': '2013',
|
|
||||||
'L_ITEM': 'hb_32.xml',
|
|
||||||
'L_NCMD': 'True',
|
|
||||||
},
|
|
||||||
'Home and Business 2013 (x64)': {
|
|
||||||
'L_TYPE': 'Office',
|
|
||||||
'L_PATH': '2013',
|
|
||||||
'L_ITEM': 'hb_64.xml',
|
|
||||||
'L_NCMD': 'True',
|
|
||||||
},
|
|
||||||
'Home and Student 2013 (x32)': {
|
|
||||||
'L_TYPE': 'Office',
|
|
||||||
'L_PATH': '2013',
|
|
||||||
'L_ITEM': 'hs_32.xml',
|
|
||||||
'L_NCMD': 'True',
|
|
||||||
},
|
|
||||||
'Home and Student 2013 (x64)': {
|
|
||||||
'L_TYPE': 'Office',
|
|
||||||
'L_PATH': '2013',
|
|
||||||
'L_ITEM': 'hs_64.xml',
|
|
||||||
'L_NCMD': 'True',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
r'Installers\Extras\Office\2016': {
|
r'Installers\Extras\Office\2016': {
|
||||||
'Home and Business 2016 (x32)': {
|
'Home and Business 2016 (x32)': {
|
||||||
'L_TYPE': 'Office',
|
'L_TYPE': 'Office',
|
||||||
|
|
@ -465,6 +518,11 @@ LAUNCHERS = {
|
||||||
'L_ITEM': 'safemode_exit.py',
|
'L_ITEM': 'safemode_exit.py',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
|
'Network Stability Test': {
|
||||||
|
'L_TYPE': 'PyScript',
|
||||||
|
'L_PATH': 'Scripts',
|
||||||
|
'L_ITEM': 'network_stability_test.py',
|
||||||
|
},
|
||||||
'Notepad++': {
|
'Notepad++': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'notepadplusplus',
|
'L_PATH': 'notepadplusplus',
|
||||||
|
|
@ -475,17 +533,28 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'PuTTY',
|
'L_PATH': 'PuTTY',
|
||||||
'L_ITEM': 'PUTTY.EXE',
|
'L_ITEM': 'PUTTY.EXE',
|
||||||
},
|
},
|
||||||
'TreeSizeFree': {
|
'ShutUp10': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'TreeSizeFree',
|
'L_PATH': 'ShutUp10',
|
||||||
'L_ITEM': 'TreeSizeFree.exe',
|
'L_ITEM': 'OOSU10.exe',
|
||||||
'L_ELEV': 'True',
|
},
|
||||||
|
'ShutUp10 (1201 Minimal Selection)': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'ShutUp10',
|
||||||
|
'L_ITEM': 'OOSU10.exe',
|
||||||
|
'L_ARGS': '1201.cfg',
|
||||||
},
|
},
|
||||||
'Update Kit': {
|
'Update Kit': {
|
||||||
'L_TYPE': 'PyScript',
|
'L_TYPE': 'PyScript',
|
||||||
'L_PATH': 'Scripts',
|
'L_PATH': 'Scripts',
|
||||||
'L_ITEM': 'update_kit.py',
|
'L_ITEM': 'update_kit.py',
|
||||||
},
|
},
|
||||||
|
'WizTree': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'WizTree',
|
||||||
|
'L_ITEM': 'WizTree.exe',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
},
|
||||||
'XMPlay': {
|
'XMPlay': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'XMPlay',
|
'L_PATH': 'XMPlay',
|
||||||
|
|
@ -529,6 +598,11 @@ LAUNCHERS = {
|
||||||
'L_ITEM': 'dism.py',
|
'L_ITEM': 'dism.py',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
},
|
},
|
||||||
|
'ESET Online Scanner': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'ESET',
|
||||||
|
'L_ITEM': 'ESET.exe',
|
||||||
|
},
|
||||||
'KVRT': {
|
'KVRT': {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'KVRT',
|
'L_PATH': 'KVRT',
|
||||||
|
|
@ -550,8 +624,10 @@ LAUNCHERS = {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'RKill',
|
'L_PATH': 'RKill',
|
||||||
'L_ITEM': 'RKill.exe',
|
'L_ITEM': 'RKill.exe',
|
||||||
|
'L_ARGS': '-s -l %log_dir%\Tools\RKill.log',
|
||||||
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'SFC Scan': {
|
'SFC Scan': {
|
||||||
|
|
@ -565,7 +641,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'TDSSKiller',
|
'L_PATH': 'TDSSKiller',
|
||||||
'L_ITEM': 'TDSSKiller.exe',
|
'L_ITEM': 'TDSSKiller.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' -l %log_dir%\TDSSKiller.log'
|
r' -l %log_dir%\Tools\TDSSKiller.log'
|
||||||
r' -qpath %q_dir%'
|
r' -qpath %q_dir%'
|
||||||
r' -accepteula'
|
r' -accepteula'
|
||||||
r' -accepteulaksn'
|
r' -accepteulaksn'
|
||||||
|
|
@ -578,6 +654,33 @@ LAUNCHERS = {
|
||||||
r'mkdir "%q_dir%">nul 2>&1',
|
r'mkdir "%q_dir%">nul 2>&1',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
'WinAIO Repair': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'WinAIO Repair',
|
||||||
|
'L_ITEM': 'Repair_Windows.exe',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
'Extra Code': [
|
||||||
|
r'copy /y "%bin%\WinAIORepair\__empty.ini" "%bin%\WinAIORepair\settings.ini"',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'WinAIO Repair (Fix Associations)': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'WinAIO Repair',
|
||||||
|
'L_ITEM': 'Repair_Windows.exe',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
'Extra Code': [
|
||||||
|
r'copy /y "%bin%\WinAIORepair\__associations.ini" "%bin%\WinAIORepair\settings.ini"',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'WinAIO Repair (Fix Permissions)': {
|
||||||
|
'L_TYPE': 'Executable',
|
||||||
|
'L_PATH': 'WinAIO Repair',
|
||||||
|
'L_ITEM': 'Repair_Windows.exe',
|
||||||
|
'L_ELEV': 'True',
|
||||||
|
'Extra Code': [
|
||||||
|
r'copy /y "%bin%\WinAIORepair\__permissions.ini" "%bin%\WinAIORepair\settings.ini"',
|
||||||
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
r'Uninstallers': {
|
r'Uninstallers': {
|
||||||
'IObit Uninstaller': {
|
'IObit Uninstaller': {
|
||||||
|
|
|
||||||
|
|
@ -1,89 +1,99 @@
|
||||||
# Wizard Kit: Settings - Main / Branding
|
# Wizard Kit: Settings - Main / Branding
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
ENABLED_UPLOAD_DATA = False
|
ENABLED_OPEN_LOGS = False
|
||||||
ENABLED_TICKET_NUMBERS = False
|
ENABLED_TICKET_NUMBERS = False
|
||||||
|
ENABLED_UPLOAD_DATA = True
|
||||||
|
|
||||||
# STATIC VARIABLES (also used by BASH and BATCH files)
|
# STATIC VARIABLES (also used by BASH and BATCH files)
|
||||||
## NOTE: There are no spaces around the = for easier parsing in BASH and BATCH
|
## NOTE: There are no spaces around the = for easier parsing in BASH and BATCH
|
||||||
# Main Kit
|
# Main Kit
|
||||||
ARCHIVE_PASSWORD='Abracadabra'
|
ARCHIVE_PASSWORD='Sorted1201'
|
||||||
KIT_NAME_FULL='Wizard Kit'
|
KIT_NAME_FULL='1201-WizardKit'
|
||||||
KIT_NAME_SHORT='WK'
|
KIT_NAME_SHORT='1201'
|
||||||
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
|
SUPPORT_MESSAGE='Please let support know by opening an issue on Gogs'
|
||||||
|
# osTicket
|
||||||
|
DB_HOST='osticket.1201.com'
|
||||||
|
DB_NAME='osticket'
|
||||||
|
DB_USER='wizardkit'
|
||||||
|
DB_PASS='U9bJnF9eamVkfsVw'
|
||||||
|
SSH_PORT='22'
|
||||||
|
SSH_USER='sql_tunnel'
|
||||||
|
# imgur
|
||||||
|
IMGUR_CLIENT_ID='3d1ee1d38707b85'
|
||||||
# Live Linux
|
# Live Linux
|
||||||
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
|
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
|
||||||
ROOT_PASSWORD='Abracadabra'
|
ROOT_PASSWORD='1201 loves computers!'
|
||||||
TECH_PASSWORD='Abracadabra'
|
TECH_PASSWORD='Sorted1201'
|
||||||
|
# Root Certificate Authority
|
||||||
|
ROOT_CA_NAME='1201_Root_CA.crt'
|
||||||
# Server IP addresses
|
# Server IP addresses
|
||||||
OFFICE_SERVER_IP='10.0.0.10'
|
OFFICE_SERVER_IP='10.11.1.20'
|
||||||
QUICKBOOKS_SERVER_IP='10.0.0.10'
|
QUICKBOOKS_SERVER_IP='10.11.1.20'
|
||||||
# Time Zones
|
# Time Zones
|
||||||
LINUX_TIME_ZONE='America/Los_Angeles' # See 'timedatectl list-timezones' for valid values
|
LINUX_TIME_ZONE='America/Los_Angeles' # See 'timedatectl list-timezones' for valid values
|
||||||
WINDOWS_TIME_ZONE='Pacific Standard Time' # See 'tzutil /l' for valid values
|
WINDOWS_TIME_ZONE='Pacific Standard Time' # See 'tzutil /l' for valid values
|
||||||
# WiFi
|
# WiFi
|
||||||
WIFI_SSID='SomeWifi'
|
WIFI_SSID='1201Computers'
|
||||||
WIFI_PASSWORD='Abracadabra'
|
WIFI_PASSWORD='justintime!'
|
||||||
|
|
||||||
# SERVER VARIABLES
|
# SERVER VARIABLES
|
||||||
## NOTE: Windows can only use one user per server. This means that if
|
## NOTE: Windows can only use one user per server. This means that if
|
||||||
## one server serves multiple shares then you have to use the same
|
## one server serves multiple shares then you have to use the same
|
||||||
## user/password for all of those shares.
|
## user/password for all of those shares.
|
||||||
BACKUP_SERVERS = [
|
BACKUP_SERVERS = [
|
||||||
{ 'IP': '10.0.0.10',
|
{ 'IP': '10.11.1.20',
|
||||||
'Name': 'ServerOne',
|
'Name': 'Anaconda',
|
||||||
'Mounted': False,
|
'Mounted': False,
|
||||||
'Share': 'Backups',
|
'Share': 'Backups',
|
||||||
'User': 'restore',
|
'User': 'cx',
|
||||||
'Pass': 'Abracadabra',
|
'Pass': 'cx',
|
||||||
'RW-User': 'backup',
|
'RW-User': 'backup',
|
||||||
'RW-Pass': 'Abracadabra',
|
'RW-Pass': '1201 loves computers!',
|
||||||
},
|
|
||||||
{ 'IP': '10.0.0.11',
|
|
||||||
'Name': 'ServerTwo',
|
|
||||||
'Mounted': False,
|
|
||||||
'Share': 'Backups',
|
|
||||||
'User': 'restore',
|
|
||||||
'Pass': 'Abracadabra',
|
|
||||||
'RW-User': 'backup',
|
|
||||||
'RW-Pass': 'Abracadabra',
|
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
BENCHMARK_SERVER = {
|
||||||
|
'Name': 'Nextcloud',
|
||||||
|
'Short Url': 'https://1201north.ddns.net:8001/index.php/f/27892',
|
||||||
|
'Url': 'https://1201north.ddns.net:8001/public.php/webdav/Benchmarks',
|
||||||
|
'User': 'RAE7ajRk25CBnW6',
|
||||||
|
'Pass': '',
|
||||||
|
}
|
||||||
CRASH_SERVER = {
|
CRASH_SERVER = {
|
||||||
'Name': 'CrashServer',
|
'Name': 'Nextcloud',
|
||||||
'Url': '',
|
'Url': 'https://1201north.ddns.net:8001/public.php/webdav/WizardKit_Issues',
|
||||||
'User': '',
|
'User': 'LoQ97J3r6CFGT2T',
|
||||||
'Pass': '',
|
'Pass': '',
|
||||||
}
|
}
|
||||||
OFFICE_SERVER = {
|
OFFICE_SERVER = {
|
||||||
'IP': OFFICE_SERVER_IP,
|
'IP': OFFICE_SERVER_IP,
|
||||||
'Name': 'ServerOne',
|
'Name': 'Anaconda',
|
||||||
'Mounted': False,
|
'Mounted': False,
|
||||||
'Share': 'Office',
|
'Share': r'Public\Office\MS Office',
|
||||||
'User': 'restore',
|
'User': 'cx',
|
||||||
'Pass': 'Abracadabra',
|
'Pass': 'cx',
|
||||||
'RW-User': 'backup',
|
'RW-User': 'backup',
|
||||||
'RW-Pass': 'Abracadabra',
|
'RW-Pass': '1201 loves computers!',
|
||||||
}
|
}
|
||||||
QUICKBOOKS_SERVER = {
|
QUICKBOOKS_SERVER = {
|
||||||
'IP': QUICKBOOKS_SERVER_IP,
|
'IP': QUICKBOOKS_SERVER_IP,
|
||||||
'Name': 'ServerOne',
|
'Name': 'Anaconda',
|
||||||
'Mounted': False,
|
'Mounted': False,
|
||||||
'Share': 'QuickBooks',
|
'Share': r'Public\QuickBooks',
|
||||||
'User': 'restore',
|
'User': 'cx',
|
||||||
'Pass': 'Abracadabra',
|
'Pass': 'cx',
|
||||||
'RW-User': 'backup',
|
'RW-User': 'backup',
|
||||||
'RW-Pass': 'Abracadabra',
|
'RW-Pass': '1201 loves computers!',
|
||||||
}
|
}
|
||||||
WINDOWS_SERVER = {
|
WINDOWS_SERVER = {
|
||||||
'IP': '10.0.0.10',
|
'IP': '10.11.1.20',
|
||||||
'Name': 'ServerOne',
|
'Name': 'Anaconda',
|
||||||
'Mounted': False,
|
'Mounted': False,
|
||||||
'Share': 'Windows',
|
'Share': r'Public\Windows',
|
||||||
'User': 'restore',
|
'User': 'cx',
|
||||||
'Pass': 'Abracadabra',
|
'Pass': 'cx',
|
||||||
'RW-User': 'backup',
|
'RW-User': 'backup',
|
||||||
'RW-Pass': 'Abracadabra',
|
'RW-Pass': '1201 loves computers!',
|
||||||
}
|
}
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
# Wizard Kit: Settings - Sources
|
# Wizard Kit: Settings - Sources
|
||||||
|
|
||||||
SOURCE_URLS = {
|
SOURCE_URLS = {
|
||||||
|
'Adobe Reader DC': 'http://ardownload.adobe.com/pub/adobe/reader/win/AcrobatDC/1801120058/AcroRdrDC1801120058_en_US.exe',
|
||||||
|
'AdwCleaner': 'https://downloads.malwarebytes.com/file/adwcleaner',
|
||||||
'AIDA64': 'http://download.aida64.com/aida64engineer597.zip',
|
'AIDA64': 'http://download.aida64.com/aida64engineer597.zip',
|
||||||
'Adobe Reader DC': 'http://ardownload.adobe.com/pub/adobe/reader/win/AcrobatDC/1801120040/AcroRdrDC1801120040_en_US.exe',
|
'aria2': 'https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0-win-32bit-build1.zip',
|
||||||
'AdwCleaner': 'https://toolslib.net/downloads/finish/1-adwcleaner/',
|
|
||||||
'Autoruns': 'https://download.sysinternals.com/files/Autoruns.zip',
|
'Autoruns': 'https://download.sysinternals.com/files/Autoruns.zip',
|
||||||
'BleachBit': 'https://download.bleachbit.org/BleachBit-2.0-portable.zip',
|
'BleachBit': 'https://download.bleachbit.org/BleachBit-2.0-portable.zip',
|
||||||
'BlueScreenView32': 'http://www.nirsoft.net/utils/bluescreenview.zip',
|
'BlueScreenView32': 'http://www.nirsoft.net/utils/bluescreenview.zip',
|
||||||
|
|
@ -12,46 +13,47 @@ SOURCE_URLS = {
|
||||||
'ClassicStartSkin': 'http://www.classicshell.net/forum/download/file.php?id=3001&sid=9a195960d98fd754867dcb63d9315335',
|
'ClassicStartSkin': 'http://www.classicshell.net/forum/download/file.php?id=3001&sid=9a195960d98fd754867dcb63d9315335',
|
||||||
'Du': 'https://download.sysinternals.com/files/DU.zip',
|
'Du': 'https://download.sysinternals.com/files/DU.zip',
|
||||||
'ERUNT': 'http://www.aumha.org/downloads/erunt.zip',
|
'ERUNT': 'http://www.aumha.org/downloads/erunt.zip',
|
||||||
|
'ESET NOD32 AV': 'https://download.eset.com/com/eset/apps/home/eav/windows/latest/eav_nt64.exe',
|
||||||
'Everything32': 'https://www.voidtools.com/Everything-1.4.1.895.x86.zip',
|
'Everything32': 'https://www.voidtools.com/Everything-1.4.1.895.x86.zip',
|
||||||
'Everything64': 'https://www.voidtools.com/Everything-1.4.1.895.x64.zip',
|
'Everything64': 'https://www.voidtools.com/Everything-1.4.1.895.x64.zip',
|
||||||
'FastCopy32': 'http://ftp.vector.co.jp/69/93/2323/FastCopy341.zip',
|
'FastCopy': 'http://ftp.vector.co.jp/70/64/2323/FastCopy354_installer.zip',
|
||||||
'FastCopy64': 'http://ftp.vector.co.jp/69/93/2323/FastCopy341_x64.zip',
|
'FurMark': 'https://geeks3d.com/dl/get/569',
|
||||||
'Firefox uBO': 'https://addons.mozilla.org/firefox/downloads/file/956394/ublock_origin-1.16.6-an+fx.xpi',
|
'Firefox uBO': 'https://addons.mozilla.org/firefox/downloads/file/1056733/ublock_origin-1.16.20-an+fx.xpi',
|
||||||
'HWiNFO': 'http://app.oldfoss.com:81/download/HWiNFO/hwi_582.zip',
|
|
||||||
'HitmanPro32': 'https://dl.surfright.nl/HitmanPro.exe',
|
'HitmanPro32': 'https://dl.surfright.nl/HitmanPro.exe',
|
||||||
'HitmanPro64': 'https://dl.surfright.nl/HitmanPro_x64.exe',
|
'HitmanPro64': 'https://dl.surfright.nl/HitmanPro_x64.exe',
|
||||||
'IOBit_Uninstaller': 'https://portableapps.com/redirect/?a=IObitUninstallerPortable&t=http%3A%2F%2Fdownloads.portableapps.com%2Fportableapps%2Fiobituninstallerportable%2FIObitUninstallerPortable_7.3.0.13.paf.exe',
|
'HWiNFO': 'http://app.oldfoss.com:81/download/HWiNFO/hwi_588.zip',
|
||||||
'Intel SSD Toolbox': r'https://downloadmirror.intel.com/27656/eng/Intel%20SSD%20Toolbox%20-%20v3.5.2.exe',
|
'Intel SSD Toolbox': r'https://downloadmirror.intel.com/27656/eng/Intel%20SSD%20Toolbox%20-%20v3.5.2.exe',
|
||||||
|
'IOBit_Uninstaller': 'https://portableapps.duckduckgo.com/IObitUninstallerPortable_7.5.0.7.paf.exe',
|
||||||
'KVRT': 'http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe',
|
'KVRT': 'http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe',
|
||||||
'NotepadPlusPlus': 'https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.bin.minimalist.7z',
|
'Linux Reader': 'https://www.diskinternals.com/download/Linux_Reader.exe',
|
||||||
'Office Deployment Tool 2013': 'https://download.microsoft.com/download/6/2/3/6230F7A2-D8A9-478B-AC5C-57091B632FCF/officedeploymenttool_x86_4827-1000.exe',
|
'Macs Fan Control': 'https://www.crystalidea.com/downloads/macsfancontrol_setup.exe',
|
||||||
'Office Deployment Tool 2016': 'https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_9326.3600.exe',
|
'NirCmd32': 'https://www.nirsoft.net/utils/nircmd.zip',
|
||||||
|
'NirCmd64': 'https://www.nirsoft.net/utils/nircmd-x64.zip',
|
||||||
|
'NotepadPlusPlus': 'https://notepad-plus-plus.org/repository/7.x/7.5.8/npp.7.5.8.bin.minimalist.7z',
|
||||||
|
'Office Deployment Tool 2016': 'https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_10810.33603.exe',
|
||||||
'ProduKey32': 'http://www.nirsoft.net/utils/produkey.zip',
|
'ProduKey32': 'http://www.nirsoft.net/utils/produkey.zip',
|
||||||
'ProduKey64': 'http://www.nirsoft.net/utils/produkey-x64.zip',
|
'ProduKey64': 'http://www.nirsoft.net/utils/produkey-x64.zip',
|
||||||
'PuTTY': 'https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip',
|
'PuTTY': 'https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip',
|
||||||
'RKill': 'https://www.bleepingcomputer.com/download/rkill/dl/10/',
|
'RKill': 'https://www.bleepingcomputer.com/download/rkill/dl/10/',
|
||||||
|
'Samsung Magician': 'https://s3.ap-northeast-2.amazonaws.com/global.semi.static/SAMSUNG_SSD_v5_2_1_180523/CD0CFAC4675B9E502899B41BE00525C3909ECE3AD57CC1A2FB6B74A766B2A1EA/Samsung_Magician_Installer.zip',
|
||||||
'SDIO Themes': 'http://snappy-driver-installer.org/downloads/SDIO_Themes.zip',
|
'SDIO Themes': 'http://snappy-driver-installer.org/downloads/SDIO_Themes.zip',
|
||||||
'SDIO Torrent': 'http://snappy-driver-installer.org/downloads/SDIO_Update.torrent',
|
'SDIO Torrent': 'http://snappy-driver-installer.org/downloads/SDIO_Update.torrent',
|
||||||
'Samsung Magician': 'http://downloadcenter.samsung.com/content/SW/201801/20180123130636806/Samsung_Magician_Installer.exe',
|
'ShutUp10': 'https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe',
|
||||||
'TDSSKiller': 'https://media.kaspersky.com/utilities/VirusUtilities/EN/tdsskiller.exe',
|
'TDSSKiller': 'https://media.kaspersky.com/utilities/VirusUtilities/EN/tdsskiller.exe',
|
||||||
'TestDisk': 'https://www.cgsecurity.org/testdisk-7.1-WIP.win.zip',
|
'TestDisk': 'https://www.cgsecurity.org/testdisk-7.1-WIP.win.zip',
|
||||||
'TreeSizeFree': 'https://www.jam-software.com/treesize_free/TreeSizeFree-Portable.zip',
|
|
||||||
'wimlib32': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-i686-bin.zip',
|
'wimlib32': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-i686-bin.zip',
|
||||||
'wimlib64': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-x86_64-bin.zip',
|
'wimlib64': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-x86_64-bin.zip',
|
||||||
|
'WinAIO Repair': 'http://www.tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip',
|
||||||
'Winapp2': 'https://github.com/MoscaDotTo/Winapp2/archive/master.zip',
|
'Winapp2': 'https://github.com/MoscaDotTo/Winapp2/archive/master.zip',
|
||||||
'XMPlay 7z': 'http://support.xmplay.com/files/16/xmp-7z.zip?v=800962',
|
'WizTree': 'https://antibody-software.com/files/wiztree_3_26_portable.zip',
|
||||||
'XMPlay Game': 'http://support.xmplay.com/files/12/xmp-gme.zip?v=515637',
|
'XMPlay 7z': 'https://support.xmplay.com/files/16/xmp-7z.zip?v=800962',
|
||||||
'XMPlay RAR': 'http://support.xmplay.com/files/16/xmp-rar.zip?v=409646',
|
'XMPlay Game': 'https://support.xmplay.com/files/12/xmp-gme.zip?v=515637',
|
||||||
'XMPlay WAModern': 'http://support.xmplay.com/files/10/WAModern.zip?v=207099',
|
'XMPlay RAR': 'https://support.xmplay.com/files/16/xmp-rar.zip?v=409646',
|
||||||
'XMPlay': 'http://support.xmplay.com/files/20/xmplay383.zip?v=298195',
|
'XMPlay WAModern': 'https://support.xmplay.com/files/10/WAModern.zip?v=207099',
|
||||||
|
'XMPlay': 'https://support.xmplay.com/files/20/xmplay383.zip?v=298195',
|
||||||
'XYplorerFree': 'https://www.xyplorer.com/download/xyplorer_free_noinstall.zip',
|
'XYplorerFree': 'https://www.xyplorer.com/download/xyplorer_free_noinstall.zip',
|
||||||
'aria2': 'https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1-win-32bit-build1.zip',
|
|
||||||
}
|
}
|
||||||
VCREDIST_SOURCES = {
|
VCREDIST_SOURCES = {
|
||||||
'2008sp1': {
|
|
||||||
'32': 'https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe',
|
|
||||||
'64': 'https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe',
|
|
||||||
},
|
|
||||||
'2010sp1': {
|
'2010sp1': {
|
||||||
'32': 'https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe',
|
'32': 'https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe',
|
||||||
'64': 'https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe',
|
'64': 'https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe',
|
||||||
|
|
@ -65,15 +67,14 @@ VCREDIST_SOURCES = {
|
||||||
'64': 'https://download.microsoft.com/download/0/5/6/056dcda9-d667-4e27-8001-8a0c6971d6b1/vcredist_x64.exe',
|
'64': 'https://download.microsoft.com/download/0/5/6/056dcda9-d667-4e27-8001-8a0c6971d6b1/vcredist_x64.exe',
|
||||||
},
|
},
|
||||||
'2017': {
|
'2017': {
|
||||||
'32': 'https://download.visualstudio.microsoft.com/download/pr/100349138/88b50ce70017bf10f2d56d60fcba6ab1/VC_redist.x86.exe',
|
'32': 'https://aka.ms/vs/15/release/vc_redist.x86.exe',
|
||||||
'64': 'https://download.visualstudio.microsoft.com/download/pr/100349091/2cd2dba5748dc95950a5c42c2d2d78e4/VC_redist.x64.exe',
|
'64': 'https://aka.ms/vs/15/release/vc_redist.x64.exe',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
NINITE_SOURCES = {
|
NINITE_SOURCES = {
|
||||||
'Bundles': {
|
'Bundles': {
|
||||||
'Runtimes.exe': '.net4.7.1-air-java8-silverlight',
|
'Legacy.exe': '.net4.7.2-7zip-chrome-firefox-sumatrapdf-vlc',
|
||||||
'Legacy.exe': '.net4.7.1-7zip-air-chrome-firefox-java8-silverlight-vlc',
|
'Modern.exe': '.net4.7.2-7zip-chrome-classicstart-firefox-sumatrapdf-vlc',
|
||||||
'Modern.exe': '.net4.7.1-7zip-air-chrome-classicstart-firefox-java8-silverlight-vlc',
|
|
||||||
},
|
},
|
||||||
'Audio-Video': {
|
'Audio-Video': {
|
||||||
'AIMP.exe': 'aimp',
|
'AIMP.exe': 'aimp',
|
||||||
|
|
@ -98,6 +99,7 @@ NINITE_SOURCES = {
|
||||||
'SugarSync.exe': 'sugarsync',
|
'SugarSync.exe': 'sugarsync',
|
||||||
},
|
},
|
||||||
'Communication': {
|
'Communication': {
|
||||||
|
'Discord': 'discord',
|
||||||
'Pidgin.exe': 'pidgin',
|
'Pidgin.exe': 'pidgin',
|
||||||
'Skype.exe': 'skype',
|
'Skype.exe': 'skype',
|
||||||
'Trillian.exe': 'trillian',
|
'Trillian.exe': 'trillian',
|
||||||
|
|
@ -109,7 +111,6 @@ NINITE_SOURCES = {
|
||||||
},
|
},
|
||||||
'Developer': {
|
'Developer': {
|
||||||
'Eclipse.exe': 'eclipse',
|
'Eclipse.exe': 'eclipse',
|
||||||
'FileZilla.exe': 'filezilla',
|
|
||||||
'JDK 8.exe': 'jdk8',
|
'JDK 8.exe': 'jdk8',
|
||||||
'JDK 8 (x64).exe': 'jdkx8',
|
'JDK 8 (x64).exe': 'jdkx8',
|
||||||
'Notepad++.exe': 'notepadplusplus',
|
'Notepad++.exe': 'notepadplusplus',
|
||||||
|
|
@ -153,7 +154,7 @@ NINITE_SOURCES = {
|
||||||
},
|
},
|
||||||
'Runtimes': {
|
'Runtimes': {
|
||||||
'Adobe Air.exe': 'air',
|
'Adobe Air.exe': 'air',
|
||||||
'dotNET.exe': '.net4.7.1',
|
'dotNET.exe': '.net4.7.2',
|
||||||
'Java 8.exe': 'java8',
|
'Java 8.exe': 'java8',
|
||||||
'Shockwave.exe': 'shockwave',
|
'Shockwave.exe': 'shockwave',
|
||||||
'Silverlight.exe': 'silverlight',
|
'Silverlight.exe': 'silverlight',
|
||||||
|
|
@ -197,8 +198,10 @@ RST_SOURCES = {
|
||||||
'SetupRST_15.8.exe': 'https://downloadmirror.intel.com/27442/eng/SetupRST.exe',
|
'SetupRST_15.8.exe': 'https://downloadmirror.intel.com/27442/eng/SetupRST.exe',
|
||||||
'SetupRST_15.9.exe': 'https://downloadmirror.intel.com/27400/eng/SetupRST.exe',
|
'SetupRST_15.9.exe': 'https://downloadmirror.intel.com/27400/eng/SetupRST.exe',
|
||||||
'SetupRST_16.0.exe': 'https://downloadmirror.intel.com/27681/eng/SetupRST.exe',
|
'SetupRST_16.0.exe': 'https://downloadmirror.intel.com/27681/eng/SetupRST.exe',
|
||||||
|
'SetupRST_16.5.exe': 'https://downloadmirror.intel.com/27984/eng/SetupRST.exe',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("This file is not meant to be called directly.")
|
print("This file is not meant to be called directly.")
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4 tw=0 nowrap
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,9 @@ TOOLS = {
|
||||||
'64': r'HWiNFO\HWiNFO64.exe'},
|
'64': r'HWiNFO\HWiNFO64.exe'},
|
||||||
'KVRT': {
|
'KVRT': {
|
||||||
'32': r'KVRT\KVRT.exe'},
|
'32': r'KVRT\KVRT.exe'},
|
||||||
|
'NirCmd': {
|
||||||
|
'32': r'NirCmd\nircmdc.exe',
|
||||||
|
'64': r'NirCmd\nircmdc64.exe'},
|
||||||
'NotepadPlusPlus': {
|
'NotepadPlusPlus': {
|
||||||
'32': r'NotepadPlusPlus\notepadplusplus.exe'},
|
'32': r'NotepadPlusPlus\notepadplusplus.exe'},
|
||||||
'ProduKey': {
|
'ProduKey': {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: SFC Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: SFC Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\SFC Tool.log'.format(**global_vars)
|
set_log_file('SFC Tool.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ from functions.product_keys import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: System Checklist Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: System Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\System Checklist.log'.format(**global_vars)
|
set_log_file('System Checklist.log')
|
||||||
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
@ -24,11 +25,17 @@ if __name__ == '__main__':
|
||||||
ticket_number = get_ticket_number()
|
ticket_number = get_ticket_number()
|
||||||
other_results = {
|
other_results = {
|
||||||
'Error': {
|
'Error': {
|
||||||
'CalledProcessError': 'Unknown Error',
|
'BIOSKeyNotFoundError': 'BIOS key not found',
|
||||||
'BIOSKeyNotFoundError': 'BIOS key not found',
|
'CalledProcessError': 'Unknown Error',
|
||||||
'FileNotFoundError': 'File not found',
|
'FileNotFoundError': 'File not found',
|
||||||
|
'GenericError': 'Unknown Error',
|
||||||
|
'SecureBootDisabledError': 'Disabled',
|
||||||
},
|
},
|
||||||
'Warning': {}}
|
'Warning': {
|
||||||
|
'OSInstalledLegacyError': 'OS installed Legacy',
|
||||||
|
'SecureBootNotAvailError': 'Not available',
|
||||||
|
'SecureBootUnknownError': 'Unknown',
|
||||||
|
}}
|
||||||
if ENABLED_TICKET_NUMBERS:
|
if ENABLED_TICKET_NUMBERS:
|
||||||
print_info('Starting System Checklist for Ticket #{}\n'.format(
|
print_info('Starting System Checklist for Ticket #{}\n'.format(
|
||||||
ticket_number))
|
ticket_number))
|
||||||
|
|
@ -38,28 +45,40 @@ if __name__ == '__main__':
|
||||||
if global_vars['OS']['Version'] == '10':
|
if global_vars['OS']['Version'] == '10':
|
||||||
try_and_print(message='Explorer...',
|
try_and_print(message='Explorer...',
|
||||||
function=config_explorer_system, cs='Done')
|
function=config_explorer_system, cs='Done')
|
||||||
|
try_and_print(message='Privacy...',
|
||||||
|
function=config_privacy_settings, cs='Done')
|
||||||
try_and_print(message='Updating Clock...',
|
try_and_print(message='Updating Clock...',
|
||||||
function=update_clock, cs='Done')
|
function=update_clock, cs='Done')
|
||||||
|
try_and_print(message='Enabling System Restore...',
|
||||||
|
function=enable_system_restore, cs='Done')
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
print_info('Cleanup')
|
print_info('Cleanup')
|
||||||
try_and_print(message='Desktop...',
|
|
||||||
function=cleanup_desktop, cs='Done')
|
|
||||||
try_and_print(message='AdwCleaner...',
|
try_and_print(message='AdwCleaner...',
|
||||||
function=cleanup_adwcleaner, cs='Done', other_results=other_results)
|
function=cleanup_adwcleaner, cs='Done', other_results=other_results)
|
||||||
|
try_and_print(message='Desktop...',
|
||||||
|
function=cleanup_desktop, cs='Done')
|
||||||
|
try_and_print(message='Emsisoft a2cmd...',
|
||||||
|
function=cleanup_emsisoft, cs='Done')
|
||||||
|
try_and_print(message='Registry Backup(s)...',
|
||||||
|
function=cleanup_regbackups, cs='Done')
|
||||||
|
try_and_print(message='{}...'.format(KIT_NAME_FULL),
|
||||||
|
function=delete_empty_folders, cs='Done',
|
||||||
|
folder_path=global_vars['ClientDir'])
|
||||||
|
|
||||||
# Export system info
|
# Export system info
|
||||||
print_info('Backup System Information')
|
if not D7_MODE:
|
||||||
try_and_print(message='AIDA64 reports...',
|
print_info('Backup System Information')
|
||||||
function=run_aida64, cs='Done', other_results=other_results)
|
try_and_print(message='AIDA64 reports...',
|
||||||
try_and_print(message='File listing...',
|
function=run_aida64, cs='Done', other_results=other_results)
|
||||||
function=backup_file_list, cs='Done', other_results=other_results)
|
try_and_print(message='File listing...',
|
||||||
try_and_print(message='Power plans...',
|
function=backup_file_list, cs='Done', other_results=other_results)
|
||||||
function=backup_power_plans, cs='Done')
|
try_and_print(message='Power plans...',
|
||||||
try_and_print(message='Product Keys...', other_results=other_results,
|
function=backup_power_plans, cs='Done')
|
||||||
function=run_produkey, cs='Done')
|
try_and_print(message='Product Keys...', other_results=other_results,
|
||||||
try_and_print(message='Registry...',
|
function=run_produkey, cs='Done')
|
||||||
function=backup_registry, cs='Done', other_results=other_results)
|
try_and_print(message='Registry...',
|
||||||
|
function=backup_registry, cs='Done', other_results=other_results)
|
||||||
|
|
||||||
# User data
|
# User data
|
||||||
print_info('User Data')
|
print_info('User Data')
|
||||||
|
|
@ -76,6 +95,8 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='BIOS Activation:',
|
try_and_print(message='BIOS Activation:',
|
||||||
function=activate_with_bios,
|
function=activate_with_bios,
|
||||||
other_results=other_results)
|
other_results=other_results)
|
||||||
|
try_and_print(message='Secure Boot Status:',
|
||||||
|
function=check_secure_boot_status, other_results=other_results)
|
||||||
try_and_print(message='Installed RAM:',
|
try_and_print(message='Installed RAM:',
|
||||||
function=show_installed_ram, ns='Unknown', silent_function=False)
|
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||||
show_free_space()
|
show_free_space()
|
||||||
|
|
@ -85,6 +106,9 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='Installed Office:',
|
try_and_print(message='Installed Office:',
|
||||||
function=get_installed_office, ns='Unknown',
|
function=get_installed_office, ns='Unknown',
|
||||||
other_results=other_results, print_return=True)
|
other_results=other_results, print_return=True)
|
||||||
|
if D7_MODE:
|
||||||
|
try_and_print(message='Product Keys:',
|
||||||
|
function=get_product_keys, ns='Unknown', print_return=True)
|
||||||
|
|
||||||
# Play audio, show devices, open Windows updates, and open Activation
|
# Play audio, show devices, open Windows updates, and open Activation
|
||||||
try_and_print(message='Opening Device Manager...',
|
try_and_print(message='Opening Device Manager...',
|
||||||
|
|
@ -99,6 +123,11 @@ if __name__ == '__main__':
|
||||||
sleep(3)
|
sleep(3)
|
||||||
try_and_print(message='Running XMPlay...',
|
try_and_print(message='Running XMPlay...',
|
||||||
function=run_xmplay, cs='Started', other_results=other_results)
|
function=run_xmplay, cs='Started', other_results=other_results)
|
||||||
|
try:
|
||||||
|
check_secure_boot_status(show_alert=True)
|
||||||
|
except:
|
||||||
|
# Only trying to open alert message boxes
|
||||||
|
pass
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
print_standard('\nDone.')
|
print_standard('\nDone.')
|
||||||
|
|
|
||||||
117
.bin/Scripts/system_checklist_hw.py
Normal file
117
.bin/Scripts/system_checklist_hw.py
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
# Wizard Kit: System HW Checklist
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Init
|
||||||
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
sys.path.append(os.getcwd())
|
||||||
|
from functions.activation import *
|
||||||
|
from functions.cleanup import *
|
||||||
|
from functions.diags import *
|
||||||
|
from functions.info import *
|
||||||
|
from functions.product_keys import *
|
||||||
|
from functions.setup import *
|
||||||
|
init_global_vars()
|
||||||
|
os.system('title {}: System HW Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
|
set_log_file('System HW Checklist.log')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
stay_awake()
|
||||||
|
clear_screen()
|
||||||
|
print_info('{}: System HW Checklist Tool\n'.format(KIT_NAME_FULL))
|
||||||
|
ticket_number = get_ticket_number()
|
||||||
|
other_results = {
|
||||||
|
'Error': {
|
||||||
|
'BIOSKeyNotFoundError': 'BIOS key not found',
|
||||||
|
'CalledProcessError': 'Unknown Error',
|
||||||
|
'FileNotFoundError': 'File not found',
|
||||||
|
'GenericError': 'Unknown Error',
|
||||||
|
'SecureBootDisabledError': 'Disabled',
|
||||||
|
},
|
||||||
|
'Warning': {
|
||||||
|
'OSInstalledLegacyError': 'OS installed Legacy',
|
||||||
|
'SecureBootNotAvailError': 'Not available',
|
||||||
|
'SecureBootUnknownError': 'Unknown',
|
||||||
|
}}
|
||||||
|
if ENABLED_TICKET_NUMBERS:
|
||||||
|
print_info('Starting System Checklist for Ticket #{}\n'.format(
|
||||||
|
ticket_number))
|
||||||
|
|
||||||
|
# Configure
|
||||||
|
print_info('Configure')
|
||||||
|
if global_vars['OS']['Version'] == '10':
|
||||||
|
try_and_print(message='Explorer...',
|
||||||
|
function=config_explorer_system_hw, cs='Done')
|
||||||
|
try_and_print(message='Enabling System Restore...',
|
||||||
|
function=enable_system_restore, cs='Done')
|
||||||
|
|
||||||
|
# Export system info
|
||||||
|
print_info('Backup System Information')
|
||||||
|
try_and_print(message='AIDA64 reports...',
|
||||||
|
function=run_aida64, cs='Done', other_results=other_results)
|
||||||
|
try_and_print(message='File listing...',
|
||||||
|
function=backup_file_list, cs='Done', other_results=other_results)
|
||||||
|
try_and_print(message='Power plans...',
|
||||||
|
function=backup_power_plans, cs='Done')
|
||||||
|
try_and_print(message='Product Keys...', other_results=other_results,
|
||||||
|
function=run_produkey, cs='Done')
|
||||||
|
try_and_print(message='Registry...',
|
||||||
|
function=backup_registry, cs='Done', other_results=other_results)
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
print_info('Cleanup')
|
||||||
|
try_and_print(message='{}...'.format(KIT_NAME_FULL),
|
||||||
|
function=delete_empty_folders, cs='Done',
|
||||||
|
folder_path=global_vars['ClientDir'])
|
||||||
|
|
||||||
|
# User data
|
||||||
|
print_info('User Data')
|
||||||
|
show_user_data_summary()
|
||||||
|
|
||||||
|
# Summary
|
||||||
|
print_info('Summary')
|
||||||
|
try_and_print(message='Operating System:',
|
||||||
|
function=show_os_name, ns='Unknown', silent_function=False)
|
||||||
|
try_and_print(message='Activation:',
|
||||||
|
function=show_os_activation, ns='Unknown', silent_function=False)
|
||||||
|
try_and_print(message='Secure Boot Status:',
|
||||||
|
function=check_secure_boot_status, other_results=other_results)
|
||||||
|
try_and_print(message='Installed RAM:',
|
||||||
|
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||||
|
show_free_space()
|
||||||
|
try_and_print(message='Installed Antivirus:',
|
||||||
|
function=get_installed_antivirus, ns='Unknown',
|
||||||
|
other_results=other_results, print_return=True)
|
||||||
|
try_and_print(message='Installed Office:',
|
||||||
|
function=get_installed_office, ns='Unknown',
|
||||||
|
other_results=other_results, print_return=True)
|
||||||
|
|
||||||
|
# Play audio, show devices, open Windows updates, and open Activation
|
||||||
|
try_and_print(message='Opening Device Manager...',
|
||||||
|
function=open_device_manager, cs='Started')
|
||||||
|
try_and_print(message='Opening HWiNFO (Sensors)...',
|
||||||
|
function=run_hwinfo_sensors, cs='Started', other_results=other_results)
|
||||||
|
try_and_print(message='Opening Windows Updates...',
|
||||||
|
function=open_windows_updates, cs='Started')
|
||||||
|
if not windows_is_activated():
|
||||||
|
try_and_print(message='Opening Windows Activation...',
|
||||||
|
function=open_windows_activation, cs='Started')
|
||||||
|
sleep(3)
|
||||||
|
try_and_print(message='Running XMPlay...',
|
||||||
|
function=run_xmplay, cs='Started', other_results=other_results)
|
||||||
|
try:
|
||||||
|
check_secure_boot_status(show_alert=True)
|
||||||
|
except:
|
||||||
|
# Only trying to open alert message boxes
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Done
|
||||||
|
print_standard('\nDone.')
|
||||||
|
pause('Press Enter exit...')
|
||||||
|
exit_script()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
major_exception()
|
||||||
|
|
@ -13,8 +13,68 @@ from functions.product_keys import *
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: System Diagnostics Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: System Diagnostics Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\System Diagnostics.log'.format(
|
set_log_file('System Diagnostics.log')
|
||||||
**global_vars)
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
|
# Static Variables
|
||||||
|
BLEACH_BIT_CLEANERS = {
|
||||||
|
'Applications': (
|
||||||
|
'adobe_reader.cache',
|
||||||
|
'adobe_reader.tmp',
|
||||||
|
'amule.tmp',
|
||||||
|
'flash.cache',
|
||||||
|
'gimp.tmp',
|
||||||
|
'hippo_opensim_viewer.cache',
|
||||||
|
'java.cache',
|
||||||
|
'libreoffice.cache',
|
||||||
|
'liferea.cache',
|
||||||
|
'miro.cache',
|
||||||
|
'openofficeorg.cache',
|
||||||
|
'pidgin.cache',
|
||||||
|
'secondlife_viewer.Cache',
|
||||||
|
'thunderbird.cache',
|
||||||
|
'vuze.backup_files',
|
||||||
|
'vuze.cache',
|
||||||
|
'vuze.tmp',
|
||||||
|
'yahoo_messenger.cache',
|
||||||
|
),
|
||||||
|
'Browsers': (
|
||||||
|
'chromium.cache',
|
||||||
|
'chromium.current_session',
|
||||||
|
'firefox.cache',
|
||||||
|
'firefox.session_restore',
|
||||||
|
'google_chrome.cache',
|
||||||
|
'google_chrome.session',
|
||||||
|
'google_earth.temporary_files',
|
||||||
|
'internet_explorer.temporary_files',
|
||||||
|
'opera.cache',
|
||||||
|
'opera.current_session',
|
||||||
|
'safari.cache',
|
||||||
|
'seamonkey.cache',
|
||||||
|
),
|
||||||
|
'System': (
|
||||||
|
'system.clipboard',
|
||||||
|
'system.tmp',
|
||||||
|
'winapp2_windows.jump_lists',
|
||||||
|
'winapp2_windows.ms_search',
|
||||||
|
'windows_explorer.run',
|
||||||
|
'windows_explorer.search_history',
|
||||||
|
'windows_explorer.thumbnails',
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def check_result(result, other_results):
|
||||||
|
"""Check result for warnings and errors."""
|
||||||
|
result_ok = True
|
||||||
|
if not result['CS']:
|
||||||
|
for warning in other_results.get('Warning', {}).keys():
|
||||||
|
if warning in str(result['Error']):
|
||||||
|
# Ignore warnings and repair statements
|
||||||
|
return True
|
||||||
|
# Error is not a warning
|
||||||
|
result_ok = False
|
||||||
|
return result_ok
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
@ -22,6 +82,7 @@ if __name__ == '__main__':
|
||||||
clear_screen()
|
clear_screen()
|
||||||
print_info('{}: System Diagnostics Tool\n'.format(KIT_NAME_FULL))
|
print_info('{}: System Diagnostics Tool\n'.format(KIT_NAME_FULL))
|
||||||
ticket_number = get_ticket_number()
|
ticket_number = get_ticket_number()
|
||||||
|
system_ok = True
|
||||||
other_results = {
|
other_results = {
|
||||||
'Error': {
|
'Error': {
|
||||||
'CalledProcessError': 'Unknown Error',
|
'CalledProcessError': 'Unknown Error',
|
||||||
|
|
@ -37,45 +98,63 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
# Sanitize Environment
|
# Sanitize Environment
|
||||||
print_info('Sanitizing Environment')
|
print_info('Sanitizing Environment')
|
||||||
# try_and_print(message='Killing processes...',
|
if not D7_MODE:
|
||||||
# function=run_process_killer, cs='Done')
|
try_and_print(message='Running RKill...',
|
||||||
try_and_print(message='Running RKill...',
|
function=run_rkill, cs='Done', other_results=other_results)
|
||||||
function=run_rkill, cs='Done', other_results=other_results)
|
try_and_print(message='Running TDSSKiller...',
|
||||||
try_and_print(message='Running TDSSKiller...',
|
function=run_tdsskiller, cs='Done', other_results=other_results)
|
||||||
function=run_tdsskiller, cs='Done', other_results=other_results)
|
|
||||||
|
|
||||||
# Re-run if earlier process was stopped.
|
# Re-run if earlier process was stopped.
|
||||||
stay_awake()
|
stay_awake()
|
||||||
|
|
||||||
# Start diags
|
# Start diags
|
||||||
print_info('Starting Background Scans')
|
if not D7_MODE:
|
||||||
check_connection()
|
print_info('Starting Background Scans')
|
||||||
try_and_print(message='Running HitmanPro...',
|
check_connection()
|
||||||
function=run_hitmanpro, cs='Started', other_results=other_results)
|
try_and_print(message='Running HitmanPro...',
|
||||||
try_and_print(message='Running Autoruns...',
|
function=run_hitmanpro, cs='Started', other_results=other_results)
|
||||||
function=run_autoruns, cs='Started', other_results=other_results)
|
try_and_print(message='Running Autoruns...',
|
||||||
|
function=run_autoruns, cs='Started', other_results=other_results)
|
||||||
|
|
||||||
# OS Health Checks
|
# OS Health Checks
|
||||||
print_info('OS Health Checks')
|
print_info('OS Health Checks')
|
||||||
try_and_print(
|
result = try_and_print(
|
||||||
message='CHKDSK ({SYSTEMDRIVE})...'.format(**global_vars['Env']),
|
message='CHKDSK ({SYSTEMDRIVE})...'.format(**global_vars['Env']),
|
||||||
function=run_chkdsk, other_results=other_results)
|
function=run_chkdsk, other_results=other_results)
|
||||||
try_and_print(message='SFC scan...',
|
system_ok &= check_result(result, other_results)
|
||||||
|
result = try_and_print(message='SFC scan...',
|
||||||
function=run_sfc_scan, other_results=other_results)
|
function=run_sfc_scan, other_results=other_results)
|
||||||
try_and_print(message='DISM CheckHealth...',
|
system_ok &= check_result(result, other_results)
|
||||||
function=run_dism, other_results=other_results, repair=False)
|
if D7_MODE:
|
||||||
|
result = try_and_print(message='DISM RestoreHealth...',
|
||||||
|
function=run_dism, other_results=other_results, repair=True)
|
||||||
|
system_ok &= check_result(result, other_results)
|
||||||
|
else:
|
||||||
|
try_and_print(message='DISM CheckHealth...',
|
||||||
|
function=run_dism, other_results=other_results, repair=False)
|
||||||
|
|
||||||
# Scan for supported browsers
|
if D7_MODE:
|
||||||
print_info('Scanning for browsers')
|
# Archive all browsers for all users
|
||||||
scan_for_browsers()
|
archive_all_users()
|
||||||
|
else:
|
||||||
|
# Scan for supported browsers
|
||||||
|
print_info('Scanning for browsers')
|
||||||
|
scan_for_browsers()
|
||||||
|
|
||||||
|
# Run BleachBit cleaners
|
||||||
|
print_info('BleachBit Cleanup')
|
||||||
|
for k, v in sorted(BLEACH_BIT_CLEANERS.items()):
|
||||||
|
try_and_print(message='{}...'.format(k),
|
||||||
|
function=run_bleachbit,
|
||||||
|
cs='Done', other_results=other_results,
|
||||||
|
cleaners=v, preview=bool(not D7_MODE))
|
||||||
|
|
||||||
# Export system info
|
# Export system info
|
||||||
print_info('Backup System Information')
|
print_info('Backup System Information')
|
||||||
try_and_print(message='AIDA64 reports...',
|
try_and_print(message='AIDA64 reports...',
|
||||||
function=run_aida64, cs='Done', other_results=other_results)
|
function=run_aida64, cs='Done', other_results=other_results)
|
||||||
try_and_print(message='BleachBit report...',
|
if not D7_MODE:
|
||||||
function=run_bleachbit, cs='Done', other_results=other_results)
|
backup_browsers()
|
||||||
backup_browsers()
|
|
||||||
try_and_print(message='File listing...',
|
try_and_print(message='File listing...',
|
||||||
function=backup_file_list, cs='Done', other_results=other_results)
|
function=backup_file_list, cs='Done', other_results=other_results)
|
||||||
try_and_print(message='Power plans...',
|
try_and_print(message='Power plans...',
|
||||||
|
|
@ -83,40 +162,46 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='Product Keys...',
|
try_and_print(message='Product Keys...',
|
||||||
function=run_produkey, cs='Done', other_results=other_results)
|
function=run_produkey, cs='Done', other_results=other_results)
|
||||||
try_and_print(message='Registry...',
|
try_and_print(message='Registry...',
|
||||||
function=backup_registry, cs='Done', other_results=other_results)
|
function=backup_registry, cs='Done', other_results=other_results,
|
||||||
|
overwrite=True)
|
||||||
|
|
||||||
# Summary
|
# Summary
|
||||||
print_info('Summary')
|
if not D7_MODE:
|
||||||
try_and_print(message='Operating System:',
|
print_info('Summary')
|
||||||
function=show_os_name, ns='Unknown', silent_function=False)
|
try_and_print(message='Operating System:',
|
||||||
try_and_print(message='Activation:',
|
function=show_os_name, ns='Unknown', silent_function=False)
|
||||||
function=show_os_activation, ns='Unknown', silent_function=False)
|
try_and_print(message='Activation:',
|
||||||
try_and_print(message='Installed RAM:',
|
function=show_os_activation, ns='Unknown', silent_function=False)
|
||||||
function=show_installed_ram, ns='Unknown', silent_function=False)
|
try_and_print(message='Installed RAM:',
|
||||||
show_free_space()
|
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||||
try_and_print(message='Temp Size:',
|
show_free_space()
|
||||||
function=show_temp_files_size, silent_function=False)
|
try_and_print(message='Temp Size:',
|
||||||
try_and_print(message='Installed Antivirus:',
|
function=show_temp_files_size, silent_function=False)
|
||||||
function=get_installed_antivirus, ns='Unknown',
|
try_and_print(message='Installed Antivirus:',
|
||||||
other_results=other_results, print_return=True)
|
function=get_installed_antivirus, ns='Unknown',
|
||||||
try_and_print(message='Installed Office:',
|
other_results=other_results, print_return=True)
|
||||||
function=get_installed_office, ns='Unknown',
|
try_and_print(message='Installed Office:',
|
||||||
other_results=other_results, print_return=True)
|
function=get_installed_office, ns='Unknown',
|
||||||
try_and_print(message='Product Keys:',
|
other_results=other_results, print_return=True)
|
||||||
function=get_product_keys, ns='Unknown', print_return=True)
|
try_and_print(message='Product Keys:',
|
||||||
|
function=get_product_keys, ns='Unknown', print_return=True)
|
||||||
|
|
||||||
# User data
|
# User data
|
||||||
print_info('User Data')
|
if not D7_MODE:
|
||||||
try:
|
print_info('User Data')
|
||||||
show_user_data_summary()
|
try:
|
||||||
except Exception:
|
show_user_data_summary()
|
||||||
print_error(' Unknown error.')
|
except Exception:
|
||||||
|
print_error(' Unknown error.')
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
print_standard('\nDone.')
|
if not D7_MODE or not system_ok:
|
||||||
pause('Press Enter to exit...')
|
print_standard('\nDone.')
|
||||||
|
pause('Press Enter to exit...')
|
||||||
exit_script()
|
exit_script()
|
||||||
except SystemExit:
|
except SystemExit:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
major_exception()
|
major_exception()
|
||||||
|
|
||||||
|
# vim: sts=4 sw=4 ts=4
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ sys.path.append(os.getcwd())
|
||||||
from functions.product_keys import *
|
from functions.product_keys import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Transferred Key Finder'.format(KIT_NAME_FULL))
|
os.system('title {}: Transferred Key Finder'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Transferred Keys.log'.format(**global_vars)
|
set_log_file('Transferred Keys.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ if __name__ == '__main__':
|
||||||
# Data Transfers
|
# Data Transfers
|
||||||
print_info(' Data Transfers')
|
print_info(' Data Transfers')
|
||||||
try_and_print(message='FastCopy...', function=update_fastcopy, other_results=other_results, width=40)
|
try_and_print(message='FastCopy...', function=update_fastcopy, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='Linux Reader...', function=update_linux_reader, other_results=other_results, width=40)
|
||||||
try_and_print(message='wimlib...', function=update_wimlib, other_results=other_results, width=40)
|
try_and_print(message='wimlib...', function=update_wimlib, other_results=other_results, width=40)
|
||||||
try_and_print(message='XYplorer...', function=update_xyplorer, other_results=other_results, width=40)
|
try_and_print(message='XYplorer...', function=update_xyplorer, other_results=other_results, width=40)
|
||||||
|
|
||||||
|
|
@ -40,10 +41,12 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='AIDA64...', function=update_aida64, other_results=other_results, width=40)
|
try_and_print(message='AIDA64...', function=update_aida64, other_results=other_results, width=40)
|
||||||
try_and_print(message='Autoruns...', function=update_autoruns, other_results=other_results, width=40)
|
try_and_print(message='Autoruns...', function=update_autoruns, other_results=other_results, width=40)
|
||||||
try_and_print(message='BleachBit...', function=update_bleachbit, other_results=other_results, width=40)
|
try_and_print(message='BleachBit...', function=update_bleachbit, other_results=other_results, width=40)
|
||||||
try_and_print(message='BlueScreenView...', function=update_bluescreenview, other_results=other_results, width=40)
|
try_and_print(message='Blue Screen View...', function=update_bluescreenview, other_results=other_results, width=40)
|
||||||
try_and_print(message='ERUNT...', function=update_erunt, other_results=other_results, width=40)
|
try_and_print(message='ERUNT...', function=update_erunt, other_results=other_results, width=40)
|
||||||
try_and_print(message='HitmanPro...', function=update_hitmanpro, other_results=other_results, width=40)
|
try_and_print(message='FurMark...', function=update_furmark, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='Hitman Pro...', function=update_hitmanpro, other_results=other_results, width=40)
|
||||||
try_and_print(message='HWiNFO...', function=update_hwinfo, other_results=other_results, width=40)
|
try_and_print(message='HWiNFO...', function=update_hwinfo, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='NirCmd...', function=update_nircmd, other_results=other_results, width=40)
|
||||||
try_and_print(message='ProduKey...', function=update_produkey, other_results=other_results, width=40)
|
try_and_print(message='ProduKey...', function=update_produkey, other_results=other_results, width=40)
|
||||||
|
|
||||||
# Drivers
|
# Drivers
|
||||||
|
|
@ -57,6 +60,8 @@ if __name__ == '__main__':
|
||||||
# Installers
|
# Installers
|
||||||
print_info(' Installers')
|
print_info(' Installers')
|
||||||
try_and_print(message='Adobe Reader DC...', function=update_adobe_reader_dc, other_results=other_results, width=40)
|
try_and_print(message='Adobe Reader DC...', function=update_adobe_reader_dc, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='ESET Configs...', function=update_eset_config, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='Macs Fan Control...', function=update_macs_fan_control, other_results=other_results, width=40)
|
||||||
try_and_print(message='MS Office...', function=update_office, other_results=other_results, width=40)
|
try_and_print(message='MS Office...', function=update_office, other_results=other_results, width=40)
|
||||||
try_and_print(message='Visual C++ Runtimes...', function=update_vcredists, other_results=other_results, width=40)
|
try_and_print(message='Visual C++ Runtimes...', function=update_vcredists, other_results=other_results, width=40)
|
||||||
update_all_ninite(other_results=other_results, width=40)
|
update_all_ninite(other_results=other_results, width=40)
|
||||||
|
|
@ -67,10 +72,11 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='Classic Start Skin...', function=update_classic_start_skin, other_results=other_results, width=40)
|
try_and_print(message='Classic Start Skin...', function=update_classic_start_skin, other_results=other_results, width=40)
|
||||||
try_and_print(message='Du...', function=update_du, other_results=other_results, width=40)
|
try_and_print(message='Du...', function=update_du, other_results=other_results, width=40)
|
||||||
try_and_print(message='Everything...', function=update_everything, other_results=other_results, width=40)
|
try_and_print(message='Everything...', function=update_everything, other_results=other_results, width=40)
|
||||||
try_and_print(message='FirefoxExtensions...', function=update_firefox_ublock_origin, other_results=other_results, width=40)
|
try_and_print(message='Firefox Extensions...', function=update_firefox_ublock_origin, other_results=other_results, width=40)
|
||||||
try_and_print(message='PuTTY...', function=update_putty, other_results=other_results, width=40)
|
try_and_print(message='PuTTY...', function=update_putty, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='ShutUp10...', function=update_shutup10, other_results=other_results, width=40)
|
||||||
try_and_print(message='Notepad++...', function=update_notepadplusplus, other_results=other_results, width=40)
|
try_and_print(message='Notepad++...', function=update_notepadplusplus, other_results=other_results, width=40)
|
||||||
try_and_print(message='TreeSizeFree...', function=update_treesizefree, other_results=other_results, width=40)
|
try_and_print(message='WizTree...', function=update_wiztree, other_results=other_results, width=40)
|
||||||
try_and_print(message='XMPlay...', function=update_xmplay, other_results=other_results, width=40)
|
try_and_print(message='XMPlay...', function=update_xmplay, other_results=other_results, width=40)
|
||||||
|
|
||||||
# Repairs
|
# Repairs
|
||||||
|
|
@ -78,7 +84,8 @@ if __name__ == '__main__':
|
||||||
try_and_print(message='AdwCleaner...', function=update_adwcleaner, other_results=other_results, width=40)
|
try_and_print(message='AdwCleaner...', function=update_adwcleaner, other_results=other_results, width=40)
|
||||||
try_and_print(message='KVRT...', function=update_kvrt, other_results=other_results, width=40)
|
try_and_print(message='KVRT...', function=update_kvrt, other_results=other_results, width=40)
|
||||||
try_and_print(message='RKill...', function=update_rkill, other_results=other_results, width=40)
|
try_and_print(message='RKill...', function=update_rkill, other_results=other_results, width=40)
|
||||||
try_and_print(message='TDSSKiller...', function=update_tdsskiller, other_results=other_results, width=40)
|
try_and_print(message='TDSS Killer...', function=update_tdsskiller, other_results=other_results, width=40)
|
||||||
|
try_and_print(message='WinAIO Repair...', function=update_winaiorepair, other_results=other_results, width=40)
|
||||||
|
|
||||||
# Uninstallers
|
# Uninstallers
|
||||||
print_info(' Uninstallers')
|
print_info(' Uninstallers')
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from functions.cleanup import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: User Checklist Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: User Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\User Checklist ({USERNAME}).log'.format(
|
set_log_file('User Checklist ({USERNAME}).log'.format(**global_vars['Env']))
|
||||||
**global_vars, **global_vars['Env'])
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
@ -24,13 +24,20 @@ if __name__ == '__main__':
|
||||||
'NotInstalledError': 'Not installed',
|
'NotInstalledError': 'Not installed',
|
||||||
'NoProfilesError': 'No profiles found',
|
'NoProfilesError': 'No profiles found',
|
||||||
}}
|
}}
|
||||||
answer_config_browsers = ask('Install adblock?')
|
#answer_config_browsers = ask('Install adblock?')
|
||||||
|
answer_config_browsers = True
|
||||||
if answer_config_browsers:
|
if answer_config_browsers:
|
||||||
answer_reset_browsers = ask(
|
if D7_MODE:
|
||||||
'Reset browsers to safe defaults first?')
|
# This is handled by another script option in d7ii
|
||||||
|
answer_reset_browsers = False
|
||||||
|
else:
|
||||||
|
answer_reset_browsers = ask(
|
||||||
|
'Reset browsers to safe defaults first?')
|
||||||
if global_vars['OS']['Version'] == '10':
|
if global_vars['OS']['Version'] == '10':
|
||||||
answer_config_classicshell = ask('Configure ClassicShell?')
|
#answer_config_classicshell = ask('Configure ClassicShell?')
|
||||||
answer_config_explorer_user = ask('Configure Explorer?')
|
#answer_config_explorer_user = ask('Configure Explorer?')
|
||||||
|
answer_config_classicshell = True
|
||||||
|
answer_config_explorer_user = True
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
print_info('Cleanup')
|
print_info('Cleanup')
|
||||||
|
|
@ -42,12 +49,15 @@ if __name__ == '__main__':
|
||||||
scan_for_browsers()
|
scan_for_browsers()
|
||||||
|
|
||||||
# Homepages
|
# Homepages
|
||||||
print_info('Current homepages')
|
if not D7_MODE:
|
||||||
list_homepages()
|
print_info('Current homepages')
|
||||||
|
list_homepages()
|
||||||
|
|
||||||
# Backup
|
# Backup
|
||||||
print_info('Backing up browsers')
|
if not D7_MODE:
|
||||||
backup_browsers()
|
# Done during system_diagnostics
|
||||||
|
print_info('Backing up browsers')
|
||||||
|
backup_browsers()
|
||||||
|
|
||||||
# Reset
|
# Reset
|
||||||
if answer_config_browsers and answer_reset_browsers:
|
if answer_config_browsers and answer_reset_browsers:
|
||||||
|
|
@ -77,8 +87,9 @@ if __name__ == '__main__':
|
||||||
popen_program(['start', '', 'https://fast.com'], shell=True)
|
popen_program(['start', '', 'https://fast.com'], shell=True)
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
print_standard('\nDone.')
|
if not D7_MODE:
|
||||||
pause('Press Enter to exit...')
|
print_standard('\nDone.')
|
||||||
|
pause('Press Enter to exit...')
|
||||||
exit_script()
|
exit_script()
|
||||||
except SystemExit:
|
except SystemExit:
|
||||||
pass
|
pass
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ from functions.data import *
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: User Data Transfer Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: User Data Transfer Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\User Data Transfer.log'.format(**global_vars)
|
set_log_file('User Data Transfer.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ from functions.winpe_menus import *
|
||||||
TOOLS['SevenZip'].pop('64')
|
TOOLS['SevenZip'].pop('64')
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
set_title('{}: Root Menu'.format(KIT_NAME_FULL))
|
set_title('{}: Root Menu'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\WinPE.log'.format(**global_vars)
|
set_log_file('WinPE.log')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
21
.bin/Scripts/wk-power-command
Executable file
21
.bin/Scripts/wk-power-command
Executable file
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Wizard Kit: Wrapper for logout, reboot, & poweroff
|
||||||
|
|
||||||
|
# Unmount filesystems
|
||||||
|
find /media -maxdepth 1 -mindepth 1 -type d \
|
||||||
|
-exec udevil umount "{}" \;
|
||||||
|
|
||||||
|
# Flush write cache
|
||||||
|
sudo sync
|
||||||
|
|
||||||
|
# Perform requested action
|
||||||
|
case "${1:-x}" in
|
||||||
|
poweroff)
|
||||||
|
sudo systemctl poweroff;;
|
||||||
|
reboot)
|
||||||
|
sudo systemctl reboot;;
|
||||||
|
*)
|
||||||
|
openbox --exit;;
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
BIN
.bin/WinAIO Repair/__associations.ini
Normal file
BIN
.bin/WinAIO Repair/__associations.ini
Normal file
Binary file not shown.
BIN
.bin/WinAIO Repair/__empty.ini
Normal file
BIN
.bin/WinAIO Repair/__empty.ini
Normal file
Binary file not shown.
BIN
.bin/WinAIO Repair/__permissions.ini
Normal file
BIN
.bin/WinAIO Repair/__permissions.ini
Normal file
Binary file not shown.
27
.bin/d7ii/3rd Party Tools/MBAM_Install.cmd
Normal file
27
.bin/d7ii/3rd Party Tools/MBAM_Install.cmd
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
pushd "%~dp0"
|
||||||
|
|
||||||
|
rem Remove stale marker if present
|
||||||
|
if exist "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker" (
|
||||||
|
del /f "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker"
|
||||||
|
)
|
||||||
|
|
||||||
|
rem Set marker to prevent unintended MBAM removal
|
||||||
|
if exist "%PROGRAMFILES%\Malwarebytes\Anti-Malware\mbam.exe" (
|
||||||
|
echo Previous Malwarebytes installation detected.
|
||||||
|
echo. > "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker"
|
||||||
|
)
|
||||||
|
if exist "%PROGRAMFILES(X86)%\Malwarebytes Anti-Malware\mbam.exe" (
|
||||||
|
rem MBAM v2 installation
|
||||||
|
echo Previous Malwarebytes [v2] installation detected.
|
||||||
|
echo. > "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker"
|
||||||
|
)
|
||||||
|
|
||||||
|
rem Install/Upgrade MBAM
|
||||||
|
echo Installing Malwarebytes...
|
||||||
|
start "" /wait mbam-setup.exe /VERYSILENT /NORESTART
|
||||||
|
|
||||||
|
popd
|
||||||
|
endlocal
|
||||||
63
.bin/d7ii/3rd Party Tools/MBAM_Uninstall.cmd
Normal file
63
.bin/d7ii/3rd Party Tools/MBAM_Uninstall.cmd
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
pushd "%~dp0"
|
||||||
|
|
||||||
|
:GetDate
|
||||||
|
:: Credit to SS64.com Code taken from http://ss64.com/nt/syntax-getdate.html
|
||||||
|
:: Use WMIC to retrieve date and time in ISO 8601 format.
|
||||||
|
for /f "skip=1 tokens=1-6" %%G in ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') do (
|
||||||
|
if "%%~L"=="" goto s_done
|
||||||
|
set _yyyy=%%L
|
||||||
|
set _mm=00%%J
|
||||||
|
set _dd=00%%G
|
||||||
|
set _hour=00%%H
|
||||||
|
set _minute=00%%I
|
||||||
|
)
|
||||||
|
:s_done
|
||||||
|
:: Pad digits with leading zeros
|
||||||
|
set _mm=%_mm:~-2%
|
||||||
|
set _dd=%_dd:~-2%
|
||||||
|
set _hour=%_hour:~-2%
|
||||||
|
set _minute=%_minute:~-2%
|
||||||
|
set iso_date=%_yyyy%-%_mm%-%_dd%
|
||||||
|
|
||||||
|
rem Get uninstaller path from registry
|
||||||
|
set "uninstaller="
|
||||||
|
for /f usebackq^ tokens^=2^ delims^=^" %%s in (
|
||||||
|
`reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{35065F43-4BB2-439A-BFF7-0F1014F2E0CD}_is1" /v UninstallString`
|
||||||
|
) do (
|
||||||
|
set "uninstaller=%%s"
|
||||||
|
)
|
||||||
|
|
||||||
|
rem Copy logs to 1201 folder
|
||||||
|
echo "Copying logs..."
|
||||||
|
robocopy /e "%PROGRAMDATA%\Malwarebytes\MBAMService\LOGS" "%SYSTEMDRIVE%\1201\Logs\%iso_date%\Tools\MBAM" >nul
|
||||||
|
robocopy /e "%PROGRAMDATA%\Malwarebytes\MBAMService\ScanResults" "%SYSTEMDRIVE%\1201\Logs\%iso_date%\Tools\MBAM" >nul
|
||||||
|
|
||||||
|
if exist "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker" (
|
||||||
|
rem Keep MBAM
|
||||||
|
echo Previous Malwarebytes installation detected.
|
||||||
|
) else (
|
||||||
|
rem Move Quarantine to 1201 folder
|
||||||
|
move "%PROGRAMDATA%\Malwarebytes\Malwarebytes Anti-Malware\Quarantine" "%SYSTEMDRIVE%\1201\Quarantine\MBAM_%iso_date%_%_hour%%_minute%"
|
||||||
|
|
||||||
|
rem Remove MBAM
|
||||||
|
echo No previous Malwarebytes installation detected.
|
||||||
|
if exist "%uninstaller%" (
|
||||||
|
echo "Uninstalling Malwarebytes..."
|
||||||
|
start "" /wait "%uninstaller%" /VERYSILENT /NORESTART /LOG
|
||||||
|
) else (
|
||||||
|
color 4e
|
||||||
|
echo "Malwarebytes installation not found."
|
||||||
|
echo ""
|
||||||
|
echo "Press any key to exit... "
|
||||||
|
pause >nul
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
rem Remove marker
|
||||||
|
del /f "%SYSTEMDRIVE%\1201\Preserve-MBAM.marker"
|
||||||
|
|
||||||
|
popd
|
||||||
|
endlocal
|
||||||
14
.bin/d7ii/3rd Party Tools/WizardKit Launcher.cmd
Normal file
14
.bin/d7ii/3rd Party Tools/WizardKit Launcher.cmd
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
:: Launch WizardKit item
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
pushd "%~dp0\..\..\.."
|
||||||
|
|
||||||
|
rem Run WizardKit Launcher
|
||||||
|
call "%*"
|
||||||
|
|
||||||
|
rem Sleep for 5 sec so d7II can wait for launched proc
|
||||||
|
"%systemroot%\System32\ping.exe" -n 5 127.0.0.1>nul
|
||||||
|
|
||||||
|
popd
|
||||||
|
endlocal
|
||||||
BIN
.bin/d7ii/Config/1201Logo.bmp
Normal file
BIN
.bin/d7ii/Config/1201Logo.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2 KiB |
39
.bin/d7ii/Config/AltText.ini
Normal file
39
.bin/d7ii/Config/AltText.ini
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
[ShortDesc]
|
||||||
|
Autoruns=Manages Startup Items
|
||||||
|
Autoruns_Copy=Manages Startup Items
|
||||||
|
Autoruns (Verify and Log)=Manages Startup Items
|
||||||
|
Google Chrome Software Removal Tool=Remove add-ons, extensions, toolbars, and other software that may interfere with the operation of Google Chrome.
|
||||||
|
VipreRescueScanner (Deep Scan)=Virus scanner (Designed for both the Malware Removal and the Offline Operations tab)
|
||||||
|
VipreRescueScanner (Quick Scan)=Virus scanner (Designed for both the Malware Removal and the Offline Operations tab)
|
||||||
|
=Install/Upgrade MBAM
|
||||||
|
[ReportDesc]
|
||||||
|
Autoruns=Examined Windows startup items and removed unnecessary entries.
|
||||||
|
Autoruns_Copy=Examined Windows startup items and removed unnecessary entries.
|
||||||
|
Autoruns (Verify and Log)=Examined Windows startup items and removed unnecessary entries.
|
||||||
|
Google Chrome Software Removal Tool=Scanned for and removed any toolbars/extensions/add-ons that may interfere with the operation of Google Chrome.
|
||||||
|
VipreRescueScanner (Deep Scan)=Ran virus scans (Vipre)
|
||||||
|
VipreRescueScanner (Quick Scan)=Ran virus scans (Vipre)
|
||||||
|
28=Created a System Restore point.
|
||||||
|
32=Ran a Zero Access malware scan.
|
||||||
|
2=Uninstalled unnecessary applications
|
||||||
|
41=Re-wrote the default Safe Mode services to prevent potential issues with blue screens when entering Safe Mode.
|
||||||
|
33=Backed up all Registry Hives.
|
||||||
|
1=Uninstalled unnecessary applications
|
||||||
|
9=Repaired file associations for executable files.
|
||||||
|
10=Removed restrictive Windows policy settings.
|
||||||
|
11=Cleared proxy settings.
|
||||||
|
18=Scanned for known malware files and registry entries and removed anything found.
|
||||||
|
12=Deleted unnecessary temporary files from user profiles and temporary files used by Windows.
|
||||||
|
13=Deleted temporary internet cache from user profiles.
|
||||||
|
34=Scanned for viruses/malware with Microsoft Security Essentials / Windows Defender.
|
||||||
|
49=Scanned for Windows system component corruption to repair any issues found.
|
||||||
|
24=Repaired the built-in Windows firewall.
|
||||||
|
31=Set all network adapters to DHCP.
|
||||||
|
75=Apply static DNS settings to all NICs.
|
||||||
|
21=Ran repair and reset procedures on networking components.
|
||||||
|
25=Reset all settings to defaults for the built-in Windows firewall.
|
||||||
|
36=Manually examined the HOSTS file for hijacks or other issues.
|
||||||
|
22=Repaired the Windows Update services responsible for Windows Update functionality.
|
||||||
|
38=Performed repair routines to ensure the Winsock is operating properly.
|
||||||
|
83=Examined internet speed/bandwidth.
|
||||||
|
=Malwarebytes installed successfully.
|
||||||
42
.bin/d7ii/Config/AppOverrides.ini
Normal file
42
.bin/d7ii/Config/AppOverrides.ini
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
[Autoruns]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=7
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
[Autoruns_Copy]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=7
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
[Autoruns (Verify and Log)]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=7
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
[Google Chrome Software Removal Tool]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=0
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
[VipreRescueScanner (Deep Scan)]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
[VipreRescueScanner (Quick Scan)]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
[]
|
||||||
|
PostRunApp=
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=.5
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
37
.bin/d7ii/Config/CustomApps/AdwCleaner (Updated).cfg
Normal file
37
.bin/d7ii/Config/CustomApps/AdwCleaner (Updated).cfg
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=10/8/2018 10:56:15 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=https://www.malwarebytes.com/adwcleaner/
|
||||||
|
AppDLPage=https://downloads.malwarebytes.com/file/adwcleaner
|
||||||
|
AppDesc=Toolbar Remover
|
||||||
|
App=AdwCleaner.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=https://downloads.malwarebytes.com/file/adwcleaner
|
||||||
|
AppDLName=AdwCleaner.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=.5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=1
|
||||||
|
SnatchReportsLoc=%systemdrive%\AdwCleaner\AdwCleaner*.txt
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Removed unnecessary internet browser add-ins (e.g. Toolbars) [AdwCleaner]
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=8/14/2018
|
||||||
45
.bin/d7ii/Config/CustomApps/HitmanPro (Auto).cfg
Normal file
45
.bin/d7ii/Config/CustomApps/HitmanPro (Auto).cfg
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=10/8/2018 10:56:18 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=http://www.surfright.nl/en/hitmanpro/
|
||||||
|
AppDLPage=http://www.surfright.nl/en/downloads/
|
||||||
|
AppDesc=Malware scanner
|
||||||
|
App=HitmanPro.exe
|
||||||
|
App64=HitmanPro_x64.exe
|
||||||
|
AppParms=/clean /noinstall /excludelist="%3rdpath%\HMP_Excludes.txt" /logtype=txt /log="%malreportdir%\HitmanPro_Scan_Log_%date%.txt"
|
||||||
|
AppURL64=https://dl.surfright.nl/HitmanPro_x64.exe
|
||||||
|
AppURL64B=http://dl.surfright.nl/FoolishIT/HitmanPro_x64.exe
|
||||||
|
AppDLName64=HitmanPro_x64.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=https://dl.surfright.nl/HitmanPro.exe
|
||||||
|
AppURLB=http://dl.surfright.nl/FoolishIT/HitmanPro.exe
|
||||||
|
AppDLName=HitmanPro.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=.5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppWaitTime=60
|
||||||
|
AppRandomize=1
|
||||||
|
CopyConfigFirst=HMP.cmd
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Ran Malware Scans (HitmanPro)
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=1
|
||||||
|
LastDownload=8/19/2018
|
||||||
34
.bin/d7ii/Config/CustomApps/IObit Uninstaller.cfg
Normal file
34
.bin/d7ii/Config/CustomApps/IObit Uninstaller.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=8/25/2018 3:50:11 PM
|
||||||
|
PostRunApp=
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LogVerbiage=Uninstalled unnecessary / junk programs.
|
||||||
|
AppDesc=Application uninstaller and cleanup utility
|
||||||
|
AppParms=Uninstallers\IObit Uninstaller.cmd
|
||||||
|
WaitOnProcesses=IObitUninstallerPortable.exe
|
||||||
|
AppWaitTime=60
|
||||||
34
.bin/d7ii/Config/CustomApps/Install SW Bundle.cfg
Normal file
34
.bin/d7ii/Config/CustomApps/Install SW Bundle.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=8/30/2018 10:49:46 AM
|
||||||
|
PostRunApp=
|
||||||
|
AppParms=.bin\Scripts\launchers_for_d7\Install SW Bundle.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
AutoFlag=0
|
||||||
|
WaitOnProcesses=ConEmu.exe;ConEmuC.exe;ConEmu64.exe;ConEmuC64.exe;python.exe;Ninite.exe
|
||||||
|
AppDesc=Install software bundle
|
||||||
|
LogVerbiage=Installed or updated commonly used applications (Adobe Reader, Google Chrome, etc)
|
||||||
|
AppWaitTime=60
|
||||||
35
.bin/d7ii/Config/CustomApps/Malwarebytes Download.cfg
Normal file
35
.bin/d7ii/Config/CustomApps/Malwarebytes Download.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=10/8/2018 10:55:27 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=https://www.malwarebytes.com/
|
||||||
|
AppDLPage=https://downloads.malwarebytes.com/file/mb3/
|
||||||
|
AppDesc=Download MBAM setup
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=https://downloads.malwarebytes.com/file/mb3/
|
||||||
|
AppDLName=mbam-setup.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=3
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=1
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=1
|
||||||
|
App=exit
|
||||||
|
LastDownload=10/7/2018
|
||||||
34
.bin/d7ii/Config/CustomApps/Malwarebytes Install.cfg
Normal file
34
.bin/d7ii/Config/CustomApps/Malwarebytes Install.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=10/7/2018 3:51:22 PM
|
||||||
|
PostRunApp=
|
||||||
|
App=MBAM_Install.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=0
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=1
|
||||||
|
AppDesc=Install/Upgrade MBAM
|
||||||
|
LogVerbiage=Malwarebytes installed successfully.
|
||||||
|
LastDownload=8/18/2018
|
||||||
|
Author=2Shirt
|
||||||
|
AppWaitTime=5
|
||||||
34
.bin/d7ii/Config/CustomApps/Malwarebytes Scan.cfg
Normal file
34
.bin/d7ii/Config/CustomApps/Malwarebytes Scan.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=8/13/2018 4:48:53 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=https://www.malwarebytes.com/
|
||||||
|
AppDLPage=https://downloads.malwarebytes.com/file/mb3/
|
||||||
|
AppDesc=Malwarebytes Execution
|
||||||
|
App=%programfiles%\Malwarebytes\Anti-Malware\mbam.exe
|
||||||
|
App64=%programfiles%\Malwarebytes\Anti-Malware\mbam.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=1
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Malwarebytes ran successfully.
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
30
.bin/d7ii/Config/CustomApps/Malwarebytes Uninstall.cfg
Normal file
30
.bin/d7ii/Config/CustomApps/Malwarebytes Uninstall.cfg
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
[Config]
|
||||||
|
LastEditDate=8/13/2018 7:32:30 PM
|
||||||
|
PostRunApp=
|
||||||
|
App=MBAM_Uninstall.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=1
|
||||||
|
AppDesc=Uninstall MBAM (if not previously installed)
|
||||||
40
.bin/d7ii/Config/CustomApps/RKill (Auto).cfg
Normal file
40
.bin/d7ii/Config/CustomApps/RKill (Auto).cfg
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=10/8/2018 10:56:23 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=http://www.bleepingcomputer.com/forums/t/308364/rkill-what-it-does-and-what-it-doesnt-a-brief-introduction-to-the-program/
|
||||||
|
AppDLPage=http://www.bleepingcomputer.com/download/rkill/
|
||||||
|
AppDesc=Anti-Malware app.
|
||||||
|
App=rkill.exe
|
||||||
|
AppParms=-s -w "%3rdpath%\rkill_Excludes.txt"
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=https://download.bleepingcomputer.com/grinler/rkill.exe
|
||||||
|
AppDLName=rkill.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=.5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=1
|
||||||
|
CopyConfigFirst=rkill.cmd
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=1
|
||||||
|
SnatchReportsLoc=%userprofile%\Desktop\rkill*.txt
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Ran Malware Scan (RKill)
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=1
|
||||||
|
LastDownload=10/7/2018
|
||||||
35
.bin/d7ii/Config/CustomApps/WizardKit Browser Reset.cfg
Normal file
35
.bin/d7ii/Config/CustomApps/WizardKit Browser Reset.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=8/25/2018 3:50:41 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppDesc=WizardKit browser reset script (d7II mode)
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
AppParms=.bin\Scripts\launchers_for_d7\Browser Reset.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
WaitOnProcesses=ConEmu.exe;ConEmuC.exe;ConEmu64.exe;ConEmuC64.exe;python.exe
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Reset web browsers to safe defaults and removed any malicous addons found.
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
AppWaitTime=30
|
||||||
35
.bin/d7ii/Config/CustomApps/WizardKit System Checklist.cfg
Normal file
35
.bin/d7ii/Config/CustomApps/WizardKit System Checklist.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=8/25/2018 3:50:50 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppDesc=WizardKit system checklist script (d7II mode)
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
AppParms=.bin\Scripts\launchers_for_d7\System Checklist.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
WaitOnProcesses=ConEmu.exe;ConEmuC.exe;ConEmu64.exe;ConEmuC64.exe;python.exe
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LogVerbiage=Examined and verified system-wide settings (available updates, drivers, activation, etc)
|
||||||
|
AppWaitTime=60
|
||||||
35
.bin/d7ii/Config/CustomApps/WizardKit System Diagnostics.cfg
Normal file
35
.bin/d7ii/Config/CustomApps/WizardKit System Diagnostics.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=8/25/2018 3:49:49 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppDesc=WizardKit system diagnostics script (d7II mode)
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
AppParms=.bin\Scripts\launchers_for_d7\System Diagnostics.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
WaitOnProcesses=ConEmu.exe;ConEmuC.exe;ConEmu64.exe;ConEmuC64.exe;python.exe
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LogVerbiage=Ran OS built-in repairs and backed up system information
|
||||||
|
AppWaitTime=60
|
||||||
35
.bin/d7ii/Config/CustomApps/WizardKit User Checklist.cfg
Normal file
35
.bin/d7ii/Config/CustomApps/WizardKit User Checklist.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
Author=2Shirt
|
||||||
|
LastEditDate=8/25/2018 3:50:59 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppDesc=WizardKit user checklist script (d7II mode)
|
||||||
|
App=WizardKit Launcher.cmd
|
||||||
|
AppParms=.bin\Scripts\launchers_for_d7\User Checklist.cmd
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
WaitOnProcesses=ConEmu.exe;ConEmuC.exe;ConEmu64.exe;ConEmuC64.exe;python.exe;firefox.exe;chrome.exe
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=1
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Verified web browser settings and functionality
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
AppWaitTime=60
|
||||||
|
|
@ -0,0 +1,485 @@
|
||||||
|
[Everything]
|
||||||
|
app_data=0
|
||||||
|
run_as_admin=1
|
||||||
|
window_x=1614
|
||||||
|
window_y=186
|
||||||
|
window_wide=794
|
||||||
|
window_high=664
|
||||||
|
maximized=0
|
||||||
|
minimized=0
|
||||||
|
fullscreen=0
|
||||||
|
ontop=0
|
||||||
|
match_whole_word=0
|
||||||
|
match_path=0
|
||||||
|
match_case=0
|
||||||
|
match_diacritics=0
|
||||||
|
match_regex=0
|
||||||
|
selection_mask_right_bottom_inclusive=1
|
||||||
|
allow_multiple_windows=0
|
||||||
|
allow_multiple_instances=0
|
||||||
|
run_in_background=1
|
||||||
|
show_tray_icon=1
|
||||||
|
alternate_row_color=0
|
||||||
|
show_mouseover=0
|
||||||
|
check_for_updates_on_startup=0
|
||||||
|
beta_updates=0
|
||||||
|
show_highlighted_search_terms=1
|
||||||
|
text_size=0
|
||||||
|
hide_empty_search_results=0
|
||||||
|
clear_selection_on_search=1
|
||||||
|
new_window_key=0
|
||||||
|
show_window_key=0
|
||||||
|
toggle_window_key=0
|
||||||
|
language=0
|
||||||
|
show_selected_item_in_statusbar=0
|
||||||
|
open_folder_command2=
|
||||||
|
open_file_command2=
|
||||||
|
open_path_command2=
|
||||||
|
explore_command2=
|
||||||
|
explore_path_command2=
|
||||||
|
window_title_format=
|
||||||
|
taskbar_notification_title_format=
|
||||||
|
instance_name=
|
||||||
|
translucent_selection_rectangle_alpha=70
|
||||||
|
min_zoom=-6
|
||||||
|
max_zoom=27
|
||||||
|
context_menu_type=0
|
||||||
|
auto_include_fixed_volumes=1
|
||||||
|
auto_include_removable_volumes=0
|
||||||
|
last_export_type=0
|
||||||
|
max_threads=0
|
||||||
|
reuse_threads=1
|
||||||
|
single_parent_context_menu=0
|
||||||
|
auto_size_1=512
|
||||||
|
auto_size_2=640
|
||||||
|
auto_size_3=768
|
||||||
|
auto_size_aspect_ratio_x=9
|
||||||
|
auto_size_aspect_ratio_y=7
|
||||||
|
auto_size_path_x=1
|
||||||
|
auto_size_path_y=2
|
||||||
|
sticky_vscroll_bottom=1
|
||||||
|
last_options_page=9
|
||||||
|
draw_focus_rect=1
|
||||||
|
date_format=
|
||||||
|
time_format=
|
||||||
|
invert_layout=0
|
||||||
|
listview_item_high=0
|
||||||
|
debug=0
|
||||||
|
home_match_case=0
|
||||||
|
home_match_whole_word=0
|
||||||
|
home_match_path=0
|
||||||
|
home_match_diacritics=0
|
||||||
|
home_regex=0
|
||||||
|
home_search=1
|
||||||
|
home_filter=0
|
||||||
|
home_sort=0
|
||||||
|
home_index=1
|
||||||
|
allow_multiple_windows_from_tray=0
|
||||||
|
single_click_tray=0
|
||||||
|
close_on_execute=0
|
||||||
|
double_click_path=0
|
||||||
|
update_display_after_scroll=0
|
||||||
|
update_display_after_mask=1
|
||||||
|
auto_scroll_view=0
|
||||||
|
double_quote_copy_as_path=0
|
||||||
|
snap=0
|
||||||
|
snaplen=10
|
||||||
|
rename_select_filepart_only=0
|
||||||
|
rename_move_caret_to_selection_end=0
|
||||||
|
search_edit_move_caret_to_selection_end=0
|
||||||
|
select_search_on_mouse_click=1
|
||||||
|
focus_search_on_activate=0
|
||||||
|
reset_vscroll_on_search=1
|
||||||
|
wrap_focus=0
|
||||||
|
load_icon_priority=0
|
||||||
|
load_fileinfo_priority=0
|
||||||
|
header_high=0
|
||||||
|
hide_on_close=0
|
||||||
|
winmm=0
|
||||||
|
menu_escape_amp=1
|
||||||
|
fast_ascii_search=1
|
||||||
|
match_path_when_search_contains_path_separator=1
|
||||||
|
allow_literal_operators=0
|
||||||
|
allow_round_bracket_parenthesis=0
|
||||||
|
expand_environment_variables=0
|
||||||
|
search_as_you_type=1
|
||||||
|
convert_forward_slash_to_backslash=0
|
||||||
|
match_whole_filename_when_using_wildcards=1
|
||||||
|
double_buffer=1
|
||||||
|
search=
|
||||||
|
show_number_of_results_with_selection=0
|
||||||
|
date_descending_first=0
|
||||||
|
size_descending_first=0
|
||||||
|
size_format=2
|
||||||
|
alpha_select=0
|
||||||
|
tooltips=1
|
||||||
|
rtl_listview_edit=0
|
||||||
|
bookmark_remember_case=1
|
||||||
|
bookmark_remember_wholeword=1
|
||||||
|
bookmark_remember_path=1
|
||||||
|
bookmark_remember_diacritic=1
|
||||||
|
bookmark_remember_regex=1
|
||||||
|
bookmark_remember_sort=1
|
||||||
|
bookmark_remember_filter=1
|
||||||
|
bookmark_remember_index=1
|
||||||
|
exclude_list_enabled=1
|
||||||
|
exclude_hidden_files_and_folders=0
|
||||||
|
exclude_system_files_and_folders=0
|
||||||
|
include_only_files=
|
||||||
|
exclude_files=
|
||||||
|
db_location=
|
||||||
|
db_multi_user_filename=0
|
||||||
|
db_compress=0
|
||||||
|
extended_information_cache_monitor=1
|
||||||
|
keep_missing_indexes=0
|
||||||
|
editor_x=0
|
||||||
|
editor_y=0
|
||||||
|
editor_wide=0
|
||||||
|
editor_high=0
|
||||||
|
editor_maximized=0
|
||||||
|
file_list_relative_paths=1
|
||||||
|
max_recv_size=8388608
|
||||||
|
display_full_path_name=0
|
||||||
|
size_tiny=10240
|
||||||
|
size_small=102400
|
||||||
|
size_medium=1048576
|
||||||
|
size_large=16777216
|
||||||
|
size_huge=134217728
|
||||||
|
themed_toolbar=1
|
||||||
|
show_copy_path=2
|
||||||
|
show_copy_full_name=2
|
||||||
|
show_open_path=2
|
||||||
|
show_explore=2
|
||||||
|
show_explore_path=2
|
||||||
|
copy_path_folder_append_backslash=0
|
||||||
|
custom_verb01=
|
||||||
|
custom_verb02=
|
||||||
|
custom_verb03=
|
||||||
|
custom_verb04=
|
||||||
|
custom_verb05=
|
||||||
|
custom_verb06=
|
||||||
|
custom_verb07=
|
||||||
|
custom_verb08=
|
||||||
|
custom_verb09=
|
||||||
|
custom_verb10=
|
||||||
|
custom_verb11=
|
||||||
|
custom_verb12=
|
||||||
|
filters_visible=0
|
||||||
|
filters_wide=128
|
||||||
|
filters_right_align=1
|
||||||
|
filters_tab_stop=0
|
||||||
|
filter=
|
||||||
|
filter_everything_name=
|
||||||
|
sort=Name
|
||||||
|
sort_ascending=1
|
||||||
|
always_keep_sort=0
|
||||||
|
index=0
|
||||||
|
index_file_list=
|
||||||
|
index_etp_server=
|
||||||
|
index_link_type=1
|
||||||
|
status_bar_visible=1
|
||||||
|
select_search_on_focus_mode=1
|
||||||
|
select_search_on_set_mode=2
|
||||||
|
search_history_enabled=0
|
||||||
|
run_history_enabled=1
|
||||||
|
search_history_days_to_keep=90
|
||||||
|
run_history_days_to_keep=90
|
||||||
|
search_history_always_suggest=0
|
||||||
|
search_history_max_results=24
|
||||||
|
search_history_show_above=0
|
||||||
|
service_port=15485
|
||||||
|
etp_server_enabled=0
|
||||||
|
etp_server_bindings=
|
||||||
|
etp_server_port=21
|
||||||
|
etp_server_username=
|
||||||
|
etp_server_password=
|
||||||
|
etp_server_welcome_message=
|
||||||
|
etp_server_log_file_name=
|
||||||
|
etp_server_logging_enabled=1
|
||||||
|
etp_server_log_max_size=4194304
|
||||||
|
etp_server_log_delta_size=524288
|
||||||
|
etp_server_allow_file_download=1
|
||||||
|
http_server_enabled=0
|
||||||
|
http_server_bindings=
|
||||||
|
http_title_format=
|
||||||
|
http_server_port=80
|
||||||
|
http_server_username=
|
||||||
|
http_server_password=
|
||||||
|
http_server_home=
|
||||||
|
http_server_default_page=
|
||||||
|
http_server_log_file_name=
|
||||||
|
http_server_logging_enabled=1
|
||||||
|
http_server_log_max_size=4194304
|
||||||
|
http_server_log_delta_size=524288
|
||||||
|
http_server_allow_file_download=1
|
||||||
|
name_column_pos=0
|
||||||
|
name_column_width=256
|
||||||
|
path_column_visible=1
|
||||||
|
path_column_pos=1
|
||||||
|
path_column_width=256
|
||||||
|
size_column_visible=1
|
||||||
|
size_column_pos=2
|
||||||
|
size_column_width=96
|
||||||
|
extension_column_visible=0
|
||||||
|
extension_column_pos=3
|
||||||
|
extension_column_width=96
|
||||||
|
type_column_visible=0
|
||||||
|
type_column_pos=4
|
||||||
|
type_column_width=96
|
||||||
|
last_write_time_column_visible=1
|
||||||
|
last_write_time_column_pos=3
|
||||||
|
last_write_time_column_width=153
|
||||||
|
creation_time_column_visible=0
|
||||||
|
creation_time_column_pos=6
|
||||||
|
creation_time_column_width=140
|
||||||
|
date_accessed_column_visible=0
|
||||||
|
date_accessed_column_pos=7
|
||||||
|
date_accessed_column_width=140
|
||||||
|
attribute_column_visible=0
|
||||||
|
attribute_column_pos=8
|
||||||
|
attribute_column_width=70
|
||||||
|
date_recently_changed_column_visible=0
|
||||||
|
date_recently_changed_column_pos=9
|
||||||
|
date_recently_changed_column_width=96
|
||||||
|
run_count_column_visible=0
|
||||||
|
run_count_column_pos=10
|
||||||
|
run_count_column_width=96
|
||||||
|
date_run_column_visible=0
|
||||||
|
date_run_column_pos=11
|
||||||
|
date_run_column_width=140
|
||||||
|
file_list_filename_column_visible=0
|
||||||
|
file_list_filename_column_pos=12
|
||||||
|
file_list_filename_column_width=96
|
||||||
|
translucent_selection_rectangle_background_color=
|
||||||
|
translucent_selection_rectangle_border_color=
|
||||||
|
ntfs_volume_paths=
|
||||||
|
ntfs_volume_includes=
|
||||||
|
ntfs_volume_load_recent_changes=
|
||||||
|
ntfs_volume_include_onlys=
|
||||||
|
ntfs_volume_monitors=
|
||||||
|
filelists=
|
||||||
|
folders=
|
||||||
|
folder_monitor_changes=
|
||||||
|
folder_update_types=
|
||||||
|
folder_update_days=
|
||||||
|
folder_update_ats=
|
||||||
|
folder_update_intervals=
|
||||||
|
folder_update_interval_types=
|
||||||
|
exclude_folders=
|
||||||
|
connect_history_hosts=
|
||||||
|
connect_history_ports=
|
||||||
|
connect_history_usernames=
|
||||||
|
connect_history_link_types=
|
||||||
|
file_new_search_window_keys=334
|
||||||
|
file_open_file_list_keys=335
|
||||||
|
file_close_file_list_keys=
|
||||||
|
file_close_keys=343,27
|
||||||
|
file_export_keys=339
|
||||||
|
file_copy_full_name_to_clipboard_keys=9539
|
||||||
|
file_copy_path_to_clipboard_keys=
|
||||||
|
file_set_run_count_keys=
|
||||||
|
file_create_shortcut_keys=
|
||||||
|
file_delete_keys=8238
|
||||||
|
file_delete_permanently_keys=9262
|
||||||
|
file_edit_keys=
|
||||||
|
file_open_keys=8205
|
||||||
|
file_open_selection_and_close_everything_keys=
|
||||||
|
file_explore_path_keys=
|
||||||
|
file_open_new_keys=
|
||||||
|
file_open_path_keys=8461
|
||||||
|
file_open_with_keys=
|
||||||
|
file_open_with_default_verb_keys=
|
||||||
|
file_play_keys=
|
||||||
|
file_preview_keys=
|
||||||
|
file_print_keys=
|
||||||
|
file_print_to_keys=
|
||||||
|
file_properties_keys=8717
|
||||||
|
file_read_extended_information_keys=8517
|
||||||
|
file_rename_keys=8305
|
||||||
|
file_run_as_keys=
|
||||||
|
file_exit_keys=337
|
||||||
|
file_custom_verb_1_keys=
|
||||||
|
file_custom_verb_2_keys=
|
||||||
|
file_custom_verb_3_keys=
|
||||||
|
file_custom_verb_4_keys=
|
||||||
|
file_custom_verb_5_keys=
|
||||||
|
file_custom_verb_6_keys=
|
||||||
|
file_custom_verb_7_keys=
|
||||||
|
file_custom_verb_8_keys=
|
||||||
|
file_custom_verb_9_keys=
|
||||||
|
file_custom_verb_10_keys=
|
||||||
|
file_custom_verb_11_keys=
|
||||||
|
file_custom_verb_12_keys=
|
||||||
|
edit_cut_keys=8536
|
||||||
|
edit_copy_keys=8515,8493
|
||||||
|
edit_paste_keys=8534,9261
|
||||||
|
edit_select_all_keys=8513
|
||||||
|
edit_invert_selection_keys=
|
||||||
|
view_filters_keys=
|
||||||
|
view_status_bar_keys=
|
||||||
|
view_window_size_small_keys=561
|
||||||
|
view_window_size_medium_keys=562
|
||||||
|
view_window_size_large_keys=563
|
||||||
|
view_window_size_auto_fit_keys=564
|
||||||
|
view_zoom_zoom_in_keys=443,363
|
||||||
|
view_zoom_zoom_out_keys=445,365
|
||||||
|
view_zoom_reset_keys=304,352
|
||||||
|
view_go_to_back_keys=549,166
|
||||||
|
view_go_to_forward_keys=551,167
|
||||||
|
view_go_to_home_keys=548
|
||||||
|
view_sort_by_name_keys=305
|
||||||
|
view_sort_by_path_keys=306
|
||||||
|
view_sort_by_size_keys=307
|
||||||
|
view_sort_by_extension_keys=308
|
||||||
|
view_sort_by_type_keys=309
|
||||||
|
view_sort_by_date_modified_keys=310
|
||||||
|
view_sort_by_date_created_keys=311
|
||||||
|
view_sort_by_attributes_keys=312
|
||||||
|
view_sort_by_file_list_filename_keys=
|
||||||
|
view_sort_by_run_count_keys=
|
||||||
|
view_sort_by_date_run_keys=
|
||||||
|
view_sort_by_date_recently_changed_keys=313
|
||||||
|
view_sort_by_date_accessed_keys=
|
||||||
|
view_sort_by_ascending_keys=
|
||||||
|
view_sort_by_descending_keys=
|
||||||
|
view_refresh_keys=116
|
||||||
|
view_fullscreen_keys=122
|
||||||
|
view_toggle_ltrrtl_keys=
|
||||||
|
view_on_top_never_keys=
|
||||||
|
view_on_top_always_keys=340
|
||||||
|
view_on_top_while_searching_keys=
|
||||||
|
search_match_case_keys=329
|
||||||
|
search_match_whole_word_keys=322
|
||||||
|
search_match_path_keys=341
|
||||||
|
search_match_diacritics_keys=333
|
||||||
|
search_enable_regex_keys=338
|
||||||
|
search_add_to_filters_keys=
|
||||||
|
search_organize_filters_keys=1350
|
||||||
|
bookmarks_add_to_bookmarks_keys=324
|
||||||
|
bookmarks_organize_bookmarks_keys=1346
|
||||||
|
tools_options_keys=336
|
||||||
|
tools_console_keys=448
|
||||||
|
tools_file_list_editor_keys=
|
||||||
|
tools_connect_to_etp_server_keys=
|
||||||
|
tools_disconnect_from_etp_server_keys=
|
||||||
|
help_everything_help_keys=112
|
||||||
|
help_search_syntax_keys=
|
||||||
|
help_regex_syntax_keys=
|
||||||
|
help_command_line_options_keys=
|
||||||
|
help_everything_website_keys=
|
||||||
|
help_check_for_updates_keys=
|
||||||
|
help_about_everything_keys=368
|
||||||
|
search_edit_focus_search_edit_keys=326,114
|
||||||
|
search_edit_delete_previous_word_keys=4360
|
||||||
|
search_edit_auto_complete_search_keys=4384
|
||||||
|
search_edit_show_search_history_keys=
|
||||||
|
search_edit_show_all_search_history_keys=4646,4648
|
||||||
|
result_list_item_up_keys=8230,4134
|
||||||
|
result_list_item_down_keys=8232,4136
|
||||||
|
result_list_page_up_keys=8225,4129
|
||||||
|
result_list_page_down_keys=8226,4130
|
||||||
|
result_list_start_of_list_keys=8228
|
||||||
|
result_list_end_of_list_keys=8227
|
||||||
|
result_list_item_up_extend_keys=9254,5158
|
||||||
|
result_list_item_down_extend_keys=9256,5160
|
||||||
|
result_list_page_up_extend_keys=9249,5153
|
||||||
|
result_list_page_down_extend_keys=9250,5154
|
||||||
|
result_list_start_of_list_extend_keys=9252
|
||||||
|
result_list_end_of_list_extend_keys=9251
|
||||||
|
result_list_focus_up_keys=8486,4390
|
||||||
|
result_list_focus_down_keys=8488,4392
|
||||||
|
result_list_focus_page_up_keys=8481,4385
|
||||||
|
result_list_focus_page_down_keys=8482,4386
|
||||||
|
result_list_focus_start_of_list_keys=8484
|
||||||
|
result_list_focus_end_of_list_keys=8483
|
||||||
|
result_list_focus_up_extend_keys=9510,5414
|
||||||
|
result_list_focus_down_extend_keys=9512,5416
|
||||||
|
result_list_focus_page_up_extend_keys=9505,5409
|
||||||
|
result_list_focus_page_down_extend_keys=9506,5410
|
||||||
|
result_list_focus_start_of_list_extend_keys=9508
|
||||||
|
result_list_focus_end_of_list_extend_keys=9507
|
||||||
|
result_list_focus_result_list_keys=
|
||||||
|
result_list_toggle_path_column_keys=1330
|
||||||
|
result_list_toggle_size_column_keys=1331
|
||||||
|
result_list_toggle_extension_column_keys=1332
|
||||||
|
result_list_toggle_type_column_keys=1333
|
||||||
|
result_list_toggle_date_modified_column_keys=1334
|
||||||
|
result_list_toggle_date_created_column_keys=1335
|
||||||
|
result_list_toggle_attributes_column_keys=1336
|
||||||
|
result_list_toggle_file_list_filename_column_keys=
|
||||||
|
result_list_toggle_run_count_column_keys=
|
||||||
|
result_list_toggle_date_recently_changed_column_keys=1337
|
||||||
|
result_list_toggle_date_accessed_column_keys=
|
||||||
|
result_list_toggle_date_run_column_keys=
|
||||||
|
result_list_size_all_columns_to_fit_keys=8555
|
||||||
|
result_list_size_result_list_to_fit_keys=
|
||||||
|
result_list_context_menu_keys=9337
|
||||||
|
result_list_scroll_left_keys=8229
|
||||||
|
result_list_scroll_right_keys=8231
|
||||||
|
result_list_scroll_page_left_keys=8485
|
||||||
|
result_list_scroll_page_right_keys=8487
|
||||||
|
result_list_select_focus_keys=8224
|
||||||
|
result_list_toggle_focus_selection_keys=8480
|
||||||
|
result_list_copy_selection_to_clipboard_as_csv_keys=
|
||||||
|
result_list_font=
|
||||||
|
result_list_font_size=
|
||||||
|
search_edit_font=
|
||||||
|
search_edit_font_size=
|
||||||
|
status_bar_font=
|
||||||
|
status_bar_font_size=
|
||||||
|
header_font=
|
||||||
|
header_font_size=
|
||||||
|
normal_background_color=
|
||||||
|
normal_foreground_color=
|
||||||
|
normal_bold=
|
||||||
|
highlighted_background_color=
|
||||||
|
highlighted_foreground_color=
|
||||||
|
highlighted_bold=
|
||||||
|
selected_background_color=
|
||||||
|
selected_foreground_color=
|
||||||
|
selected_bold=
|
||||||
|
highlighted_selected_background_color=
|
||||||
|
highlighted_selected_foreground_color=
|
||||||
|
highlighted_selected_bold=
|
||||||
|
selected_inactive_background_color=
|
||||||
|
selected_inactive_foreground_color=
|
||||||
|
selected_inactive_bold=
|
||||||
|
highlighted_selected_inactive_background_color=
|
||||||
|
highlighted_selected_inactive_foreground_color=
|
||||||
|
highlighted_selected_inactive_bold=
|
||||||
|
drop_target_background_color=
|
||||||
|
drop_target_foreground_color=
|
||||||
|
drop_target_bold=
|
||||||
|
highlighted_drop_target_background_color=
|
||||||
|
highlighted_drop_target_foreground_color=
|
||||||
|
highlighted_drop_target_bold=
|
||||||
|
current_sort_background_color=
|
||||||
|
current_sort_foreground_color=
|
||||||
|
current_sort_bold=
|
||||||
|
highlighted_current_sort_background_color=
|
||||||
|
highlighted_current_sort_foreground_color=
|
||||||
|
highlighted_current_sort_bold=
|
||||||
|
mouseover_background_color=
|
||||||
|
mouseover_foreground_color=
|
||||||
|
mouseover_bold=
|
||||||
|
mouseover_highlighted_background_color=
|
||||||
|
mouseover_highlighted_foreground_color=
|
||||||
|
mouseover_highlighted_bold=
|
||||||
|
current_sort_mouseover_background_color=
|
||||||
|
current_sort_mouseover_foreground_color=
|
||||||
|
current_sort_mouseover_bold=
|
||||||
|
mouseover_current_sort_highlighted_background_color=
|
||||||
|
mouseover_current_sort_highlighted_foreground_color=
|
||||||
|
mouseover_current_sort_highlighted_bold=
|
||||||
|
alternate_row_background_color=
|
||||||
|
alternate_row_foreground_color=
|
||||||
|
alternate_row_bold=
|
||||||
|
alternate_row_highlighted_background_color=
|
||||||
|
alternate_row_highlighted_foreground_color=
|
||||||
|
alternate_row_highlighted_bold=
|
||||||
|
current_sort_alternate_row_background_color=
|
||||||
|
current_sort_alternate_row_foreground_color=
|
||||||
|
current_sort_alternate_row_bold=
|
||||||
|
current_sort_alternate_row_highlighted_background_color=
|
||||||
|
current_sort_alternate_row_highlighted_foreground_color=
|
||||||
|
current_sort_alternate_row_highlighted_bold=
|
||||||
11
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/HMP.cmd
Normal file
11
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/HMP.cmd
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
pushd "%~dp0"
|
||||||
|
cd..
|
||||||
|
set d7IIpath=%cd%
|
||||||
|
pushd "%~dp0"
|
||||||
|
echo %d7IIpath%\>HMP_Excludes.txt
|
||||||
|
echo %programfiles%\dSupportSuite\>>HMP_Excludes.txt
|
||||||
|
echo %programfiles(x86)%\dSupportSuite\>>HMP_Excludes.txt
|
||||||
|
echo %programfiles%\CryptoPrevent\>>HMP_Excludes.txt
|
||||||
|
echo %programfiles(x86)%\CryptoPrevent\>>HMP_Excludes.txt
|
||||||
|
echo %programfiles%\Foolish IT\CryptoPrevent\>>HMP_Excludes.txt
|
||||||
|
echo %programfiles(x86)%\Foolish IT\CryptoPrevent\>>HMP_Excludes.txt
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@echo off&pushd "%~dp0"
|
||||||
|
start /wait JRT.exe -y -nr
|
||||||
|
pushd "%temp%\jrt"
|
||||||
|
if not exist "get.bat" pushd %systemdrive%\JRT
|
||||||
|
if not exist "get.bat" goto :eof
|
||||||
|
findstr /v /i "pause" get.bat>tmp.txt
|
||||||
|
findstr /v /i /b "notepad" tmp.txt>get.bat
|
||||||
|
echo.>>"%temp%\jrt\wl_services.cfg"
|
||||||
|
echo d7iisvc>>"%temp%\jrt\wl_services.cfg"
|
||||||
|
echo dSSEventSvc>>"%temp%\jrt\wl_services.cfg"
|
||||||
|
echo CryptoPreventEventSvc>>"%temp%\jrt\wl_services.cfg"
|
||||||
|
echo.>>"%temp%\jrt\wl_processes.cfg"
|
||||||
|
echo d7ii>>"%temp%\jrt\wl_processes.cfg"
|
||||||
|
echo dfunk>>"%temp%\jrt\wl_processes.cfg"
|
||||||
|
echo dSupportSuite>>"%temp%\jrt\wl_processes.cfg"
|
||||||
|
echo CryptoPrevent>>"%temp%\jrt\wl_processes.cfg"
|
||||||
|
start /wait cmd.exe /c get.bat
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
[Options]
|
||||||
|
AutoSync=1
|
||||||
|
AutoExit=1
|
||||||
|
Retry=1
|
||||||
|
|
||||||
|
[Servers]
|
||||||
|
0="time-a.nist.gov"
|
||||||
|
1="time-a.timefreq.bldrdoc.gov"
|
||||||
|
2="time-b.nist.gov"
|
||||||
|
3="time-b.timefreq.bldrdoc.gov"
|
||||||
|
4="time-c.timefreq.bldrdoc.gov"
|
||||||
|
5="us.pool.ntp.org"
|
||||||
|
6="1.us.pool.ntp.org"
|
||||||
|
7="2.us.pool.ntp.org"
|
||||||
|
8="3.us.pool.ntp.org"
|
||||||
|
9="pubts1-sj.witime.net"
|
||||||
|
10="pubts2-sj.witime.net"
|
||||||
|
11="rolex.usg.edu"
|
||||||
|
12="timekeeper.isi.edu"
|
||||||
|
13="nist1.symmetricom.com"
|
||||||
|
14="clock.via.net"
|
||||||
|
15="nist1.aol-ca.truetime.com"
|
||||||
|
16="nist.expertsmi.com"
|
||||||
|
17="nist1-dc.WiTime.net"
|
||||||
|
18="nist1-sj.WiTime.net"
|
||||||
|
19="utcnist.colorado.edu"
|
||||||
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/PatchMyPC.reg
Normal file
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/PatchMyPC.reg
Normal file
Binary file not shown.
167
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/a2cmd.cmd
Normal file
167
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/a2cmd.cmd
Normal file
|
|
@ -0,0 +1,167 @@
|
||||||
|
::
|
||||||
|
:: --- BEGIN INFO ---
|
||||||
|
::
|
||||||
|
::
|
||||||
|
:: Applicable Custom App: All 'Emsisoft xxx' app configurations in d7II default custom app configurations.
|
||||||
|
::
|
||||||
|
:: Last Update: 2017-02-03
|
||||||
|
::
|
||||||
|
:: Created by Nick @ FoolishIT.com [Foolish IT LLC] as an example for the user-configurable d7II custom app's system.
|
||||||
|
::
|
||||||
|
::
|
||||||
|
:: - d7II Config Location: (applicable to most anything having to do with this batch file)
|
||||||
|
:: Open Config (under Main drop down menu) \ Custom Apps (tab) \ (search/find/highlight desired custom app in left column/box first) \ New/Edit App (sub-tab)
|
||||||
|
::
|
||||||
|
:: - This batch file is referenced from custom app configuration items in d7II Config, and may make references to other data available from within
|
||||||
|
:: the custom app configuration or used by it such as noted here.
|
||||||
|
::
|
||||||
|
:: - The 'Whitelist.txt' file created by this batch file will by referenced in the command line arguments passed to the custom app; the configuration
|
||||||
|
:: for this is located in custom apps config as mentioned above \ then the Execution (sub-tab)
|
||||||
|
::
|
||||||
|
:: - This batch file is called into action when configured in the 'Import Config Before Execution' setting in a d7II custom app configuration,
|
||||||
|
:: which can be found on the 'Pre-Execution' tab of the custom app configuration mentioned above.
|
||||||
|
::
|
||||||
|
:: NOTES: * When a .BAT/.CMD file such as this is found configured under this setting (as opposed to any other text or data file) it will be
|
||||||
|
:: copied to the custom app's final running directory (the same as any other files would be) but then executed as a batch script (after
|
||||||
|
:: the installer is executed if one is configured, but prior to execution of the main custom app itself.
|
||||||
|
::
|
||||||
|
:: * Similarly, a .VBS file would be copied to the custom app directory and executed as a script as above.
|
||||||
|
::
|
||||||
|
:: * Further, a .REG file would be imported to the registry if found configured for this setting.
|
||||||
|
::
|
||||||
|
:: * This setting may reference multiple files separated by a comma with no spacing required; e.g. 'file1.bat,file2.txt,file3.reg'
|
||||||
|
::
|
||||||
|
:: * All files (no paths) configured here must be located within your 'd7II\Config\CustomApps\3rd Party Configs' path (create the last
|
||||||
|
:: dirs if not exist.) They will likely work if located in the 'd7II\Config\CustomApps_d7II\3rd Party Configs' path, but with all
|
||||||
|
:: d7II default custom app configurations, this path with all content will be deleted and rewritten during updates to the default apps.
|
||||||
|
::
|
||||||
|
::
|
||||||
|
:: Batch File Objectives:
|
||||||
|
::
|
||||||
|
:: 1. Obtain d7II path via registry; use this in creating a whitelist to be used by the custom app
|
||||||
|
:: (to include all custom apps in subdirs of d7II)
|
||||||
|
::
|
||||||
|
:: 2. Obtain 3rd Party Tools path via registry; if this is not a subdir of the main d7II Path, then
|
||||||
|
:: add this to a whitelist to be used by the custom app (to include all custom apps in subdirs)
|
||||||
|
::
|
||||||
|
:: 3. create a2cmd whitelist as a new file in the location/directory of the custom app (overwrite existing if any)
|
||||||
|
:: - batch file current directory should be same as the main executable of the custom app (Execution tab)
|
||||||
|
:: - add d7II path and include all custom apps within the d7II subdir structure) and other Foolish IT apps
|
||||||
|
:: to a new file (overwrite) in the current directory (of the custom app whitelist for a2cmd.)
|
||||||
|
::
|
||||||
|
::
|
||||||
|
:: --- BEGIN CODE ---
|
||||||
|
:: Disable local echo, clear screen, output a blank line.
|
||||||
|
::
|
||||||
|
@echo off&cls&echo.
|
||||||
|
:: Set window title to visually identify what this console window is doing.
|
||||||
|
title [a2cmd] Performing Additional Custom App Tasks...
|
||||||
|
:: Change from the Current Working Directory (available to the %cd% variable)
|
||||||
|
:: to the Current Directory (available as %~dp0 below) where the file actually "lives"
|
||||||
|
:: and was the location where this batch file was copied to by d7II.exe prior to running it.
|
||||||
|
::
|
||||||
|
:: - This should be the path of the main exe for this custom app as configured in d7II;
|
||||||
|
:: located in custom apps config as mentioned above \ then the Execution (sub-tab)
|
||||||
|
::
|
||||||
|
:: - Syntax explanation:
|
||||||
|
::
|
||||||
|
:: '~' removes wrapping quotes (never use in a variable if possible, instead wrap the variable as necessary!)
|
||||||
|
:: 'd' returns a drive letter and colon
|
||||||
|
:: 'p' returns a full directory path (without a prepended driveletter, and including a trailing backslash)
|
||||||
|
:: '0' refers to self (this batch file) as the subject of the above conditions
|
||||||
|
::
|
||||||
|
pushd "%~dp0"
|
||||||
|
:: Set variables for registry value queries and app info
|
||||||
|
::
|
||||||
|
set "RegKey=HKLM\Software\Foolish IT\d7II\Session\Paths"
|
||||||
|
set "RegNameEXE=AppEXE"
|
||||||
|
set "RegName3PT=3PTDir"
|
||||||
|
set "MainPath=%systemdrive%\EmsisoftCmd"
|
||||||
|
set "MainEXE=a2cmd.exe"
|
||||||
|
set "InstEXE32=EmsisoftCommandlineScanner32.exe"
|
||||||
|
set "InstEXE64=EmsisoftCommandlineScanner64.exe"
|
||||||
|
set "InstParms=/S"
|
||||||
|
:: Determine if 64bit paths should be used. Note that by using the syntax '%programfiles% (x86)' and not the single
|
||||||
|
:: '%programfiles(x86)%' then we avoid any errors with the variable not existing and throwing off the actual exist check.
|
||||||
|
::
|
||||||
|
if "[%programfiles(x86)%]" NEQ "[]" if exist "%programfiles% (x86)" set Win64=True
|
||||||
|
::
|
||||||
|
if defined Win64 (
|
||||||
|
set "ProgramDir32=%programfiles(x86)%"
|
||||||
|
set "InstEXE=%InstEXE64%"
|
||||||
|
) else (
|
||||||
|
set "ProgramDir32=%programfiles%"
|
||||||
|
set "InstEXE=%InstEXE32%"
|
||||||
|
)
|
||||||
|
:: Run installer/self-extractor
|
||||||
|
::
|
||||||
|
if not exist "%MainPath%\%MainEXE%" if exist %InstEXE% start "" /wait "%InstEXE%" %InstParms%
|
||||||
|
:: Exit if install path does not exist...
|
||||||
|
::
|
||||||
|
if not exist "%MainPath%" (
|
||||||
|
goto :eof
|
||||||
|
) else (
|
||||||
|
pushd "%MainPath%"
|
||||||
|
)
|
||||||
|
:: Add exclusions for other Foolish IT product paths (unrelated to d7II) that may be on a system;
|
||||||
|
:: While we could first test for dir exist, the dumb addition of a few extra exclusions to the
|
||||||
|
:: whitelist without checking for their existence will make much of a difference to any custom app...
|
||||||
|
::
|
||||||
|
:: - NOTE: observe the first code line using a single ">" chr prior to the whitelist filename,
|
||||||
|
:: this creates new or overwrites an existing file; all subsequent usage for the same
|
||||||
|
:: filename must include the syntax of double ">>" chrs, which creates new or appends
|
||||||
|
:: to an existing file.
|
||||||
|
::
|
||||||
|
echo %ProgramDir32%\dSupportSuite\>a2cmd_Whitelist.txt
|
||||||
|
echo %ProgramDir32%\CryptoPrevent\>>a2cmd_Whitelist.txt
|
||||||
|
echo %ProgramDir32%\Foolish IT\CryptoPrevent\>>a2cmd_Whitelist.txt
|
||||||
|
:: Extract the full path to d7II.exe for the "d7IIPath" variable; obtain d7II path for the currently active
|
||||||
|
:: d7II 'session' via a registry query to the registry's copy of d7II's current session configuration.
|
||||||
|
::
|
||||||
|
:: - NOTE: The ' 2^>nul' syntax below redirects errors from the 'reg query' command to 'nul' in order to
|
||||||
|
:: keep garbage/error messages from defining this variable on an unexpected error...
|
||||||
|
::
|
||||||
|
:: Also, similar to the '%~dp0' syntax used with pushd at the beginning of the batch file, the
|
||||||
|
:: variable syntax '~dp' is used with the variable '%%_' to ensure output as a drive\path without
|
||||||
|
:: without a filename and without wrapping quotes (a trailing backslash is included in the output
|
||||||
|
:: and for these purposes it is also expected syntax for the custom app whitelist.
|
||||||
|
::
|
||||||
|
for /f "usebackq tokens=2*" %%a in (`reg query "%RegKey%" /v "%RegNameEXE%" 2^>nul`) do set "d7IIPath=%%~dpb"
|
||||||
|
::
|
||||||
|
:: Check for a result; if variable is defined above then add this path to the whitelist.
|
||||||
|
::
|
||||||
|
if defined d7IIPath echo %d7IIpath%>>a2cmd_Whitelist.txt
|
||||||
|
:: Next get the path to d7II custom apps / 3rd party tools via reg query, to provide redundancy if this path
|
||||||
|
:: for any reason is not located within a subdir of d7II.exe itself. First set the new registry value name.
|
||||||
|
::
|
||||||
|
for /f "usebackq tokens=2*" %%a in (`reg query "%RegKey%" /v "%RegName3PT%" 2^>nul`) do set "ToolsPath=%%~b"
|
||||||
|
::
|
||||||
|
:: Check for a result; if variable is defined above then add this path to the whitelist, otherwise the rest
|
||||||
|
:: of this script is useless, so exit.
|
||||||
|
::
|
||||||
|
if not defined ToolsPath goto :eof
|
||||||
|
echo %ToolsPath%\>>a2cmd_Whitelist.txt
|
||||||
|
:: If no parameters were passed to this batch file, it is being run as part of the "Copy Config" custom app
|
||||||
|
:: setting (it will be run a second time with parameters for the execution of the custom app itself, which is
|
||||||
|
:: configured to run this batch file again instead of %MainEXE% as the actual configured exe for this custom
|
||||||
|
:: app.)
|
||||||
|
::
|
||||||
|
:: Test to find out if any parameters were passed to this batch file, and if none are found just update...
|
||||||
|
::
|
||||||
|
if [%1] EQU [] goto :RunUpdate
|
||||||
|
:: If we make it this far then this batch file was launched with command line parameters intended for %MainEXE%,
|
||||||
|
:: so run the custom app passing all parameters as received and waiting for exit.
|
||||||
|
::
|
||||||
|
echo Running scan... (in a separate window; please do NOT close this window!)
|
||||||
|
::
|
||||||
|
start "" /wait "%MainEXE%" %*
|
||||||
|
goto :eof
|
||||||
|
:RunUpdate
|
||||||
|
::
|
||||||
|
:: Since getting here means no parameters were passed, run %MainEXE% using parameters for it's own internal
|
||||||
|
:: definition/signature update, then exit.
|
||||||
|
::
|
||||||
|
echo Starting update... (in a separate window; please do NOT close this window!)
|
||||||
|
::
|
||||||
|
start "" /wait "%MainEXE%" /update
|
||||||
|
goto :eof
|
||||||
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/cpuz.ini
Normal file
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/cpuz.ini
Normal file
Binary file not shown.
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/pagedfrg.reg
Normal file
BIN
.bin/d7ii/Config/CustomApps_d7II/3rd Party Configs/pagedfrg.reg
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
||||||
|
pushd "%~dp0"
|
||||||
|
cd..
|
||||||
|
set d7IIpath=%cd%
|
||||||
|
pushd "%~dp0"
|
||||||
|
echo %d7IIpath%\d7II.exe>rkill_Excludes.txt
|
||||||
35
.bin/d7ii/Config/CustomApps_d7II/AS SSD Benchmark.cfg
Normal file
35
.bin/d7ii/Config/CustomApps_d7II/AS SSD Benchmark.cfg
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Config]
|
||||||
|
DisableCloudShare=0
|
||||||
|
AppURL=http://www.alex-is.de/PHP/fusion/downloads.php?cat_id=4&file_id=9
|
||||||
|
AppDLName=AS SSD Benchmark.zip
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
AppWait=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
App=AS SSD Benchmark\AS SSD Benchmark.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
DLafterXdays=7
|
||||||
|
PriorAlert=0
|
||||||
|
LogVerbiage=Ran SSD testing/benchmark
|
||||||
|
LastDownload=10/27/2017
|
||||||
|
AppWebsite=www.alex-is.de/PHP/fusion/downloads.php?cat_id=4&download_id=9
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:45:12 AM
|
||||||
|
NonDirectURLs=0
|
||||||
|
AppDLPage=www.alex-is.de/PHP/fusion/downloads.php?cat_id=4&download_id=9
|
||||||
|
AppDesc=SSD Benchmark Utility
|
||||||
|
AutoFlag=0
|
||||||
36
.bin/d7ii/Config/CustomApps_d7II/AdwCleaner.cfg
Normal file
36
.bin/d7ii/Config/CustomApps_d7II/AdwCleaner.cfg
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
[Config]
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=7/21/2014 11:16:06 AM
|
||||||
|
AppWebsite=http://www.bleepingcomputer.com/download/adwcleaner/
|
||||||
|
AppDLPage=http://www.bleepingcomputer.com/download/adwcleaner/
|
||||||
|
AppDesc=Toolbar Remover
|
||||||
|
App=AdwCleaner.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://download.bleepingcomputer.com/Xplode/AdwCleaner.exe
|
||||||
|
AppURLB=http://general-changelog-team.fr/fr/downloads/finish/20-outils-de-xplode/2-adwcleaner
|
||||||
|
AppDLName=AdwCleaner.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=.5
|
||||||
|
AppWait=1
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=1
|
||||||
|
SnatchReportsLoc=%systemdrive%\AdwCleaner\AdwCleaner*.txt
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Removed unnecessary internet browser add-ins (e.g. Toolbars) [AdwCleaner]
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
|
AutoFlag=0
|
||||||
34
.bin/d7ii/Config/CustomApps_d7II/Auslogics DD Portable.cfg
Normal file
34
.bin/d7ii/Config/CustomApps_d7II/Auslogics DD Portable.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
DisableCloudShare=0
|
||||||
|
AppWebsite=http://www.auslogics.com/en/software/disk-defrag/command-line/
|
||||||
|
App=ausdiskdefragportable.exe
|
||||||
|
AppURL=http://www.auslogics.com/en/downloads/disk-defrag/ausdiskdefragportable.exe
|
||||||
|
AppDLName=ausdiskdefragportable.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
AppWait=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=0
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=0
|
||||||
|
UseFTPServer=0
|
||||||
|
DLafterXdays=7
|
||||||
|
PriorAlert=1
|
||||||
|
LogVerbiage=Defragmented file system (Auslogics)
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:45:41 AM
|
||||||
|
NonDirectURLs=0
|
||||||
|
AppDesc=Disk Defragmenter
|
||||||
|
AppDLPage=http://www.auslogics.com/en/software/disk-defrag/
|
||||||
|
AutoFlag=0
|
||||||
36
.bin/d7ii/Config/CustomApps_d7II/Autoruns.cfg
Normal file
36
.bin/d7ii/Config/CustomApps_d7II/Autoruns.cfg
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
[Config]
|
||||||
|
App=autoruns\autoruns.exe
|
||||||
|
AppURL=http://download.sysinternals.com/files/Autoruns.zip
|
||||||
|
AppDLName=autoruns.zip
|
||||||
|
AppWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=1
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
AppParms=-accepteula
|
||||||
|
DisableCloudShare=0
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=7
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=http://technet.microsoft.com/en-us/sysinternals/bb963902
|
||||||
|
LogVerbiage=Examined Windows startup items and removed unnecessary entries.
|
||||||
|
LastDownload=10/27/2017
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:46:37 AM
|
||||||
|
NonDirectURLs=0
|
||||||
|
AppDLPage=http://technet.microsoft.com/en-us/sysinternals/bb963902
|
||||||
|
AppDesc=Manages Startup Items
|
||||||
|
AutoFlag=0
|
||||||
33
.bin/d7ii/Config/CustomApps_d7II/Avast! aswMBR.cfg
Normal file
33
.bin/d7ii/Config/CustomApps_d7II/Avast! aswMBR.cfg
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
[Config]
|
||||||
|
App=aswMBR.exe
|
||||||
|
AppURL=http://public.avast.com/~gmerek/aswMBR.exe
|
||||||
|
AppWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=1
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
AppDLName=aswMBR.exe
|
||||||
|
DisableCloudShare=0
|
||||||
|
UseFTPServer=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=http://public.avast.com/~gmerek/aswMBR.htm
|
||||||
|
LogVerbiage=Checked MBR for infections and scanned for additional malicious items (Avast!).
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:46:53 AM
|
||||||
|
AppDLPage=http://public.avast.com/~gmerek/aswMBR.htm
|
||||||
|
AppDesc=MBR Checker and Virus Scanner
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
34
.bin/d7ii/Config/CustomApps_d7II/BatteryInfoView.cfg
Normal file
34
.bin/d7ii/Config/CustomApps_d7II/BatteryInfoView.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
DisableCloudShare=0
|
||||||
|
App=batteryinfoview.exe
|
||||||
|
AppURL=http://www.nirsoft.net/panel/batteryinfoview.exe
|
||||||
|
AppDLName=batteryinfoview.exe
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
AppWait=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=0
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=www.nirsoft.net/utils/battery_information_view.html
|
||||||
|
UseFTPServer=0
|
||||||
|
PriorAlert=0
|
||||||
|
LogVerbiage=Checked battery life and wear level.
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:47:17 AM
|
||||||
|
AppDLPage=www.nirsoft.net/utils/battery_information_view.html
|
||||||
|
AppDesc=Detailed info on installed batteries
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
[Config]
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:49:58 AM
|
||||||
|
App=advisorinstaller.exe
|
||||||
|
AppParms=/silent
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://www.belarc.com/Programs/advisorinstaller.exe
|
||||||
|
AppDLName=advisorinstaller.exe
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
WaitOnProcesses=Belarc~1.exe
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsLoc=%programfiles(x86)%\Belarc\BelarcAdvisor\System\tmp\(%computername%).html
|
||||||
|
SnatchReportsToMalwareLogs=0
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AppWebsite=http://www.belarc.com/free_download.html
|
||||||
|
AppDLPage=http://www.belarc.com/free_download.html
|
||||||
|
AppDesc=System Information Utility (Not 'Portable' - Installation Necessary)
|
||||||
|
AutoFlag=1
|
||||||
|
LastDownload=10/27/2017
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
[Config]
|
||||||
|
DisableCloudShare=0
|
||||||
|
App=BootkitRemoval_x86.exe
|
||||||
|
App64=BootkitRemoval_x64.exe
|
||||||
|
AppURL64=http://download.bitdefender.com/removal_tools/BootkitRemoval_x64.exe
|
||||||
|
AppDLName64=BootkitRemoval_x64.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://download.bitdefender.com/removal_tools/BootkitRemoval_x86.exe
|
||||||
|
AppDLName=BootkitRemoval_x86.exe
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=1
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=http://labs.bitdefender.com/projects/rootkit-remover/rootkit-remover/
|
||||||
|
LogVerbiage=Performed additional rootkit scanning. (BRR)
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:50:38 AM
|
||||||
|
AppDLPage=http://labs.bitdefender.com/projects/rootkit-remover/rootkit-remover/
|
||||||
|
AppDesc=Bitdefender Rootkit Remover
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=8/13/2018
|
||||||
34
.bin/d7ii/Config/CustomApps_d7II/BluescreenView.cfg
Normal file
34
.bin/d7ii/Config/CustomApps_d7II/BluescreenView.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
DisableCloudShare=0
|
||||||
|
App=bluescreenview.exe
|
||||||
|
AppURL=http://www.nirsoft.net/panel/bluescreenview.exe
|
||||||
|
AppDLName=bluescreenview.exe
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
AppWait=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=0
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
UseFTPServer=0
|
||||||
|
PriorAlert=0
|
||||||
|
LogVerbiage=Checked for previous blue screens / crash dumps.
|
||||||
|
AppWebsite=www.nirsoft.net/utils/blue_screen_view.html
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:51:06 AM
|
||||||
|
AppDLPage=www.nirsoft.net/utils/blue_screen_view.html
|
||||||
|
AppDesc=Analyze blue screens / memory dumps created by Windows
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
39
.bin/d7ii/Config/CustomApps_d7II/CPU-Z.cfg
Normal file
39
.bin/d7ii/Config/CustomApps_d7II/CPU-Z.cfg
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
[Config]
|
||||||
|
Author=FoolishIT
|
||||||
|
LastEditDate=12/8/2015 9:51:43 AM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=http://www.cpuid.com/softwares/cpu-z.html
|
||||||
|
AppDLPage=http://www.cpuid.com/softwares/cpu-z.html
|
||||||
|
App=cpu-z\cpuz_x32.exe
|
||||||
|
App64=cpu-z\cpuz_x64.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://download.cpuid.com/cpu-z/cpu-z_1.74-en.zip
|
||||||
|
AppDLName=cpu-z.zip
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=1
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=0
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
AppDesc=Display hardware information (CPU, RAM, MB)
|
||||||
|
LogVerbiage=Reviewed hardware information of the system.
|
||||||
|
LastDownload=12/8/2015
|
||||||
|
CopyConfigFirst=cpuz.ini
|
||||||
33
.bin/d7ii/Config/CustomApps_d7II/ComboFix (Uninstall).cfg
Normal file
33
.bin/d7ii/Config/CustomApps_d7II/ComboFix (Uninstall).cfg
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
[Config]
|
||||||
|
App=combofix.exe
|
||||||
|
AppParms=/uninstall
|
||||||
|
AppURL=http://download.bleepingcomputer.com/sUBs/ComboFix.exe
|
||||||
|
AppDLName=combofix.exe
|
||||||
|
AppWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=0
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
DisableCloudShare=0
|
||||||
|
UseFTPServer=0
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=1
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=http://www.bleepingcomputer.com/download/combofix/
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:51:39 AM
|
||||||
|
AppDLPage=http://www.bleepingcomputer.com/download/combofix/
|
||||||
|
AppDesc=Uninstalls Combofix, cleaning up any leftover files/settings.
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
34
.bin/d7ii/Config/CustomApps_d7II/ComboFix.cfg
Normal file
34
.bin/d7ii/Config/CustomApps_d7II/ComboFix.cfg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[Config]
|
||||||
|
App=combofix.exe
|
||||||
|
AppURL=http://download.bleepingcomputer.com/sUBs/ComboFix.exe
|
||||||
|
AppDLName=combofix.exe
|
||||||
|
AppWait=1
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
SaveConfigAfter=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=0
|
||||||
|
DisableCloudShare=0
|
||||||
|
UseFTPServer=0
|
||||||
|
DLafterXdays=.5
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=1
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
Servers=1
|
||||||
|
AppWebsite=http://www.bleepingcomputer.com/download/combofix/
|
||||||
|
LogVerbiage=Ran malware scans (Combofix)
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=2/7/2014 9:52:03 AM
|
||||||
|
AppDLPage=http://www.bleepingcomputer.com/download/combofix/
|
||||||
|
AppDesc=Malware removal tool.
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
33
.bin/d7ii/Config/CustomApps_d7II/CrowdInspect.cfg
Normal file
33
.bin/d7ii/Config/CustomApps_d7II/CrowdInspect.cfg
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
[Config]
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=3/15/2014 3:49:54 PM
|
||||||
|
AppWebsite=www.crowdstrike.com
|
||||||
|
AppDLPage=www.crowdstrike.com/crowdinspect/
|
||||||
|
AppDesc=Analyze running processes against VirusTotal, Web of Trust, and the Malware Hash Project.
|
||||||
|
App=CrowdInspect\CrowdInspect.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://download.crowdstrike.com/crowdinspect/CrowdInspect.zip
|
||||||
|
AppDLName=CrowdInspect.zip
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
PriorAlert=1
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=1
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
37
.bin/d7ii/Config/CustomApps_d7II/CrystalDiskInfo.cfg
Normal file
37
.bin/d7ii/Config/CustomApps_d7II/CrystalDiskInfo.cfg
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
[Config]
|
||||||
|
Author=FoolishTech
|
||||||
|
LastEditDate=4/1/2016 12:41:03 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=http://crystalmark.info/software/CrystalDiskInfo/index-e.html
|
||||||
|
AppDLPage=http://crystalmark.info/software/CrystalDiskInfo/index-e.html
|
||||||
|
AppDesc=Hard drive diagnostics / information.
|
||||||
|
App=CrystalDiskInfo\DiskInfo.exe
|
||||||
|
App64=CrystalDiskInfo\DiskInfoX64.exe
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=https://osdn.jp/frs/redir.php?m=tcpdiag&f=%2Fcrystaldiskinfo%2F65634%2FCrystalDiskInfo6_8_2.zip
|
||||||
|
AppDLName=CrystalDiskInfo.zip
|
||||||
|
AlwaysAttemptDownload=0
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
SaveConfigAfter=0
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Examined Hard Drive health (CrystalDiskInfo)
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
39
.bin/d7ii/Config/CustomApps_d7II/CurrPorts.cfg
Normal file
39
.bin/d7ii/Config/CustomApps_d7II/CurrPorts.cfg
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
[Config]
|
||||||
|
Author=dSupportOnline
|
||||||
|
LastEditDate=11/6/2014 10:33:04 PM
|
||||||
|
PostRunApp=
|
||||||
|
AppWebsite=http://www.nirsoft.net/utils/cports.html
|
||||||
|
AppDLPage=http://www.nirsoft.net/utils/cports.html
|
||||||
|
AppDesc=Displays current ports in use on system and by which process
|
||||||
|
App=cports\cports.exe
|
||||||
|
AppURLSpoof=http://www.nirsoft.net/utils/cports.html
|
||||||
|
UseFTPServer=0
|
||||||
|
AppURL=http://www.nirsoft.net/utils/cports.zip
|
||||||
|
AppDLName=cports.zip
|
||||||
|
AlwaysAttemptDownload=1
|
||||||
|
DLafterXdays=5
|
||||||
|
AppWait=1
|
||||||
|
EmailBeforeExecution=0
|
||||||
|
PriorAlert=0
|
||||||
|
ServiceWait=0
|
||||||
|
AppMsgBox=0
|
||||||
|
AppRandomize=0
|
||||||
|
CopyConfigFirst=cports.cfg
|
||||||
|
SaveConfigAfter=1
|
||||||
|
MoveSnatchReports=0
|
||||||
|
SnatchReportsToMalwareLogs=1
|
||||||
|
RunInCMD=0
|
||||||
|
SendEnter=0
|
||||||
|
RunWithSystemAccess=0
|
||||||
|
IsDLInstaller=0
|
||||||
|
LogVerbiage=Reviewed current ports in use by various applications on the system
|
||||||
|
32=1
|
||||||
|
64=1
|
||||||
|
XP=1
|
||||||
|
Vista=1
|
||||||
|
7=1
|
||||||
|
8=1
|
||||||
|
Servers=1
|
||||||
|
NonDirectURLs=0
|
||||||
|
AutoFlag=0
|
||||||
|
LastDownload=10/27/2017
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue