https://github.com/noraj/vbsmin
VBScript minifier
https://github.com/noraj/vbsmin
hacktoberfest minifier minify offensive-security vbs vbscript vbscript-minifier
Last synced: 10 months ago
JSON representation
VBScript minifier
- Host: GitHub
- URL: https://github.com/noraj/vbsmin
- Owner: noraj
- License: mit
- Created: 2020-06-06T11:10:47.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-26T19:21:33.000Z (about 1 year ago)
- Last Synced: 2025-04-15T06:47:16.808Z (11 months ago)
- Topics: hacktoberfest, minifier, minify, offensive-security, vbs, vbscript, vbscript-minifier
- Language: Ruby
- Homepage: https://noraj.github.io/vbsmin/
- Size: 234 KB
- Stars: 24
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# VBSmin
[](https://badge.fury.io/rb/vbsmin)

[](https://github.com/noraj/vbsmin/network)
[](https://github.com/noraj/vbsmin/stargazers)
[](https://github.com/noraj/vbsmin/blob/master/LICENSE)
[](https://inventory.raw.pm/tools.html#VBSmin)
[](https://repology.org/project/vbsmin/versions)

> VBScript minifier
## Features
- ⬜️ Remove extra whitespace
- Trailing whitespace
- Leading whitespace
- Blank lines
- Inline extra spaces
- 💬 Remove comments
- Single quote (start of the line)
- Single quote (inline)
- REM
- 1️⃣ One-line
- Line splitting (underscore)
- Colon
## Quick start
**Quick install**
```
$ gem install vbsmin
```
See more [install](https://noraj.github.io/vbsmin/#/pages/install) options.
**Default usage: CLI**
```
$ vbsmin samples/features.vbs
Original file size: 344 bytes
Minified file size: 244 bytes
Size saved: 100 bytes
Original file path: samples/features.vbs
Minified file path: samples/features.min.vbs
```
**Default usage: library**
```ruby
require 'vbsmin'
vm = VBSMin.new
vm.minify('samples/features.vbs')
```
## Example of output
So this chunk of script...
```vb
' Get WMI Object.
On Error Resume Next
Set objWbemLocator = CreateObject _
("WbemScripting.SWbemLocator")
if Err.Number Then
REM Display error
WScript.Echo vbCrLf & "Error # " & _
" " & Err.Description
End If
On Error GoTo 0
```
... should be minified to:
```vb
On Error Resume Next:Set objWbemLocator = CreateObject ("WbemScripting.SWbemLocator"):if Err.Number Then:WScript.Echo vbCrLf & "Error # " & " " & Err.Description:End If:On Error GoTo 0
```
## References
Homepage / Documentation: https://noraj.github.io/vbsmin/
See [why](https://noraj.github.io/vbsmin/#/why) this CLI / tool was required.
## Use cases
- SQLi: when having a SQLi with write permission, you can write some files on
the system, but some DBMS like PostgreSQL doesn't support newlines in an
insert statement so you have to be able to write a one-line payload
- File size:
- in XSS or Word macro to get the more short and stealthy payload or even
to bypass security mechanism based on length or size.
- for performance or file upload limit
## Author
Made by Alexandre ZANNI ([@noraj](https://pwn.by/noraj/))