diff --git a/windows/kisser/boykisser.ico b/windows/kisser/boykisser.ico new file mode 100644 index 0000000..babfe17 Binary files /dev/null and b/windows/kisser/boykisser.ico differ diff --git a/windows/kisser/kiss.bat b/windows/kisser/kiss.bat new file mode 100644 index 0000000..a705eee --- /dev/null +++ b/windows/kisser/kiss.bat @@ -0,0 +1,99 @@ +@echo off +pushd "%~dp0" + +echo.WARNING!!! This script replaces (almost) EVERY icon with a boykisser image. Are you sure??? + +choice /c yn > nul + +if not %ERRORLEVEL%==1 exit /b + +if "%~1"=="/b" ( + set bat=1 + shift /1 +) +if "%~1"=="/s" goto %~2 +if "%~1"=="/a" ( + set stop=1 + goto %~2 +) + +:1 +echo.[1] Shortcuts +cscript //nologo kissShortcuts.js +echo.[1] Done +if "%stop%"=="1" goto end + +echo. + +:2 +echo.[2] Registry + +:2.1 +echo.[2.1] Recycle bin +reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon" /v "empty" /d "%~dp0boykisser.ico,0" /t REG_SZ /f +reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon" /v "full" /d "%~dp0boykisser.ico,0" /t REG_SZ /f +echo.[2.1] Done +if "%stop%"=="1" goto end + +:2.2 +echo.[2.2] My computer +reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +echo.[2.2] Done +if "%stop%"=="1" goto end + +:2.3 +echo.[2.3] User folder +reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{59031A47-3F72-44A7-89C5-5595FE6B30EE}\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +echo.[2.3] Done +if "%stop%"=="1" goto end + +:2.4 +echo.[2.4] My computer +reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +echo.[2.4] Done +if "%stop%"=="1" goto end + +:2.5 +echo.[2.5] Network +reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +echo.[2.5] Done +if "%stop%"=="1" goto end + +:2.6 +echo.[2.6] Drive icons +for %%i in (A B D E F G H I J K L M N I J K L M N O P Q R S T U V W X Y Z) do ( + reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%%i\DefaultIcon" /ve /d "%~dp0boykisser.ico,0" /t REG_SZ /f +) +echo.[2.6] Done +if "%stop%"=="1" goto end + +echo.[2] Done + +echo. + +:3 +echo.[3] File types +echo.[!] Please wait... +cscript //nologo kissFileTypes.js +echo.[3] Done + +:4 +echo.[4] System information +takeown /f "%windir%\Branding\Basebrd\basebrd.dll" +icacls "%windir%\Branding\Basebrd\basebrd.dll" /grant:r "%username%:f" +copy /y dll\basebrd.dll "%windir%\Branding\Basebrd\basebrd.dll" + +reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v RegisteredOwner /d "Boykisser" /t REG_SZ /f +reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v RegisteredOrganization /d "Boykisser Corporation" /t REG_SZ /f +reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName /d "Windows 10 Boykisser edition" /t REG_SZ /f +echo.[4] Done + +:end +echo. +echo. +echo.Done + +taskkill /f /im explorer.exe +start explorer.exe +if not "%bat%"=="1" pause> nul diff --git a/windows/kisser/kissFileTypes.js b/windows/kisser/kissFileTypes.js new file mode 100644 index 0000000..8e4f7da --- /dev/null +++ b/windows/kisser/kissFileTypes.js @@ -0,0 +1,48 @@ +var shell = WScript.CreateObject('WScript.Shell'); +var fso = WScript.CreateObject('Scripting.FileSystemObject') + +function getDir(path){ + return path.split('\\').slice(0, -1).join('\\'); +} + +function isRegExists(regParam){ + try{ + shell.RegRead(regParam); + return true; + }catch(e){ + return false; + } +} + +function getKeys(){ + var HKCR = 2147483648; + + var objService = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default'); + var objReg = objService.Get('StdRegProv'); + + var objMethod = objReg.Methods_.Item('EnumKey'); + var objParamsIn = objMethod.InParameters.SpawnInstance_(); + objParamsIn.hDefKey = HKCR; + objParamsIn.sSubKeyName = ''; + + var objParamsOut = objReg.ExecMethod_(objMethod.Name, objParamsIn); + + if(objParamsOut.ReturnValue === 0){ + if(objParamsOut.sNames != null){ + return objParamsOut.sNames.toArray(); + } + } +} + +var regKs = getKeys(); +for(var i in regKs){ + var key = 'HKCR\\'+regKs[i]; + if(isRegExists(key+'\\DefaultIcon\\')){ + WScript.Echo('kissing: '+key); + try{ + shell.RegWrite(key+'\\DefaultIcon\\', getDir(WScript.ScriptFullName)+'\\boykisser.ico,0', 'REG_SZ'); + }catch(e){ + WScript.Echo('failed: '+key); + } + } +} \ No newline at end of file diff --git a/windows/kisser/kissShortcuts.js b/windows/kisser/kissShortcuts.js new file mode 100644 index 0000000..f3ba339 --- /dev/null +++ b/windows/kisser/kissShortcuts.js @@ -0,0 +1,50 @@ +var shell = WScript.CreateObject('WScript.Shell'); +var fso = WScript.CreateObject('Scripting.FileSystemObject') + +function getDir(path){ + return path.split('\\').slice(0, -1).join('\\'); +} + +function listLnk(dir){ + var dobj = fso.GetFolder(dir); + var fenum = new Enumerator(dobj.Files); + var denum = new Enumerator(dobj.SubFolders); + var outarr = []; + + for(; !fenum.atEnd(); fenum.moveNext()) if(fenum.item().Name.slice(-4) == '.lnk') outarr.push(fenum.item().Path); + for(; !denum.atEnd(); denum.moveNext()){ + var ar = listLnk(denum.item().Path); + for(var i = 0; i < ar.length; i++) outarr.push(ar[i]); + } + + return outarr; +} + +function kissShortcut(pth){ + var shortcut = shell.CreateShortcut(pth); + shortcut.IconLocation = getDir(WScript.ScriptFullName)+'\\boykisser.ico,0'; + shortcut.Save(); +} + +function kissFolder(fol, dbg){ + var lnks = listLnk(fol); + for(var i = 0; i < lnks.length; i++){ + if(dbg) WScript.Echo('kissing: ' + lnks[i]); + try{ + kissShortcut(lnks[i]); + }catch(e){ + var exec = shell.Exec('cmd /c takeown /f "' + lnks[i] + '" && icacls "' + lnks[i] + '" /grant:r "%username%":f'); + while(exec.Status != 1) WScript.Sleep(100); + try{ + kissShortcut(lnks[i]) + }catch(e){ + if(dbg) WScript.Echo('failed: ' + lnks[i]); + } + } + } +} + +kissFolder(shell.ExpandEnvironmentStrings('%programdata%') + '\\Microsoft\\Windows\\Start Menu\\Programs', true); +kissFolder(shell.ExpandEnvironmentStrings('%appdata%') + '\\Microsoft\\Windows\\Start Menu\\Programs', true); +kissFolder(shell.ExpandEnvironmentStrings('%public%') + '\\Desktop', true); +kissFolder(shell.ExpandEnvironmentStrings('%userprofile%') + '\\Desktop', true);