vesktop-brand
v1.1.12
Published
Rebrand Vesktop with custom name and icon. Auto-reapplies after every update.
Maintainers
Readme
Vesktop Brand 🎨
A bulletproof, zero-admin command-line tool to permanently rebrand Vesktop (a custom Discord client) into a custom application (default: "Chat").
Unlike simple shortcut renaming, this tool fundamentally alters the application's binary DNA, internal Electron scripts, and Windows system-level caches to guarantee the illusion never breaks—even after automatic updates!
🚀 Installation & Usage
Install the package globally via NPM:
npm install -g vesktop-brandCommands
- Install/Apply Branding:
vesktop-brand install - Check Status:
vesktop-brand status - Re-apply Branding (Manual):
vesktop-brand reinstall - Completely Uninstall & Restore:
vesktop-brand uninstall
📖 How it Works (The Simple Explanation)
If you simply right-click a desktop shortcut and change its icon and name, the illusion breaks the moment you open the app. Windows will group it back under the old name, the system tray icon will revert, and Discord's internal menus will still say "Vesktop".
This tool fixes all of that by performing a "deep surgery" on the app:
- It rewrites the code: It unpacks the app's internal brain (
app.asar) and safely replaces every visible mention of "Vesktop" with "Chat". - It replaces the images: It swaps out the taskbar icons, the tiny system tray icons, and the splash screen.
- It tricks Windows: Windows aggressively remembers old app names. This tool hacks the hidden Windows memory cache to force it to forget "Vesktop" and permanently recognize "Chat".
- It survives updates: Vesktop updates itself frequently, which normally deletes custom mods. This tool creates an invisible startup script that silently re-applies your custom branding every time you turn on your PC, before you even open the app.
⚙️ Features (The Technical Explanation)
1. Zero-Admin Auto-Updater Defense (VBScript Startup)
Instead of relying on Windows Task Scheduler (which requires Administrator privileges and fails silently for standard users), the tool generates a headless .vbs (VBScript) payload and injects it into the user's Start Menu\Programs\Startup directory.
- Why? Vesktop's built-in updater frequently downloads fresh, unpatched binaries. The VBScript acts as a daemon, executing the
repatch.jssequence invisibly (WScript.Shell.Run 0) on every user logon to ensure the ASAR and cache are always patched before the user launches the application.
2. Aggressive Windows MuiCache Override
Windows Explorer aggressively caches an executable's FriendlyAppName in the Multilingual User Interface Cache (MuiCache). Once Vesktop.exe is run for the first time, Windows permanently locks the taskbar hover tooltip to "Vesktop", regardless of shortcut names.
- The Fix: The tool bypasses the locked
.exeby interfacing directly with the Windows Registry (HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache). It forcefully overwrites theFriendlyAppNameandApplicationCompanystring values to the custom app name, instantly forcing Explorer to respect the new brand identity.
3. Deep ASAR Eradication & Electron Patching
Vesktop relies on hardcoded strings in its React/Electron frontend to set window titles and tooltips.
- The tool extracts the
app.asarpackage using@electron/asar. - It performs laser-targeted Regex mutations across the core renderer and main process scripts (
main.js,renderer.js). - AppUserModelId: It forcefully intercepts Electron's
app.setAppUserModelId()call, mutatingdev.vencord.vesktoptodev.vencord.chat. This forces Windows to create a brand new taskbar grouping, severing all ties to the original Vesktop registry footprint. - Window APIs: Safely intercepts and overrides
.setTitle()and.setToolTip()calls without breaking Discord's internal IPC routing or causing React crashes.
4. Binary Metadata Injection (rcedit)
Uses rcedit to directly modify the physical binary metadata (Version Information) of the Vesktop.exe file on disk. It updates the ProductName, InternalName, and FileDescription, while also injecting a multi-resolution .ico file generated on-the-fly from a transparent .png. (Note: This step gracefully fails if the .exe is locked, falling back perfectly on the MuiCache override).
5. Secure Authentication
To prevent unauthorized CLI execution, the tool features a built-in cryptographic lock using bcryptjs. On first install, the user establishes a password. All subsequent repatches, uninstalls, and status queries require this password, preventing accidental or malicious uninstalls.
