From e707a75c6de27209a3795c929eecc01f715a5086 Mon Sep 17 00:00:00 2001 From: lstprjct <88411318+lstprjct@users.noreply.github.com> Date: Sat, 17 Feb 2024 20:39:32 +0600 Subject: [PATCH 1/7] 1.2 The latest update to version 1.2 addresses recent issues and provides fixes. --- IAS.ps1 | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/IAS.ps1 b/IAS.ps1 index 167e836..d461fcf 100644 --- a/IAS.ps1 +++ b/IAS.ps1 @@ -1,19 +1,28 @@ +# Check the instructions here on how to use it https://github.com/lstprjct/IDM-Activation-Script/wiki + +$ErrorActionPreference = "Stop" # Enable TLSv1.2 for compatibility with older clients -[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor [System.Net.SecurityProtocolType]::Tls12 +[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 -$DownloadURL = 'https://raw.githubusercontent.com/lstprjct/IDM-Activation-Script/main/IAS_0.8.cmd' +$DownloadURL = 'https://raw.githubusercontent.com/lstprjct/IDM-Activation-Script/main/IAS.cmd' -$FilePath = "$env:TEMP\IAS.cmd" +$rand = Get-Random -Maximum 99999999 +$isAdmin = [bool]([Security.Principal.WindowsIdentity]::GetCurrent().Groups -match 'S-1-5-32-544') +$FilePath = if ($isAdmin) { "$env:SystemRoot\Temp\IAS_$rand.cmd" } else { "$env:TEMP\IAS_$rand.cmd" } try { - Invoke-WebRequest -Uri $DownloadURL -UseBasicParsing -OutFile $FilePath -} catch { - Write-Error $_ - Return + $response = Invoke-WebRequest -Uri $DownloadURL -UseBasicParsing } - -if (Test-Path $FilePath) { - Start-Process $FilePath -Wait - $item = Get-Item -LiteralPath $FilePath - $item.Delete() +catch { + $response = Invoke-WebRequest -Uri $DownloadURL2 -UseBasicParsing } + +$ScriptArgs = "$args " +$prefix = "@REM $rand `r`n" +$content = $prefix + $response +Set-Content -Path $FilePath -Value $content + +Start-Process $FilePath $ScriptArgs -Wait + +$FilePaths = @("$env:TEMP\IAS*.cmd", "$env:SystemRoot\Temp\IAS*.cmd") +foreach ($FilePath in $FilePaths) { Get-Item $FilePath | Remove-Item } From cc486ebe93b106f0a4826eab4470405b221d65de Mon Sep 17 00:00:00 2001 From: lstprjct <88411318+lstprjct@users.noreply.github.com> Date: Sat, 17 Feb 2024 20:41:59 +0600 Subject: [PATCH 2/7] 1.2 The changelog for the software updates is as follows: - Version 1.2: Added back activation option with randomized registration details, recommended Freeze trial option due to issues. Also, implemented a script to disable quick-edit in CMD windows using Powershell. - Version 1.1: Removed activation option, replaced it with Freeze trial to address fake serial popups, and added code to relaunch script with conhost.exe. - Version 1.0: Added code to relaunch the script with conhost.exe, fixed an issue in getting the current user account SID. - Version 0.9: Fixed issues with script activation in non-admin user accounts, improved error handling, and added update checker code. - Version 0.8: Moved the project to Github, made minor bug fixes, and added information about deleting empty registry keys. --- IAS.cmd | 915 ++++++++++++++++++++++++++++++++++++++++++++++++++++ IAS_0.8.cmd | 889 -------------------------------------------------- 2 files changed, 915 insertions(+), 889 deletions(-) create mode 100644 IAS.cmd delete mode 100644 IAS_0.8.cmd diff --git a/IAS.cmd b/IAS.cmd new file mode 100644 index 0000000..7a18124 --- /dev/null +++ b/IAS.cmd @@ -0,0 +1,915 @@ +@set iasver=1.2 +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: IDM Activation Script (IAS) +:: +:: Homepages: https://github.com/lstprjct/IDM-Activation-Script +:: https://t.me/ModByPiash/5 +:: +:: Telegram: @Stripe_op +:: +::============================================================================ + + + +:: To activate, run the script with "/act" parameter or change 0 to 1 in below line +set _activate=0 + +:: To Freeze the 30 days trial period, run the script with "/frz" parameter or change 0 to 1 in below line +set _freeze=0 + +:: To reset the activation and trial, run the script with "/res" parameter or change 0 to 1 in below line +set _reset=0 + +:: If value is changed in above lines or parameter is used then script will run in unattended mode + +::======================================================================================================================================== + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +::======================================================================================================================================== + +set "blank=" +set "mas=https://github.com/lstprjct/IDM-Activation-Script/wiki/" + +:: Check if Null service is working, it's important for the batch script + +sc query Null | find /i "RUNNING" +if %errorlevel% NEQ 0 ( +echo: +echo Null service is not running, script may crash... +echo: +echo: +echo Help - %mas%IAS-Help#troubleshoot +echo: +echo: +ping 127.0.0.1 -n 10 +) +cls + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /v "$" "%~nx0" && ( +echo: +echo Error: Script either has LF line ending issue or an empty line at the end of the script is missing. +echo: +ping 127.0.0.1 -n 6 >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title IDM Activation Script %iasver% + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="-el" set _elev=1 +if /i "%%A"=="/res" set _reset=1 +if /i "%%A"=="/frz" set _freeze=1 +if /i "%%A"=="/act" set _activate=1 +) +) + +for %%A in (%_activate% %_freeze% %_reset%) do (if "%%A"=="1" set _unattended=1) + +::======================================================================================================================================== + +set "nul1=1>nul" +set "nul2=2>nul" +set "nul6=2^>nul" +set "nul=>nul 2>&1" + +set psc=powershell.exe +set winbuild=1 +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 %nul2% | find /i "0x0" %nul1% && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Blue="44;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Blue="Blue" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" +set "line=___________________________________________________________________________________________________" +set "_buf={$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=34;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + +::======================================================================================================================================== + +if %winbuild% LSS 7600 ( +%nceline% +echo Unsupported OS version Detected [%winbuild%]. +echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. +goto done2 +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto done2 +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% +set _PSarg=%_PSarg:'=''% + +set "_appdata=%appdata%" +set "_ttemp=%userprofile%\AppData\Local\Temp" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto done2 +) +) + +::======================================================================================================================================== + +:: Check PowerShell + +REM :PowerShellTest: $ExecutionContext.SessionState.LanguageMode :PowerShellTest: + +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':PowerShellTest:\s*';iex ($f[1])" | find /i "FullLanguage" %nul1% || ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode +echo: +echo PowerShell is not working. Aborting... +echo If you have applied restrictions on Powershell then undo those changes. +echo: +echo Check this page for help. %mas%IAS-Help#troubleshoot +goto done2 +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul1% fltmc || ( +if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b +%eline% +echo This script requires admin privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto done2 +) + +::======================================================================================================================================== + +:: Disable QuickEdit and launch from conhost.exe to avoid Terminal app + +set quedit= +set terminal= + +if %_unattended%==1 ( +set quedit=1 +set terminal=1 +) + +for %%# in (%_args%) do (if /i "%%#"=="-qedit" set quedit=1) + +if %winbuild% LSS 10586 ( +reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set quedit=1 +) + +if %winbuild% GEQ 17763 ( +set "launchcmd=start conhost.exe %psc%" +) else ( +set "launchcmd=%psc%" +) + +set "d1=$t=[AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2, $False).DefineType(0);" +set "d2=$t.DefinePInvokeMethod('GetStdHandle', 'kernel32.dll', 22, 1, [IntPtr], @([Int32]), 1, 3).SetImplementationFlags(128);" +set "d3=$t.DefinePInvokeMethod('SetConsoleMode', 'kernel32.dll', 22, 1, [Boolean], @([IntPtr], [Int32]), 1, 3).SetImplementationFlags(128);" +set "d4=$k=$t.CreateType(); $b=$k::SetConsoleMode($k::GetStdHandle(-10), 0x0080);" + +if defined quedit goto :skipQE +%launchcmd% "%d1% %d2% %d3% %d4% & cmd.exe '/c' '!_PSarg! -qedit'" &exit /b +:skipQE + +::======================================================================================================================================== + +cls +title IDM Activation Script %iasver% + +echo: +echo Initializing... + +:: Check WMI + +%psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% || ( +%eline% +%psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" +echo: +echo WMI is not working. Aborting... +echo: +echo Check this page for help. %mas%IAS-Help#troubleshoot +goto done2 +) + +:: Check user account SID + +set _sid= +for /f "delims=" %%a in ('%psc% "([System.Security.Principal.NTAccount](Get-WmiObject -Class Win32_ComputerSystem).UserName).Translate([System.Security.Principal.SecurityIdentifier]).Value" %nul6%') do (set _sid=%%a) + +reg query HKU\%_sid%\Software %nul% || ( +for /f "delims=" %%a in ('%psc% "$explorerProc = Get-Process -Name explorer | Where-Object {$_.SessionId -eq (Get-Process -Id $pid).SessionId} | Select-Object -First 1; $sid = (gwmi -Query ('Select * From Win32_Process Where ProcessID=' + $explorerProc.Id)).GetOwnerSid().Sid; $sid" %nul6%') do (set _sid=%%a) +) + +reg query HKU\%_sid%\Software %nul% || ( +%eline% +echo: +echo [%_sid%] +echo User Account SID not found. Aborting... +echo: +echo Check this page for help. %mas%IAS-Help#troubleshoot +goto done2 +) + +::======================================================================================================================================== + +:: Check if the current user SID is syncing with the HKCU entries + +%nul% reg delete HKCU\IAS_TEST /f +%nul% reg delete HKU\%_sid%\IAS_TEST /f + +set HKCUsync=$null +%nul% reg add HKCU\IAS_TEST +%nul% reg query HKU\%_sid%\IAS_TEST && ( +set HKCUsync=1 +) + +%nul% reg delete HKCU\IAS_TEST /f +%nul% reg delete HKU\%_sid%\IAS_TEST /f + +:: Below code also works for ARM64 Windows 10 (including x64 bit emulation) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +if /i not "%arch%"=="x86" set arch=x64 + +if "%arch%"=="x86" ( +set "CLSID=HKCU\Software\Classes\CLSID" +set "CLSID2=HKU\%_sid%\Software\Classes\CLSID" +set "HKLM=HKLM\Software\Internet Download Manager" +) else ( +set "CLSID=HKCU\Software\Classes\Wow6432Node\CLSID" +set "CLSID2=HKU\%_sid%\Software\Classes\Wow6432Node\CLSID" +set "HKLM=HKLM\SOFTWARE\Wow6432Node\Internet Download Manager" +) + +for /f "tokens=2*" %%a in ('reg query "HKU\%_sid%\Software\DownloadManager" /v ExePath %nul6%') do call set "IDMan=%%b" + +if not exist "%IDMan%" ( +if %arch%==x64 set "IDMan=%ProgramFiles(x86)%\Internet Download Manager\IDMan.exe" +if %arch%==x86 set "IDMan=%ProgramFiles%\Internet Download Manager\IDMan.exe" +) + +if not exist %SystemRoot%\Temp md %SystemRoot%\Temp +set "idmcheck=tasklist /fi "imagename eq idman.exe" | findstr /i "idman.exe" %nul1%" + +:: Check CLSID registry access + +%nul% reg add %CLSID2%\IAS_TEST +%nul% reg query %CLSID2%\IAS_TEST || ( +%eline% +echo Failed to write in %CLSID2% +echo: +echo Check this page for help. %mas%IAS-Help#troubleshoot +goto done2 +) + +%nul% reg delete %CLSID2%\IAS_TEST /f + +::======================================================================================================================================== + +if %_reset%==1 goto :_reset +if %_activate%==1 (set frz=0&goto :_activate) +if %_freeze%==1 (set frz=1&goto :_activate) + +:MainMenu + +cls +title IDM Activation Script %iasver% +if not defined terminal mode 75, 28 + +echo: +echo: +call :_color2 %_White% " " %_Green% "Create By Piash" +echo: ___________________________________________________ +echo: +echo: Telegram: @ModByPiash +echo: Github: https://github.com/lstprjct +echo: ___________________________________________________ +echo: +echo: [1] Activate +echo: [2] Freeze Trial +echo: [3] Reset Activation / Trial +echo: _____________________________________________ +echo: +echo: [4] Download IDM +echo: [5] Help +echo: [0] Exit +echo: ___________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,0]" +choice /C:123450 /N +set _erl=%errorlevel% + +if %_erl%==6 exit /b +if %_erl%==5 start https://github.com/lstprjct/IDM-Activation-Script & goto MainMenu +if %_erl%==4 start https://www.internetdownloadmanager.com/download.html & goto MainMenu +if %_erl%==3 goto _reset +if %_erl%==2 (set frz=1&goto :_activate) +if %_erl%==1 (set frz=0&goto :_activate) +goto :MainMenu + +::======================================================================================================================================== + +:_reset + +cls +if not %HKCUsync%==1 ( +if not defined terminal mode 153, 35 +) else ( +if not defined terminal mode 113, 35 +) +if not defined terminal %psc% "&%_buf%" %nul% + +echo: +%idmcheck% && taskkill /f /im idman.exe + +set _time= +for /f %%a in ('%psc% "(Get-Date).ToString('yyyyMMdd-HHmmssfff')"') do set _time=%%a + +echo: +echo Creating backup of CLSID registry keys in %SystemRoot%\Temp + +reg export %CLSID% "%SystemRoot%\Temp\_Backup_HKCU_CLSID_%_time%.reg" +if not %HKCUsync%==1 reg export %CLSID2% "%SystemRoot%\Temp\_Backup_HKU-%_sid%_CLSID_%_time%.reg" + +call :delete_queue +%psc% "$sid = '%_sid%'; $HKCUsync = %HKCUsync%; $lockKey = $null; $deleteKey = 1; $f=[io.file]::ReadAllText('!_batp!') -split ':regscan\:.*';iex ($f[1])" + +call :add_key + +echo: +echo %line% +echo: +call :_color %Green% "The IDM reset process has been completed." + +goto done + +:delete_queue + +echo: +echo Deleting IDM registry keys... +echo: + +for %%# in ( +""HKCU\Software\DownloadManager" "/v" "FName"" +""HKCU\Software\DownloadManager" "/v" "LName"" +""HKCU\Software\DownloadManager" "/v" "Email"" +""HKCU\Software\DownloadManager" "/v" "Serial"" +""HKCU\Software\DownloadManager" "/v" "scansk"" +""HKCU\Software\DownloadManager" "/v" "tvfrdt"" +""HKCU\Software\DownloadManager" "/v" "radxcnt"" +""HKCU\Software\DownloadManager" "/v" "LstCheck"" +""HKCU\Software\DownloadManager" "/v" "ptrk_scdt"" +""HKCU\Software\DownloadManager" "/v" "LastCheckQU"" +"%HKLM%" +) do for /f "tokens=* delims=" %%A in ("%%~#") do ( +set "reg="%%~A"" ® query !reg! %nul% && call :del +) + +if not %HKCUsync%==1 for %%# in ( +""HKU\%_sid%\Software\DownloadManager" "/v" "FName"" +""HKU\%_sid%\Software\DownloadManager" "/v" "LName"" +""HKU\%_sid%\Software\DownloadManager" "/v" "Email"" +""HKU\%_sid%\Software\DownloadManager" "/v" "Serial"" +""HKU\%_sid%\Software\DownloadManager" "/v" "scansk"" +""HKU\%_sid%\Software\DownloadManager" "/v" "tvfrdt"" +""HKU\%_sid%\Software\DownloadManager" "/v" "radxcnt"" +""HKU\%_sid%\Software\DownloadManager" "/v" "LstCheck"" +""HKU\%_sid%\Software\DownloadManager" "/v" "ptrk_scdt"" +""HKU\%_sid%\Software\DownloadManager" "/v" "LastCheckQU"" +) do for /f "tokens=* delims=" %%A in ("%%~#") do ( +set "reg="%%~A"" ® query !reg! %nul% && call :del +) + +exit /b + +:del + +reg delete %reg% /f %nul% + +if "%errorlevel%"=="0" ( +set "reg=%reg:"=%" +echo Deleted - !reg! +) else ( +set "reg=%reg:"=%" +call :_color2 %Red% "Failed - !reg!" +) + +exit /b + +::======================================================================================================================================== + +:_activate + +cls +if not %HKCUsync%==1 ( +if not defined terminal mode 153, 35 +) else ( +if not defined terminal mode 113, 35 +) +if not defined terminal %psc% "&%_buf%" %nul% + +if %frz%==0 if %_unattended%==0 ( +echo: +echo %line% +echo: +echo Activation is not working for some users and IDM may show fake serial nag screen. +echo: +call :_color2 %_White% " " %_Green% "Its recommended to use Freeze Trial option instead." +echo %line% +echo: +choice /C:19 /N /M "> [1] Go Back [9] Activate : " +if !errorlevel!==1 goto :MainMenu +cls +) + +echo: +if not exist "%IDMan%" ( +call :_color %Red% "IDM [Internet Download Manager] is not Installed." +echo You can download it from https://www.internetdownloadmanager.com/download.html +goto done +) + +:: Internet check with internetdownloadmanager.com ping and port 80 test + +set _int= +for /f "delims=[] tokens=2" %%# in ('ping -n 1 internetdownloadmanager.com') do (if not [%%#]==[] set _int=1) + +if not defined _int ( +%psc% "$t = New-Object Net.Sockets.TcpClient;try{$t.Connect("""internetdownloadmanager.com""", 80)}catch{};$t.Connected" | findstr /i "true" %nul1% || ( +call :_color %Red% "Unable to connect internetdownloadmanager.com, aborting..." +goto done +) +call :_color %Gray% "Ping command failed for internetdownloadmanager.com" +echo: +) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "regwinos=%%b" +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set "regarch=%%b" +for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if "%%j"=="" (set fullbuild=%%i) else (set fullbuild=%%i.%%j) +for /f "tokens=2*" %%a in ('reg query "HKU\%_sid%\Software\DownloadManager" /v idmvers %nul6%') do set "IDMver=%%b" + +echo Checking Info - [%regwinos% ^| %fullbuild% ^| %regarch% ^| IDM: %IDMver%] + +%idmcheck% && (echo: & taskkill /f /im idman.exe) + +set _time= +for /f %%a in ('%psc% "(Get-Date).ToString('yyyyMMdd-HHmmssfff')"') do set _time=%%a + +echo: +echo Creating backup of CLSID registry keys in %SystemRoot%\Temp + +reg export %CLSID% "%SystemRoot%\Temp\_Backup_HKCU_CLSID_%_time%.reg" +if not %HKCUsync%==1 reg export %CLSID2% "%SystemRoot%\Temp\_Backup_HKU-%_sid%_CLSID_%_time%.reg" + +call :delete_queue +call :add_key + +%psc% "$sid = '%_sid%'; $HKCUsync = %HKCUsync%; $lockKey = 1; $deleteKey = $null; $toggle = 1; $f=[io.file]::ReadAllText('!_batp!') -split ':regscan\:.*';iex ($f[1])" + +if %frz%==0 call :register_IDM + +call :download_files +if not defined _fileexist ( +%eline% +echo Error: Unable to download files with IDM. +echo: +echo Help: %mas%IAS-Help#troubleshoot +goto :done +) + +%psc% "$sid = '%_sid%'; $HKCUsync = %HKCUsync%; $lockKey = 1; $deleteKey = $null; $f=[io.file]::ReadAllText('!_batp!') -split ':regscan\:.*';iex ($f[1])" + +echo: +echo %line% +echo: +if %frz%==0 ( +call :_color %Green% "The IDM Activation process has been completed." +echo: +call :_color %Gray% "If the fake serial screen appears, use the Freeze Trial option instead." +) else ( +call :_color %Green% "The IDM 30 days trial period is successfully freezed for Lifetime." +echo: +call :_color %Gray% "If IDM is showing a popup to register, reinstall IDM." +) + +::======================================================================================================================================== + +:done + +echo %line% +echo: +echo: +if %_unattended%==1 timeout /t 2 & exit /b + +if defined terminal ( +call :_color %_Yellow% "Press 0 key to return..." +choice /c 0 /n +) else ( +call :_color %_Yellow% "Press any key to return..." +pause %nul1% +) +goto MainMenu + +:done2 + +if %_unattended%==1 timeout /t 2 & exit /b + +if defined terminal ( +echo Press 0 key to exit... +choice /c 0 /n +) else ( +echo Press any key to exit... +pause %nul1% +) +exit /b + +::======================================================================================================================================== + +:_rcont + +reg add %reg% %nul% +call :add +exit /b + +:register_IDM + +echo: +echo Applying registration details... +echo: + +set /a fname = %random% %% 9999 + 1000 +set /a lname = %random% %% 9999 + 1000 +set email=%fname%.%lname%@tonec.com + +for /f "delims=" %%a in ('%psc% "$key = -join ((Get-Random -Count 20 -InputObject ([char[]]('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'))));$key = ($key.Substring(0, 5) + '-' + $key.Substring(5, 5) + '-' + $key.Substring(10, 5) + '-' + $key.Substring(15, 5) + $key.Substring(20));Write-Output $key" %nul6%') do (set key=%%a) + +set "reg=HKCU\SOFTWARE\DownloadManager /v FName /t REG_SZ /d "%fname%"" & call :_rcont +set "reg=HKCU\SOFTWARE\DownloadManager /v LName /t REG_SZ /d "%lname%"" & call :_rcont +set "reg=HKCU\SOFTWARE\DownloadManager /v Email /t REG_SZ /d "%email%"" & call :_rcont +set "reg=HKCU\SOFTWARE\DownloadManager /v Serial /t REG_SZ /d "%key%"" & call :_rcont + +if not %HKCUsync%==1 ( +set "reg=HKU\%_sid%\SOFTWARE\DownloadManager /v FName /t REG_SZ /d "%fname%"" & call :_rcont +set "reg=HKU\%_sid%\SOFTWARE\DownloadManager /v LName /t REG_SZ /d "%lname%"" & call :_rcont +set "reg=HKU\%_sid%\SOFTWARE\DownloadManager /v Email /t REG_SZ /d "%email%"" & call :_rcont +set "reg=HKU\%_sid%\SOFTWARE\DownloadManager /v Serial /t REG_SZ /d "%key%"" & call :_rcont +) +exit /b + +:download_files + +echo: +echo Triggering a few downloads to create certain registry keys, please wait... +echo: + +set "file=%SystemRoot%\Temp\temp.png" +set _fileexist= + +set link=https://www.internetdownloadmanager.com/images/idm_box_min.png +call :download +set link=https://www.internetdownloadmanager.com/register/IDMlib/images/idman_logos.png +call :download +set link=https://www.internetdownloadmanager.com/pictures/idm_about.png +call :download + +echo: +timeout /t 3 %nul1% +%idmcheck% && taskkill /f /im idman.exe +if exist "%file%" del /f /q "%file%" +exit /b + +:download + +set /a attempt=0 +if exist "%file%" del /f /q "%file%" +start "" /B "%IDMan%" /n /d "%link%" /p "%SystemRoot%\Temp" /f temp.png + +:check_file + +timeout /t 1 %nul1% +set /a attempt+=1 +if exist "%file%" set _fileexist=1&exit /b +if %attempt% GEQ 20 exit /b +goto :Check_file + +::======================================================================================================================================== + +:add_key + +echo: +echo Adding registry key... +echo: + +set "reg="%HKLM%" /v "AdvIntDriverEnabled2"" + +reg add %reg% /t REG_DWORD /d "1" /f %nul% + +:add + +if "%errorlevel%"=="0" ( +set "reg=%reg:"=%" +echo Added - !reg! +) else ( +set "reg=%reg:"=%" +call :_color2 %Red% "Failed - !reg!" +) +exit /b + +::======================================================================================================================================== + +:regscan: +$finalValues = @() + +$arch = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment').PROCESSOR_ARCHITECTURE +if ($arch -eq "x86") { + $regPaths = @("HKCU:\Software\Classes\CLSID", "Registry::HKEY_USERS\$sid\Software\Classes\CLSID") +} else { + $regPaths = @("HKCU:\Software\Classes\WOW6432Node\CLSID", "Registry::HKEY_USERS\$sid\Software\Classes\Wow6432Node\CLSID") +} + +foreach ($regPath in $regPaths) { + if (($regPath -match "HKEY_USERS") -and ($HKCUsync -ne $null)) { + continue + } + + Write-Host + Write-Host "Searching IDM CLSID Registry Keys in $regPath" + Write-Host + + $subKeys = Get-ChildItem -Path $regPath -ErrorAction SilentlyContinue -ErrorVariable lockedKeys | Where-Object { $_.PSChildName -match '^\{[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}\}$' } + + foreach ($lockedKey in $lockedKeys) { + $leafValue = Split-Path -Path $lockedKey.TargetObject -Leaf + $finalValues += $leafValue + Write-Output "$leafValue - Found Locked Key" + } + + if ($subKeys -eq $null) { + continue + } + + $subKeysToExclude = "LocalServer32", "InProcServer32", "InProcHandler32" + + $filteredKeys = $subKeys | Where-Object { !($_.GetSubKeyNames() | Where-Object { $subKeysToExclude -contains $_ }) } + + foreach ($key in $filteredKeys) { + $fullPath = $key.PSPath + $keyValues = Get-ItemProperty -Path $fullPath -ErrorAction SilentlyContinue + $defaultValue = $keyValues.PSObject.Properties | Where-Object { $_.Name -eq '(default)' } | Select-Object -ExpandProperty Value + + if (($defaultValue -match "^\d+$") -and ($key.SubKeyCount -eq 0)) { + $finalValues += $($key.PSChildName) + Write-Output "$($key.PSChildName) - Found Digit In Default and No Subkeys" + continue + } + if (($defaultValue -match "\+|=") -and ($key.SubKeyCount -eq 0)) { + $finalValues += $($key.PSChildName) + Write-Output "$($key.PSChildName) - Found + or = In Default and No Subkeys" + continue + } + $versionValue = Get-ItemProperty -Path "$fullPath\Version" -ErrorAction SilentlyContinue | Select-Object -ExpandProperty '(default)' -ErrorAction SilentlyContinue + if (($versionValue -match "^\d+$") -and ($key.SubKeyCount -eq 1)) { + $finalValues += $($key.PSChildName) + Write-Output "$($key.PSChildName) - Found Digit In \Version and No Other Subkeys" + continue + } + $keyValues.PSObject.Properties | ForEach-Object { + if ($_.Name -match "MData|Model|scansk|Therad") { + $finalValues += $($key.PSChildName) + Write-Output "$($key.PSChildName) - Found MData Model scansk Therad" + continue + } + } + if (($key.ValueCount -eq 0) -and ($key.SubKeyCount -eq 0)) { + $finalValues += $($key.PSChildName) + Write-Output "$($key.PSChildName) - Found Empty Key" + continue + } + } +} + +$finalValues = @($finalValues | Select-Object -Unique) + +if ($finalValues -ne $null) { + Write-Host + if ($lockKey -ne $null) { + Write-Host "Locking IDM CLSID Registry Keys..." + } + if ($deleteKey -ne $null) { + Write-Host "Deleting IDM CLSID Registry Keys..." + } + Write-Host +} else { + Write-Host "IDM CLSID Registry Keys are not found." + Exit +} + +if (($finalValues.Count -gt 20) -and ($toggle -ne $null)) { + $lockKey = $null + $deleteKey = 1 + Write-Host "The IDM keys count is more than 20. Deleting them now instead of locking..." + Write-Host +} + +function Take-Permissions { + param($rootKey, $regKey) + $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False) + $TypeBuilder = $ModuleBuilder.DefineType(0) + + $TypeBuilder.DefinePInvokeMethod('RtlAdjustPrivilege', 'ntdll.dll', 'Public, Static', 1, [int], @([int], [bool], [bool], [bool].MakeByRefType()), 1, 3) | Out-Null + 9,17,18 | ForEach-Object { $TypeBuilder.CreateType()::RtlAdjustPrivilege($_, $true, $false, [ref]$false) | Out-Null } + + $SID = New-Object System.Security.Principal.SecurityIdentifier('S-1-5-32-544') + $IDN = ($SID.Translate([System.Security.Principal.NTAccount])).Value + $Admin = New-Object System.Security.Principal.NTAccount($IDN) + + $everyone = New-Object System.Security.Principal.SecurityIdentifier('S-1-1-0') + $none = New-Object System.Security.Principal.SecurityIdentifier('S-1-0-0') + + $key = [Microsoft.Win32.Registry]::$rootKey.OpenSubKey($regkey, 'ReadWriteSubTree', 'TakeOwnership') + + $acl = New-Object System.Security.AccessControl.RegistrySecurity + $acl.SetOwner($Admin) + $key.SetAccessControl($acl) + + $key = $key.OpenSubKey('', 'ReadWriteSubTree', 'ChangePermissions') + $rule = New-Object System.Security.AccessControl.RegistryAccessRule($everyone, 'FullControl', 'ContainerInherit', 'None', 'Allow') + $acl.ResetAccessRule($rule) + $key.SetAccessControl($acl) + + if ($lockKey -ne $null) { + $acl = New-Object System.Security.AccessControl.RegistrySecurity + $acl.SetOwner($none) + $key.SetAccessControl($acl) + + $key = $key.OpenSubKey('', 'ReadWriteSubTree', 'ChangePermissions') + $rule = New-Object System.Security.AccessControl.RegistryAccessRule($everyone, 'FullControl', 'Deny') + $acl.ResetAccessRule($rule) + $key.SetAccessControl($acl) + } +} + +foreach ($regPath in $regPaths) { + if (($regPath -match "HKEY_USERS") -and ($HKCUsync -ne $null)) { + continue + } + foreach ($finalValue in $finalValues) { + $fullPath = Join-Path -Path $regPath -ChildPath $finalValue + if ($fullPath -match 'HKCU:') { + $rootKey = 'CurrentUser' + } else { + $rootKey = 'Users' + } + + $position = $fullPath.IndexOf("\") + $regKey = $fullPath.Substring($position + 1) + + if ($lockKey -ne $null) { + if (-not (Test-Path -Path $fullPath -ErrorAction SilentlyContinue)) { New-Item -Path $fullPath -Force -ErrorAction SilentlyContinue | Out-Null } + Take-Permissions $rootKey $regKey + try { + Remove-Item -Path $fullPath -Force -Recurse -ErrorAction Stop + Write-Host -back 'DarkRed' -fore 'white' "Failed - $fullPath" + } + catch { + Write-Host "Locked - $fullPath" + } + } + + if ($deleteKey -ne $null) { + if (Test-Path -Path $fullPath) { + Remove-Item -Path $fullPath -Force -Recurse -ErrorAction SilentlyContinue + if (Test-Path -Path $fullPath) { + Take-Permissions $rootKey $regKey + try { + Remove-Item -Path $fullPath -Force -Recurse -ErrorAction Stop + Write-Host "Deleted - $fullPath" + } + catch { + Write-Host -back 'DarkRed' -fore 'white' "Failed - $fullPath" + } + } + else { + Write-Host "Deleted - $fullPath" + } + } + } + } +} +:regscan: + +::======================================================================================================================================== + +:_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== +:: Leave empty line below diff --git a/IAS_0.8.cmd b/IAS_0.8.cmd deleted file mode 100644 index e440b91..0000000 --- a/IAS_0.8.cmd +++ /dev/null @@ -1,889 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - -:: Add custom name in IDM license info, prefer to write it in English and/or numeric in below line after = sign, -set name= - - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\Windows\SyChpe32\kernel32.dll if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 - -set _args= -set _elev= -set reset= -set Silent= -set activate= - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="-el" set _elev=1 -if /i "%%A"=="/res" set Unattended=1&set activate=&set reset=1 -if /i "%%A"=="/act" set Unattended=1&set activate=1&set reset= -if /i "%%A"=="/s" set Unattended=1&set Silent=1 -) -) - -::======================================================================================================================================== - -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -set winbuild=1 -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -call :_colorprep -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "line=________________________________________________________________________________________" -set "_buf={$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" - -if defined Silent if not defined activate if not defined reset exit /b -if defined Silent call :begin %nul% & exit /b - -:begin - -::======================================================================================================================================== - -if not exist "%_psc%" ( -%nceline% -echo Powershell is not installed in the system. -echo Aborting... -goto done2 -) - -if %winbuild% LSS 7600 ( -%nceline% -echo Unsupported OS version Detected. -echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. -goto done2 -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name -:: Thanks to @abbodi1406 - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set _PSarg="""%~f0""" -el %_args% - -set "_appdata=%appdata%" -for /f "tokens=2*" %%a in ('reg query "HKCU\Software\DownloadManager" /v ExePath 2^>nul') do call set "IDMan=%%b" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop -:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name. - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%nceline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto done2 -) - -::======================================================================================================================================== - -:: Below code also works for ARM64 Windows 10 (including x64 bit emulation) - -reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v "Identifier" | find /i "x86" 1>nul && set arch=x86|| set arch=x64 - -if not exist "!IDMan!" ( -if %arch%==x64 set "IDMan=%ProgramFiles(x86)%\Internet Download Manager\IDMan.exe" -if %arch%==x86 set "IDMan=%ProgramFiles%\Internet Download Manager\IDMan.exe" -) - -if "%arch%"=="x86" ( -set "CLSID=HKCU\Software\Classes\CLSID" -set "HKLM=HKLM\Software\Internet Download Manager" -set "_tok=5" -) else ( -set "CLSID=HKCU\Software\Classes\Wow6432Node\CLSID" -set "HKLM=HKLM\SOFTWARE\Wow6432Node\Internet Download Manager" -set "_tok=6" -) - -set _temp=%SystemRoot%\Temp -set regdata=%SystemRoot%\Temp\regdata.txt -set "idmcheck=tasklist /fi "imagename eq idman.exe" | findstr /i "idman.exe" >nul" - -::======================================================================================================================================== - -if defined Unattended ( -if defined reset goto _reset -if defined activate goto _activate -) - -:MainMenu -chcp 65001 -cls -title IDM Activation Script -mode 65, 25 - -:: Check firewall status - -set /a _ena=0 -set /a _dis=0 -for %%# in (DomainProfile PublicProfile StandardProfile) do ( -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\%%# /v EnableFirewall 2^>nul') do ( -if /i %%b equ 0x1 (set /a _ena+=1) else (set /a _dis+=1) -) -) - -if %_ena%==3 ( -set _status=Enabled -set _col=%_Green% -) - -if %_dis%==3 ( -set _status=Disabled -set _col=%_Red% -) - -if not %_ena%==3 if not %_dis%==3 ( -set _status=Status_Unclear -set _col=%_Yellow% -) - - -echo: ─▀▀▌───────▐▀▀ -echo: ─▄▀░◌░░░░░░░▀▄ ◇────────────────────◇ -echo: ▐░░◌░▄▀██▄█░░░▌ IDM Activation Script -echo: ▐░░░▀████▀▄░░░▌ ◇────────────────────◇ -echo: ═▀▄▄▄▄▄▄▄▄▄▄▄▀═ -echo: -call :_color2 %_White% " " %_Green% " Create By Piash" -echo: _____________________________________________ -echo: -echo: [1] Activate IDM -echo: [2] Reset IDM Activation / Trial in Registry -echo: _____________________________________________ -echo: -call :_color2 %_White% " [3] Toggle Windows Firewall " %_col% "[%_status%]" -echo: _____________________________________________ -echo: -echo: [4] ReadMe -echo: [5] Homepage -echo: [6] Exit -echo: ___________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6]" -choice /C:123456 /N -set _erl=%errorlevel% - -if %_erl%==5 exit /b -if %_erl%==4 goto homepage -if %_erl%==3 call :_tog_Firewall&goto MainMenu -if %_erl%==2 goto _reset -if %_erl%==1 goto _activate -goto :MainMenu - -::======================================================================================================================================== - -:_tog_Firewall - -if %_status%==Enabled ( -netsh AdvFirewall Set AllProfiles State Off >nul -) else ( -netsh AdvFirewall Set AllProfiles State On >nul -) -exit /b - -::======================================================================================================================================== - -:readme - -set "_ReadMe=%SystemRoot%\Temp\ReadMe.txt" -if exist "%_ReadMe%" del /f /q "%_ReadMe%" %nul% -call :export txt "%_ReadMe%" -start notepad "%_ReadMe%" -timeout /t 2 %nul% -del /f /q "%_ReadMe%" -exit /b - - -:: Extract the text from batch script without character and file encoding issue -:: Thanks to @abbodi1406 - -:export - -%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::ASCII);" -exit/b - -::======================================================================================================================================== - -:_reset - -if not defined Unattended ( -mode 93, 32 -%nul% %_psc% "&%_buf%" -) - -echo: -set _error= - -reg query "HKCU\Software\DownloadManager" "/v" "Serial" %nul% && ( -%idmcheck% && taskkill /f /im idman.exe -) - -if exist "!_appdata!\DMCache\settings.bak" del /s /f /q "!_appdata!\DMCache\settings.bak" - -set "_action=call :delete_key" -call :reset - -echo: -echo %line% -echo: -if not defined _error ( -call :_color %Green% "IDM Activation - Trial is successfully reset in the registry." -) else ( -call :_color %Red% "Failed to completely reset IDM Activation - Trial." -) - -goto done - -::======================================================================================================================================== - -:_activate - -if not defined Unattended ( -mode 93, 32 -%nul% %_psc% "&%_buf%" -) - -echo: -set _error= - -if not exist "!IDMan!" ( -call :_color %Red% "IDM [Internet Download Manager] is not Installed." -echo You can download it from https://www.internetdownloadmanager.com/download.html -goto done -) - -:: Internet check with internetdownloadmanager.com ping and port 80 test - -ping -n 1 internetdownloadmanager.com >nul || ( -%_psc% "$t = New-Object Net.Sockets.TcpClient;try{$t.Connect("""internetdownloadmanager.com""", 80)}catch{};$t.Connected" | findstr /i true 1>nul -) - -if not [%errorlevel%]==[0] ( -call :_color %Red% "Unable to connect internetdownloadmanager.com, aborting..." -goto done -) - -echo Internet is connected. - -%idmcheck% && taskkill /f /im idman.exe - -if exist "!_appdata!\DMCache\settings.bak" del /s /f /q "!_appdata!\DMCache\settings.bak" - -set "_action=call :delete_key" -call :reset - -set "_action=call :count_key" -call :register_IDM - -echo: -if defined _derror call :f_reset & goto done - -set lockedkeys= -set "_action=call :lock_key" -echo Locking registry keys... -echo: -call :action - -if not defined _error if [%lockedkeys%] GEQ [7] ( -echo: -echo %line% -echo: -call :_color %Green% "IDM is successfully activated." -echo: -call :_color %Gray% "If fake serial screen appears, run activation option again, after that it wont appear." -goto done -) - -call :f_reset - -::======================================================================================================================================== - -:done - -echo %line% -echo: -echo: -if defined Unattended ( -timeout /t 3 -exit /b -) - -call :_color %_Yellow% "Press any key to return..." -pause >nul -goto MainMenu - -:done2 - -if defined Unattended ( -timeout /t 3 -exit /b -) - -echo Press any key to exit... -pause >nul -exit /b - -::======================================================================================================================================== - -:homepage - -cls -echo: -echo: -echo Going Home... -echo: -echo: -timeout /t 3 - -start https://github.com/lstprjct/IDM-Activation-Script -goto MainMenu - -::======================================================================================================================================== - -:f_reset - -echo: -echo %line% -echo: -call :_color %Red% "Error found, resetting IDM activation..." -set "_action=call :delete_key" -call :reset -echo: -echo %line% -echo: -call :_color %Red% "Failed to activate IDM." -exit /b - -::======================================================================================================================================== - -:reset - -set take_permission= -call :delete_queue -set take_permission=1 -call :action -call :add_key -exit /b - -::======================================================================================================================================== - -:_rcont - -reg add %reg% %nul% -call :_add_key -exit /b - -:register_IDM - -echo: -set /p name="What is the name to be registered?" - -echo: -echo Applying registration details... -echo: - -If not defined name set name=Piash - -set "reg=HKCU\SOFTWARE\DownloadManager /v FName /t REG_SZ /d "%name%"" & call :_rcont -set "reg=HKCU\SOFTWARE\DownloadManager /v LName /t REG_SZ /d """ & call :_rcont -set "reg=HKCU\SOFTWARE\DownloadManager /v Email /t REG_SZ /d "info@tonec.com"" & call :_rcont -set "reg=HKCU\SOFTWARE\DownloadManager /v Serial /t REG_SZ /d "FOX6H-3KWH4-7TSIN-Q4US7"" & call :_rcont - -echo: -echo Triggering a few downloads to create certain registry keys, please wait... - -set "file=%_temp%\temp.png" -set _fileexist= -set _derror= - -%idmcheck% && taskkill /f /im idman.exe - -set link=https://www.internetdownloadmanager.com/images/idm_box_min.png -call :download -set link=https://www.internetdownloadmanager.com/register/IDMlib/images/idman_logos.png -call :download - -:: it may take some time to reflect registry keys. -timeout /t 3 >nul - -set foundkeys= -call :action -if [%foundkeys%] GEQ [7] goto _skip - -set link=https://www.internetdownloadmanager.com/pictures/idm_about.png -call :download -set link=https://www.internetdownloadmanager.com/languages/indian.png -call :download - -timeout /t 3 >nul - -set foundkeys= -call :action -if not [%foundkeys%] GEQ [7] set _derror=1 - -:_skip - -echo: -if not defined _derror ( -echo Required registry keys were created successfully. -) else ( -if not defined _fileexist call :_color %Red% "Unable to download files with IDM." -call :_color %Red% "Failed to create required registry keys." -call :_color %Magenta% "Try again - disable Windows firewall with script options - check Read Me." -) - -echo: -%idmcheck% && taskkill /f /im idman.exe -if exist "%file%" del /f /q "%file%" -exit /b - -:download - -set /a attempt=0 -if exist "%file%" del /f /q "%file%" -start "" /B "!IDMan!" /n /d "%link%" /p "%_temp%" /f temp.png - -:check_file - -timeout /t 1 >nul -set /a attempt+=1 -if exist "%file%" set _fileexist=1&exit /b -if %attempt% GEQ 20 exit /b -goto :Check_file - -::======================================================================================================================================== - -:delete_queue - -echo: -echo Deleting registry keys... -echo: - -for %%# in ( -""HKCU\Software\DownloadManager" "/v" "FName"" -""HKCU\Software\DownloadManager" "/v" "LName"" -""HKCU\Software\DownloadManager" "/v" "Email"" -""HKCU\Software\DownloadManager" "/v" "Serial"" -""HKCU\Software\DownloadManager" "/v" "scansk"" -""HKCU\Software\DownloadManager" "/v" "tvfrdt"" -""HKCU\Software\DownloadManager" "/v" "radxcnt"" -""HKCU\Software\DownloadManager" "/v" "LstCheck"" -""HKCU\Software\DownloadManager" "/v" "ptrk_scdt"" -""HKCU\Software\DownloadManager" "/v" "LastCheckQU"" -"%HKLM%" -) do for /f "tokens=* delims=" %%A in ("%%~#") do ( -set "reg="%%~A"" ® query !reg! %nul% && call :delete_key -) - -exit /b - -::======================================================================================================================================== - -:add_key - -echo: -echo Adding registry key... -echo: - -set "reg="%HKLM%" /v "AdvIntDriverEnabled2"" - -reg add %reg% /t REG_DWORD /d "1" /f %nul% - -:_add_key - -if [%errorlevel%]==[0] ( -set "reg=%reg:"=%" -echo Added - !reg! -) else ( -set _error=1 -set "reg=%reg:"=%" -%_psc% write-host 'Failed' -fore 'white' -back 'DarkRed' -NoNewline&echo - !reg! -) -exit /b - -::======================================================================================================================================== - -:action - -if exist %regdata% del /f /q %regdata% %nul% - -reg query %CLSID% > %regdata% - -%nul% %_psc% "(gc %regdata%) -replace 'HKEY_CURRENT_USER', 'HKCU' | Out-File -encoding ASCII %regdata%" - -for /f %%a in (%regdata%) do ( -for /f "tokens=%_tok% delims=\" %%# in ("%%a") do ( -echo %%#|findstr /r "{.*-.*-.*-.*-.*}" >nul && (set "reg=%%a" & call :scan_key) -) -) - -if exist %regdata% del /f /q %regdata% %nul% - -exit /b - -::======================================================================================================================================== - -:scan_key - -reg query %reg% 2>nul | findstr /i "LocalServer32 InProcServer32 InProcHandler32" >nul && exit /b - -reg query %reg% 2>nul | find /i "H" 1>nul || ( -%_action% -exit /b -) - -for /f "skip=2 tokens=*" %%a in ('reg query %reg% /ve 2^>nul') do echo %%a|findstr /r /e "[^0-9]" >nul || ( -%_action% -exit /b -) - -for /f "skip=2 tokens=3" %%a in ('reg query %reg%\Version /ve 2^>nul') do echo %%a|findstr /r "[^0-9]" >nul || ( -%_action% -exit /b -) - -for /f "skip=2 tokens=1" %%a in ('reg query %reg% 2^>nul') do echo %%a| findstr /i "MData Model scansk Therad" >nul && ( -%_action% -exit /b -) - -for /f "skip=2 tokens=*" %%a in ('reg query %reg% /ve 2^>nul') do echo %%a| find /i "+" >nul && ( -%_action% -exit /b -) - -exit/b - -::======================================================================================================================================== - -:delete_key - -reg delete %reg% /f %nul% - -if not [%errorlevel%]==[0] if defined take_permission ( -%nul% call :reg_own "%reg%" preserve S-1-1-0 -reg delete %reg% /f %nul% -) - -if [%errorlevel%]==[0] ( -set "reg=%reg:"=%" -echo Deleted - !reg! -) else ( -set "reg=%reg:"=%" -set _error=1 -%_psc% write-host 'Failed' -fore 'white' -back 'DarkRed' -NoNewline & echo - !reg! -) - -exit /b - -::======================================================================================================================================== - -:lock_key - -%nul% call :reg_own "%reg%" "" S-1-1-0 S-1-0-0 Deny "FullControl" - -reg delete %reg% /f %nul% - -if not [%errorlevel%]==[0] ( -set "reg=%reg:"=%" -echo Locked - !reg! -set /a lockedkeys+=1 -) else ( -set _error=1 -set "reg=%reg:"=%" -%_psc% write-host 'Failed' -fore 'white' -back 'DarkRed' -NoNewline&echo - !reg! -) - -exit /b - -::======================================================================================================================================== - -:count_key - -set /a foundkeys+=1 -exit /b - -::======================================================================================================================================== - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:reg_own - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; $HK=gi -lit Registry::$($rk[0]) -fo; $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$subkeys=$HK.OpenSubKey($k).GetSubKeyNames() -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:_color - -if %winbuild% GEQ 10586 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -call :batcol %~1 "%~2" -) -exit /b - -:_color2 - -if %winbuild% GEQ 10586 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -call :batcol %~1 "%~2" %~3 "%~4" -) -exit /b - -::======================================= - -:: Colored text with pure batch method -:: Thanks to @dbenham and @jeb -:: https://stackoverflow.com/a/10407642 - -:: Powershell is not used here because its slow - -:batcol - -pushd %_coltemp% -if not exist "'" ("'" set /p "=.") -setlocal -set "s=%~2" -set "t=%~4" -call :_batcol %1 s %3 t -del /f /q "'" -del /f /q "`.txt" -popd -exit /b - -:_batcol - -setlocal EnableDelayedExpansion -set "s=!%~2!" -set "t=!%~4!" -for /f delims^=^ eol^= %%i in ("!s!") do ( - if "!" equ "" setlocal DisableDelayedExpansion - >`.txt (echo %%i\..\') - findstr /a:%~1 /f:`.txt "." - `.txt (echo %%i\..\') - findstr /a:%~3 /f:`.txt "." - Date: Sat, 17 Feb 2024 20:53:20 +0600 Subject: [PATCH 3/7] 1.2 The changelog for the software updates is as follows: - Version 1.2: Added back activation option with randomized registration details, recommended Freeze trial option due to issues. Also, implemented the script to disable quick-edit in CMD windows using Powershell. - Version 1.1: Removed activation option and replaced it with Freeze trial to address fake serial popups, added code to relaunch script with conhost.exe. - Version 1.0: Added code to relaunch the script with conhost.exe, fixed an issue in getting the current user account SID. - Version 0.9: Fixed issues with script activation in non-admin user accounts, improved error handling, and added update checker code. - Version 0.8: Moved the project to Github, made minor bug fixes, and added information about deleting empty registry keys. --- README.md | 245 ++++++++++++++++++++++++++---------------------------- 1 file changed, 119 insertions(+), 126 deletions(-) diff --git a/README.md b/README.md index 36112cf..8ec50f1 100644 --- a/README.md +++ b/README.md @@ -1,127 +1,120 @@ # IDM Activation Script -_________________________________ - -### Activation: -_________________________________ - - - This script applies the registry lock method to activate the Internet Download Manager (IDM). - - - This method requires Internet at the time of activation. - - - IDM updates can be installed directly without having to activate again. - - - After the activation, if in some cases, the IDM starts to show an activation nag screen, - then just run the activation option again. - -_________________________________ - -### Reset IDM Activation / Trial: -_________________________________ - - - The Internet Download Manager provides 30 days trial period, you can use this script to - reset this Activation / Trial period whenever you want. - - - This option also can be used to restore status if in case the IDM reports a fake serial - key and other similar errors. - -_________________________________ - -### OS requirement: Windows 7, 8, 8.1, 10 & 11 -_________________________________ - -## How to use it? - -### PowerShell - -On Windows 10/11, right-click on the windows start menu and select PowerShell or Terminal. - -Copy-paste the below code and press enter: - -``` -iex(irm is.gd/idm_reset) -``` -or -``` -iwr -useb https://raw.githubusercontent.com/lstprjct/IDM-Activation-Script/main/IAS.ps1 | iex -``` - -You will see the activation options, and follow onscreen instructions. - -That's all. -_________________________________ - - - Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. - -_________________________________ - -### - Advanced Info: -_________________________________ - - - To add a custom name in IDM license info, edit line number 5 in the script file. - - For activation in unattended mode, run the script with /act parameter. - - For reset in unattended mode, run the script with /res parameter. - - To enable silent mode with the above two methods, run the script with /s parameter. - -Possible accepted values, - -"IAS_xxxxxxxx.cmd" /act -"IAS_xxxxxxxx.cmd" /res -"IAS_xxxxxxxx.cmd" /act /s -"IAS_xxxxxxxx.cmd" /res /s - -_________________________________ - -### - Troubleshooting steps: -_________________________________ - - - If any other activator was used to activate IDM previously then make sure to properly - uninstall it with that same activator (if there is an option), this is especially important - if any registry/firewall block method was used. - - - Uninstall the IDM from the control panel. - - - Make sure the latest original IDM setup is used for the installation, - you can download it from https://www.internetdownloadmanager.com/download.html - - - Now install the IDM and use the activate option in this script if failed then, - - - Disable the windows firewall with the script option, this helps in case of leftover entries of - previously used activator (some file patch method also creates firewall entries). - - - Some security programs may block this script, this is false-positive, as long as you - downloaded the file from the original post (mentioned below on this page), temporary suspend - Antivirus real-time protection, or exclude the downloaded file/extracted folder from scanning. - - - If you are still facing any issues, please contact me (mentioned below on this page). - -____________________________________________________________________________________________________ - -### Credits: -____________________________________________________________________________________________________ - - @Dukun Cabul - Original researcher of this IDM trial reset and activation logic, - made an Autoit tool for these methods, IDM-AIO_2020_Final - nsaneforums.com/topic/371047--/?do=findComment&comment=1632062 - - @WindowsAddict - Ported the above Autoit tool to a batch script - - @AveYo aka @BAU - Snippet to set registry ownership and permission recursively - pastebin.com/XTPt0JSC - - @abbodi1406 - Awesome batch script tricks and help - - @dbenham - Set buffer height independently of window height - stackoverflow.com/a/13351373 - - @ModByPiash (Me) - Add and fix some missing features. - - @vavavr00m - Changed set name to prompt for a name -_________________________________ - -## IDM Activation Script - - -### Telegram: https://t.me/ModByPiash - - Forum: https://www.nsaneforums.com/topic/371047--/?do=findComment^&comment=1578647 -____________________________________________________________________________________________________ +An open-source tool to activate and reset the trial of [Internet Download Manager](https://www.internetdownloadmanager.com/) + +# Disclaimer +I want to clarify that I am not the original author of this script. When I initially published this script on GitHub, the primary author had not yet created an official GitHub repository. As a result, the only available option for users was to visit the [official forum](https://www.nsaneforums.com/topic/371047--/?do=findComment%5E&comment=1578647) to download and utilize the script. My main aim in creating this repository was to streamline the process for users. Furthermore, I ensured to credit the original creators of the script as a sign of respect for their work. + +# Features +* IDM freeze trial and activation with registry key lock method +* Activation and trial persist even after installing IDM updates +* IDM trial reset +* Fully open source +* Based on the transparent batch script + +# IAS Latest Release +Last Release - v1.2 (12-Feb-2024) +[GitHub](https://github.com/lstprjct/IDM-Activation-Script) + +# Download / How to use it? +First fresh install [Internet Download Manager](https://www.internetdownloadmanager.com/). Make sure previous cracks/patches are removed/uninstalled if there are any. +After that follow the below steps to activate it. + +# Note +* 📌 The activation option is currently not working in the script, use the Freeze trial option to lock the 30-day trial period for the lifetime. + +# Method 1 - PowerShell +(Recommended) + +* Right-click on the Windows start menu and select PowerShell or Terminal (Not CMD). +* Copy-paste the below code and press enter +*`iex(irm is.gd/idm_reset)` +* You will see the activation options, follow the on-screen instructions. +* That’s all. + +# Method 2 - Traditional + +* Download the file from [GitHub](https://github.com/lstprjct/IDM-Activation-Script/archive/refs/heads/main.zip) +* Right-click on the downloaded zip file and extract +* In the extracted folder, run the file named `IAS.cmd` +* You will see the activation options, and follow onscreen instructions. +* That’s all. + +# Info +## Freeze Trial +* IDM provides a 30-day trial period, you can use this option in the script to lock this trial period for the lifetime so that you won’t have to reset the trial again and your trial won’t expire. +* This method requires the Internet at the time of applying this option. +* IDM updates can be installed directly without having to freeze it again. + +## Activation +(***Currently not working**) + +* This script applies the registry lock method to activate the Internet download manager (IDM). +* This method requires the Internet at the time of activation. +* IDM updates can be installed directly without having to activate it again. +* After the activation, if in some cases, IDM starts to show an activation nag screen, then just run the activation option again without using the reset option. + +## Reset IDM Activation / Trial +* Internet download manager provides a 30-day trial period, you can use this script to reset this Activation / Trial period whenever you want. +* This option also can be used to restore status if in case IDM reports a fake serial key and other similar errors. + +## OS requirement +* The project is supported for Windows 7/8/8.1/10/11 and their Server equivalent. +* The PowerShell method to run IAS is supported on Windows 8 and higher. + +## Advanced Info +* To activate in unattended mode, run the script with the /act parameter. +* To freeze the trial in unattended mode, run the script with the /frz parameter. +* To reset in unattended mode, run the script with the /res parameter. + +# How does it work? +* IDM stores the data related to trial and activation across various registry keys. Some of these keys are locked to protect them from tampering and data is stored in a pattern to track the fake serial issue and the remaining trial days. To activate it, the script here simply generates those registry keys by triggering a few downloads in IDM, identifies those registry keys, and locks them so IDM can’t edit and view them. That way IDM cannot show the warning that it’s activated with a fake serial key. + +# Troubleshoot +* Browser Integration Fix: [Chrome](https://www.internetdownloadmanager.com/register/new_faq/bi9.html) - [Firefox](https://www.internetdownloadmanager.com/register/new_faq/bi4.html) +* Reach out to us on [Telegram](https://t.me/ModByPiash) with an error screenshot. +[![](https://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Telegram_logo.svg/512px-Telegram_logo.svg.png)](https://t.me/ModByPiash) + +# Changelog +## v1.2 +* Added back activation option with a randomized name, email, and key in registration details along with a warning that it’s not working for some users, the recommended option is to use Freeze trial. +## v1.1 +* IDM update 6.42b3 has started showing fake serial popups with IAS activation, due to this we have removed the activation option and replaced it with the Freeze trial option to lock the 30-day trial period for the lifetime. +* Now the script will disable quick-edit in CMD windows using Powershell instead of editing the registry, thanks to @abbodi1406 for the code and @awuctl for the idea. +* Code to relaunch script with conhost.exe to avoid terminal app is now merged in quick-edit disable code, thanks to @abbodi1406. +Updated full code from [WindowsAddict ](https://massgrave.dev/idm-activation-script) +## v1.0 +* Added the code to relaunch the script with conhost.exe if the script is running from the terminal app. +* Fixed an issue in getting the current user account SID. +## v0.9 +* Fixed an issue where the script can not activate and reset IDM in non-admin user accounts. +* Fixed an issue where the script incorrectly shows that IDM is activated. +* Fixed an issue where a fake serial pop-up may appear. The script will also show the info to run the activation option again without using the reset option. +* IDM registry scanning and locking code is now written in Powershell. +* The script update checker code is added to the script. +* The script will now disable quick edit mode temporarily because users often click inside the script window and it pauses the script. +* The script will back up the CLSISD registry keys before performing operations on them. +* Many error checks are added to better identify the issues. +## v0.8 +* Move the project to [Github](https://github.com/lstprjct/IDM-Activation-Script) +* Minor bug fixes +* Add info to inform users that empty registry keys are being deleted when the script deletes a lot of them + +# Screenshots +![IAS](https://github.com/lstprjct/IDM-Activation-Script/assets/88411318/fafdb481-c497-464f-b1e6-9a4254eaf880) + +![IAS_Freeze_Trial](https://github.com/lstprjct/IDM-Activation-Script/assets/88411318/76b36582-8cf4-4d1e-870f-6e8e57c80a87) + +# Credits + +| | | +|-------------------|-----------------------------------------------------| +| Dukun Cabul | Original researcher of this IDM trial reset and activation logic, made an Autoit tool for these methods, [IDM-AIO_2020_Final](https://nsaneforums.com/topic/371047-discussion-internet-download-manager-fixes/page/8/#comment-1632062) | +| AveYo aka BAU | [reg_own lean and mean snippet](https://pastebin.com/XTPt0JSC) | +| [abbodi1406](https://github.com/abbodi1406) | Help in coding | +| WindowsAddict | IAS Author | + +And thanks to the IAS users for their interest, feedback, and assistance. + +------------------------------------------------------------------------ + +Made with Love ❤️ From 50dac4ce0d65177daf69f166d6e66f0886e5ac99 Mon Sep 17 00:00:00 2001 From: sirpeealot <111123454+sirpeealot@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:55:36 +0530 Subject: [PATCH 4/7] Add link to main authors Github repo --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8ec50f1..e8fe8af 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An open-source tool to activate and reset the trial of [Internet Download Manager](https://www.internetdownloadmanager.com/) # Disclaimer -I want to clarify that I am not the original author of this script. When I initially published this script on GitHub, the primary author had not yet created an official GitHub repository. As a result, the only available option for users was to visit the [official forum](https://www.nsaneforums.com/topic/371047--/?do=findComment%5E&comment=1578647) to download and utilize the script. My main aim in creating this repository was to streamline the process for users. Furthermore, I ensured to credit the original creators of the script as a sign of respect for their work. +I want to clarify that I am not the original author of this script. When I initially published this script on GitHub, the primary author had not yet created an official GitHub repository. As a result, the only available option for users was to visit the [official forum](https://www.nsaneforums.com/topic/371047--/?do=findComment%5E&comment=1578647) to download and utilize the script, later they created the Github repo https://github.com/WindowsAddict/IDM-Activation-Script. My main aim in creating this repository was to streamline the process for users. Furthermore, I ensured to credit the original creators of the script as a sign of respect for their work. # Features * IDM freeze trial and activation with registry key lock method @@ -111,7 +111,7 @@ Updated full code from [WindowsAddict ](https://massgrave.dev/idm-activation-scr | Dukun Cabul | Original researcher of this IDM trial reset and activation logic, made an Autoit tool for these methods, [IDM-AIO_2020_Final](https://nsaneforums.com/topic/371047-discussion-internet-download-manager-fixes/page/8/#comment-1632062) | | AveYo aka BAU | [reg_own lean and mean snippet](https://pastebin.com/XTPt0JSC) | | [abbodi1406](https://github.com/abbodi1406) | Help in coding | -| WindowsAddict | IAS Author | +| WindowsAddict | Original [IAS Author](https://github.com/WindowsAddict/IDM-Activation-Script) | And thanks to the IAS users for their interest, feedback, and assistance. From 39b578124e0e520548885ee299b1bf3434fb139e Mon Sep 17 00:00:00 2001 From: lstprjct <88411318+lstprjct@users.noreply.github.com> Date: Tue, 20 Feb 2024 21:29:13 +0600 Subject: [PATCH 5/7] 1.2 Credited the original author. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e8fe8af..6d831d0 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An open-source tool to activate and reset the trial of [Internet Download Manager](https://www.internetdownloadmanager.com/) # Disclaimer -I want to clarify that I am not the original author of this script. When I initially published this script on GitHub, the primary author had not yet created an official GitHub repository. As a result, the only available option for users was to visit the [official forum](https://www.nsaneforums.com/topic/371047--/?do=findComment%5E&comment=1578647) to download and utilize the script, later they created the Github repo https://github.com/WindowsAddict/IDM-Activation-Script. My main aim in creating this repository was to streamline the process for users. Furthermore, I ensured to credit the original creators of the script as a sign of respect for their work. +I want to clarify that I am not the original author of this script. When I initially published this script on GitHub, the primary author had not yet created an official GitHub repository. As a result, the only available option for users was to visit the [official forum](https://www.nsaneforums.com/topic/371047--/?do=findComment%5E&comment=1578647) to download and utilize the script, later they created the [Github](https://github.com/WindowsAddict/IDM-Activation-Script) repository. My main aim in creating this repository was to streamline the process for users. Furthermore, I ensured to credit the original creators of the script as a sign of respect for their work. # Features * IDM freeze trial and activation with registry key lock method @@ -111,7 +111,7 @@ Updated full code from [WindowsAddict ](https://massgrave.dev/idm-activation-scr | Dukun Cabul | Original researcher of this IDM trial reset and activation logic, made an Autoit tool for these methods, [IDM-AIO_2020_Final](https://nsaneforums.com/topic/371047-discussion-internet-download-manager-fixes/page/8/#comment-1632062) | | AveYo aka BAU | [reg_own lean and mean snippet](https://pastebin.com/XTPt0JSC) | | [abbodi1406](https://github.com/abbodi1406) | Help in coding | -| WindowsAddict | Original [IAS Author](https://github.com/WindowsAddict/IDM-Activation-Script) | +| WindowsAddict | Original [IAS](https://github.com/WindowsAddict/IDM-Activation-Script) Author | And thanks to the IAS users for their interest, feedback, and assistance. From c17e5e14b88e255909a01ee88b52612b256d2240 Mon Sep 17 00:00:00 2001 From: lstprjct <88411318+lstprjct@users.noreply.github.com> Date: Mon, 17 Feb 2025 19:38:05 +0600 Subject: [PATCH 6/7] Create loc.txt --- loc.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 loc.txt diff --git a/loc.txt b/loc.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/loc.txt @@ -0,0 +1 @@ + From ae3e5f61f102771a010840e0bef30e5c3a61799d Mon Sep 17 00:00:00 2001 From: lstprjct <88411318+lstprjct@users.noreply.github.com> Date: Mon, 17 Feb 2025 19:38:30 +0600 Subject: [PATCH 7/7] Delete file --- loc.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 loc.txt diff --git a/loc.txt b/loc.txt deleted file mode 100644 index 8b13789..0000000 --- a/loc.txt +++ /dev/null @@ -1 +0,0 @@ -