βββββββ ββββββ βββββββββ ββββββββββ βββ βββββββ βββ βββ ββββββ βββββββ βββββββ βββββββ βββββββ
ββββββββββββββββββββββββββββββββββββ βββββββββββ βββ ββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββ βββ βββ βββββββββββ βββββββ ββββββββββββββββββββββ ββββββββββββββ βββ
ββββββββββββββββ βββ βββ βββββββββββ ββββββ ββββββββββββββββββββββ ββββββββββ βββ βββ
βββββββββββ βββ βββ βββββββββββ ββββββββββββββββββββββββ ββββββ ββββββββββββββ βββββββββ
βββββββ βββ βββ βββ ββββββββββ βββ βββββββ βββββββ βββ ββββββ ββββββββββ βββ βββββββ
P R O
Professional Batch Script Obfuscation & Security Utility for Windows
Make your
.batscripts invisible to eyes, readable only by machines.
The animated banner above shows the complete app flow in real-time. Here are the individual screens:
BatchGuard Pro is a sleek, dark-themed desktop web app built with React + Vite that lets you obfuscate Windows .bat (batch) scripts with a single drag-and-drop.
It uses a UTF-16 BOM (Byte Order Mark) injection technique β a clever binary trick that:
- π« Makes your script completely unreadable in standard text editors (Notepad, VSCode opening as binary, etc.)
- β
Keeps the script 100% executable by
cmd.exe/ Windows Command Processor - π Optionally scrambles all
SETvariable names so even a hex editor sees gibberish
This is not a generic encoder. BatchGuard Pro injects a precise byte sequence FF FE 26 63 6C 73 0D 0A that exploits how text editors vs. the CMD interpreter handle encoding headers differently.
| Feature | Description | Status |
|---|---|---|
| Header Injection (Stealth Mode) | Prepends UTF-16 BOM bytes to confuse text editors | ALWAYS ON |
| Variable Scrambling | Randomizes all SET varname= identifiers |
Toggleable |
| Drag & Drop Interface | Zero-friction file loading from the Dashboard | β |
| One-Click Download | Download your obfuscated .bat directly |
β |
| Dark Pro UI | Windows-11 inspired Mica-effect dark interface | β |
| No Server Needed | Runs 100% client-side in your browser | β |
Original file bytes: 40 65 63 68 6F ... (@echo ...)
Obfuscated bytes: FF FE 26 63 6C 73 0D 0A 40 65 63 68 6F ...
ββββββββββββββββββββββββ βββββββββββββββ
UTF-16 BOM + cls Your script
What happens:
- A text editor like Notepad reads
FF FEand says "This is a UTF-16 Little-Endian file" β tries to decode all content as UTF-16 β displays garbage / refuses to open - CMD.EXE ignores encoding headers and executes raw bytes β your script runs perfectly
:: Before Scrambling
SET username=admin
SET password=secret123
:: After Scrambling
SET xK3mQ9=admin
SET pR7vN2=secret123Every SET variable name gets replaced with a random alphanumeric identifier. The script still functions identically β the variable references inside the logic are remapped too.
node >= 18.x
npm >= 9.x# Clone the repo
git clone https://github.com/Sunil56224972/batchguard-pro.git
cd batchguard-pro
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser.
npm run build
# Output is in /dist β can be served as a static site or wrapped in Electronbatchguard-pro/
βββ src/
β βββ components/
β β βββ Sidebar.jsx # Navigation sidebar (Dashboard/Settings/Docs)
β β βββ DropZone.jsx # Drag-and-drop file processor + obfuscation logic
β βββ App.jsx # Root layout + tab state management
β βββ main.jsx # React entry point
β βββ index.css # Global styles + CSS variables (dark theme)
βββ index.html # Vite HTML shell
βββ package.json
βββ vite.config.js
The interface is built on a custom CSS variable system inspired by Windows 11 Mica effect:
--bg-color: #0c0d0e /* Deep black background */
--surface-color: #141517 /* Cards and panels */
--primary-color: #0078d4 /* Microsoft blue accent */
--success-color: #10b981 /* Green for confirmations */
--text-secondary: #94a3b8 /* Muted descriptions */- π’ Enterprise batch automation β protect deployment scripts from casual viewing
- π IP protection β ship
.batinstallers without exposing your logic - π§ͺ Security research β understand how encoding attacks affect script interpreters
- π Education β learn about binary file headers and encoding mismatches
Frontend: React 19 + Vite 8
Styling: Pure CSS + CSS Variables (no Tailwind, no UI lib)
Obfuscation: Vanilla JS (FileReader API + ArrayBuffer manipulation)
Build: Vite (ESM)
Fonts: Inter (Google Fonts)
PRs are welcome. For major changes, open an issue first.
- Fork the repo
- Create your branch (
git checkout -b feature/my-feature) - Commit changes (
git commit -m 'feat: add something cool') - Push and open a Pull Request
Sunil Dev Self-taught developer & cybersecurity enthusiast from Chhattisgarh, India
Part of the rm -rf society org
MIT License β do whatever you want, just don't remove the credits.
BatchGuard Pro β Because your scripts deserve better than plaintext.
rm -rf plaintext


