Skip to content

Instantly share code, notes, and snippets.

@geektheripper
Created June 4, 2020 19:00
Show Gist options
  • Save geektheripper/424a01cb408b162fe11ccf83d98eaf55 to your computer and use it in GitHub Desktop.
Save geektheripper/424a01cb408b162fe11ccf83d98eaf55 to your computer and use it in GitHub Desktop.
# Wrap regsvr32
Function Register-Dll ([string[]]$Files) {
if([System.Environment]::Is64BitOperatingSystem) {
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\SysWOW64\regsvr32.exe')
} else {
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\System32\regsvr32.exe')
}
foreach($File in $Files) {
if (Test-Path $File -PathType Leaf) {
Start-Process $regsvr -ArgumentList '/s', """$File""" -Wait
}
}
}
# Wrap Start-Process
Function Run-If-Exist ($File, [string]$ArgumentList) {
if (Test-Path $File -PathType Leaf) {
Start-Process $File -ArgumentList $ArgumentList
}
}
# 安装前结束相关进程
Stop-Process -Force -ErrorAction Ignore -Name TXP*, tad*, QQP*, QQC*, QQ
# 清理后台相关文件及注册残留
Remove-Item -Force -ErrorAction Ignore -Recurse -Path @(
"${env:TMP}\*.tvl",
"${env:TMP}\*.tsd",
"${env:TMP}\ts*.dat",
"${env:TMP}\QQSa*.exe",
"${env:AppData}\Tencent\QQ",
"${env:AppData}\Tencent\Logs",
"${env:AppData}\Tencent\Users",
"${env:AppData}\Tencent\QTalk",
"${env:AppData}\Tencent\QQLite",
"${env:AppData}\Tencent\QQDoctor",
"${env:AppData}\Tencent\DeskUpdate",
"${env:AppData}\Tencent\QQMiniDL",
"${env:AppData}\Tencent\Tencentdl",
"${env:AppData}\Tencent\TenioDL",
"${env:AppData}\Tencent\WebGamePlugin",
"${env:AppData}\Tencent\File",
"${env:AppData}\Tencent\Security001",
"${env:AppData}\Tencent\AndroidAssist",
"${env:AppData}\Tencent\AndroidServer",
"${env:AppData}\Tencent\QQPhoneManager",
"${env:AppData}\Tencent\QQPhoneAssistant",
"${env:ProgramData}\Tencent\QQProtect",
"${env:UserProfile}\Documents\Tencent",
"${env:UserProfile}\My Documents\Tencent",
"${env:UserProFile}\AppData\LocalLow\QQMiniDL",
"${env:UserProfile}\AppData\Local\Tencent\QQPet",
"${env:UserProfile}\AppData\Local\Tencent\MiniBrowser",
"${env:UserProfile}\Local Settings\Tencent\QQPet",
"${env:UserProfile}\Local Settings\QQKartLiveUpdate",
"${env:UserProfile}\Documents\Tencent Files\QPlus",
"${env:UserProfile}\My Documents\Tencent Files\QPlus",
"${env:AllUsersProfile}\Application Data\QQPet",
"${env:AllUsersProfile}\Application Data\Tencent\QQProtect",
"${env:CommonProgramFiles}\Tencent\QQProtect",
"${env:CommonProgramFiles(x86)}\Tencent\QQProtect"
)
# Clear QQFuck
Remove-Item -Force -ErrorAction Ignore -Path "HKLM:\SYSTEM\CurrentControlSet\services\QQProtect" -Recurse
# SSO核心库
Register-Dll -Files "Bin\TXSSO\Bin\SSOCommon.dll"
# NPAPI 快速登陆
Register-Dll -Files "Bin\TXSSO\Bin\npSSOAxCtrlForPTLogin.dll"
# 中转站上传,群共享、微云上传控件
Register-Dll -Files @(
"Bin\TXSSO\TXFTN\TXFTNActiveX1.17.dll",
"Plugin\Com.Tencent.NetDisk\Bin\QQDisk\Bin\TXFTNActiveX.dll"
)
# 关联网页会话、表情包关联等
Register-Dll -Files @(
"Bin\Timwp.dll",
"Bin\AppCom.dll",
"Bin\CPHelper.dll",
"Bin\TXPFProxy.dll",
"Bin\KernelUtil.dll"
)
Run-If-Exist Bin\TXPlatform.exe -ArgumentList "/RegServer"
Run-If-Exist Bin\QQExternal.exe -ArgumentList "/SetupRegister"
# 注册点播控件
# Register-Dll -Files "Bin\TXSSO\QzoneMusic\QzoneMusic.dll"
# Run-If-Exist Bin\TXSSO\QzoneMusic\QzoneMusic.exe -ArgumentList "/RegServer"
# 传送QQ便签引导,不传送到后台位置则面板图标无法启动
Copy-Item -Path Bin\TXSSO\QQApp -Recurse -Destination "$env:AppData\Tencent\QQ\QQApp"
# 生成个人文件夹保存位置配置文件,让 Win7、Win8 或更高版的系统能正常保存自定义路径
New-Item "$env:Public\Documents\Tencent\QQ" -ItemType directory -Force
New-Item "$env:Public\Documents\Tencent\QQ\UserDataInfo.ini" -ItemType file -Force
# 设置安装路径,安装视频留言和影音播放等组件下载需要
if([System.Environment]::Is64BitOperatingSystem) {
New-Item -Force -Path "HKLM:\Software\Wow6432Node\Tencent\QQ2009"
Set-Itemproperty -Force -Path "HKLM:\Software\Wow6432Node\Tencent\QQ2009" -Name "Install" -Value "$PWD"
Set-Itemproperty -Force -Path "HKLM:\Software\Wow6432Node\Tencent\QQ2009" -Name "version" -Value "56.41.0.25530.0"
} else {
New-Item -Force -Path "HKLM:\Software\Tencent\QQ2009"
Set-Itemproperty -Force -Path "HKLM:\Software\Tencent\QQ2009" -Name "Install" -Value "$PWD"
Set-Itemproperty -Force -Path "HKLM:\Software\Tencent\QQ2009" -Name "version" -Value "56.41.0.25530.0"
}
# Wrap regsvr32
Function UnRegister-Dll ([string[]]$Files) {
if([System.Environment]::Is64BitOperatingSystem) {
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\SysWOW64\regsvr32.exe')
} else {
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\System32\regsvr32.exe')
}
foreach($File in $Files) {
if (Test-Path $File -PathType Leaf) {
Start-Process $regsvr -ArgumentList "/s", "/u", """$File""" -Wait
}
}
}
# Wrap Start-Process
Function Run-If-Exist ($File, [string]$ArgumentList) {
if (Test-Path $File -PathType Leaf) {
Start-Process $File -ArgumentList $ArgumentList
}
}
# 安装前结束相关进程
Stop-Process -Force -ErrorAction Ignore -Name TXP*, tad*, QQP*, QQC*, QQ
# 清理后台相关文件及注册残留
Remove-Item -Force -ErrorAction Ignore -Recurse -Path @(
"${env:ProgramData}\QQPet",
"${env:AppData}\Tencent\QQ",
"${env:AppData}\QXiu Files",
"${env:AppData}\Tencent\TXSSO",
"${env:AppData}\Tencent\STemp",
"${env:AppData}\Tencent\Users",
"${env:AppData}\Tencent\QTalk",
"${env:AppData}\QQAppAssistant",
"${env:AppData}\Tencent\QQMiniDL",
"${env:AppData}\Tencent\DeskUpdate",
"${env:AppData}\Tencent\QzoneMusic",
"${env:AppData}\Tencent\AndroidAssist",
"${env:AppData}\Tencent\QQPhoneManager",
"${env:AppData}\Tencent\QQMiniDL",
"${env:AppData}\Tencent\Tencentdl",
"${env:AppData}\Tencent\TenioDL",
"${env:AppData}\Tencent\WebGamePlugin",
"${env:AppData}\Tencent\File",
"${env:AppData}\Tencent\Security001",
"${env:ProgramData}\Tencent\QQProtect",
"${env:UserProFile}\AppData\LocalLow\QQMiniDL",
"${env:UserProfile}\AppData\Local\Tencent\Misc",
"${env:AllUsersProfile}\Application Data\QQPet",
"${env:UserProfile}\AppData\Local\Tencent\MiniBrowser",
"${env:UserProfile}\AppData\Local\Tencent\QQPet",
"${env:UserProfile}\Local Settings\Tencent\QQPet",
"${env:UserProfile}\Local Settings\QQKartLiveUpdate",
"${env:AllUsersProfile}\Application Data\Tencent\QQProtect",
"${env:CommonProgramFiles}\Tencent\QQProtect",
"${env:CommonProgramFiles(x86)}\Tencent\QQProtect"
)
# Clear QQFuck
Remove-Item -Force -ErrorAction Ignore -Path "HKLM:\SYSTEM\CurrentControlSet\services\QQProtect" -Recurse
# SSO核心库
UnRegister-Dll -Files "Bin\TXSSO\Bin\SSOCommon.dll"
# NPAPI 快速登陆
UnRegister-Dll -Files "Bin\TXSSO\Bin\npSSOAxCtrlForPTLogin.dll"
# 中转站上传,群共享、微云上传控件
UnRegister-Dll -Files @(
"Bin\TXSSO\TXFTN\TXFTNActiveX1.17.dll",
"Plugin\Com.Tencent.NetDisk\Bin\QQDisk\Bin\TXFTNActiveX.dll"
)
# 关联网页会话、表情包关联等
UnRegister-Dll -Files @(
"Bin\Timwp.dll",
"Bin\AppCom.dll",
"Bin\CPHelper.dll",
"Bin\TXPFProxy.dll",
"Bin\KernelUtil.dll"
)
Run-If-Exist Bin\TXPlatform.exe -ArgumentList "/UnregServer"
Remove-Item -Force -ErrorAction Ignore -Recurse -Path @(
"HKCU:\Tencent",
"HKLM:\Software\Classes\QQPet",
"HKCU:\Software\Tencent\Plugin",
"HKCU:\Software\Tencent\QQ2009",
"HKLM:\Software\Tencent\QQ2009",
"HKCU:\Software\Classes\Tencent",
"HKLM:\Software\Classes\Tencent",
"HKCU:\Software\Tencent\QQProtect",
"HKCU:\Software\Classes\EMOTION.File",
"HKCU:\Software\Classes\EMOTION.Package",
"HKCU:\Software\Tencent\AndroidAssistant",
"HKCU:\Software\Tencent\AndroidServer",
"HKCU:\Software\Tencent\bugReport",
"HKCU:\Software\Tencent\HealthAssistor",
"HKCU:\Software\Tencent\PLATFORM_CLSID_LIST",
"HKCU:\Software\Tencent\PlatForm_Type_List",
"HKCU:\Software\Tencent\QABS99",
"HKCU:\Software\Tencent\QQ",
"HKCU:\Software\Tencent\QQMiniDL",
"HKCU:\Software\Tencent\TodayDo",
"HKCU:\Software\Tencent\WebGamePlugin",
"HKLM:\Software\Tencent\BackupDownloader",
"HKLM:\Software\Tencent\DeskUpdate",
"HKLM:\Software\Tencent\MyCubeLogger",
"HKLM:\Software\Tencent\PcMgrBrowserHp",
"HKLM:\Software\Tencent\QMAndroidServer",
"HKLM:\Software\Tencent\QQGame",
"HKLM:\Software\Tencent\QQPhotoDrawEx",
"HKLM:\Software\Tencent\Report",
"HKLM:\Software\Wow6432Node\Classes\QQPet",
"HKLM:\Software\Wow6432Node\Tencent\QQ2009",
"HKLM:\Software\Wow6432Node\Tencent\BackupDownloader",
"HKLM:\Software\Wow6432Node\Tencent\DeskUpdate",
"HKLM:\Software\Wow6432Node\Tencent\MyCubeLogger",
"HKLM:\Software\Wow6432Node\Tencent\PcMgrBrowserHp",
"HKLM:\Software\Wow6432Node\Tencent\QMAndroidServer",
"HKLM:\Software\Wow6432Node\Tencent\QQGame",
"HKLM:\Software\Wow6432Node\Tencent\QQPhotoDrawEx",
"HKLM:\Software\Wow6432Node\Tencent\Report",
"HKLM:\Software\Wow6432Node\Classes\Tencent",
"HKLM:\SYSTEM\CurrentControlSet\services\QQProtect"
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment