{"id":18688781,"url":"https://github.com/noraj/vbsmin","last_synced_at":"2025-05-08T21:46:15.659Z","repository":{"id":37847848,"uuid":"269956301","full_name":"noraj/vbsmin","owner":"noraj","description":"VBScript minifier","archived":false,"fork":false,"pushed_at":"2025-01-26T19:21:33.000Z","size":240,"stargazers_count":24,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-15T06:47:16.808Z","etag":null,"topics":["hacktoberfest","minifier","minify","offensive-security","vbs","vbscript","vbscript-minifier"],"latest_commit_sha":null,"homepage":"https://noraj.github.io/vbsmin/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/noraj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"noraj","issuehunt":"noraj","ko_fi":"noraj","liberapay":"noraj"}},"created_at":"2020-06-06T11:10:47.000Z","updated_at":"2025-02-23T13:39:41.000Z","dependencies_parsed_at":"2023-10-14T22:36:45.611Z","dependency_job_id":"358fdcd6-de9b-4e89-8f5d-cae0ab673460","html_url":"https://github.com/noraj/vbsmin","commit_stats":{"total_commits":122,"total_committers":3,"mean_commits":"40.666666666666664","dds":"0.23770491803278693","last_synced_commit":"2aa5c92b2b0d9520b46964e1401f6927646354e4"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noraj%2Fvbsmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noraj%2Fvbsmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noraj%2Fvbsmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noraj%2Fvbsmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noraj","download_url":"https://codeload.github.com/noraj/vbsmin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253154567,"owners_count":21862548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","minifier","minify","offensive-security","vbs","vbscript","vbscript-minifier"],"created_at":"2024-11-07T10:38:21.841Z","updated_at":"2025-05-08T21:46:15.624Z","avatar_url":"https://github.com/noraj.png","language":"Ruby","readme":"# VBSmin\n\n[![Gem Version](https://badge.fury.io/rb/vbsmin.svg)](https://badge.fury.io/rb/vbsmin)\n![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/noraj/vbsmin)\n[![GitHub forks](https://img.shields.io/github/forks/noraj/vbsmin)](https://github.com/noraj/vbsmin/network)\n[![GitHub stars](https://img.shields.io/github/stars/noraj/vbsmin)](https://github.com/noraj/vbsmin/stargazers)\n[![GitHub license](https://img.shields.io/github/license/noraj/vbsmin)](https://github.com/noraj/vbsmin/blob/master/LICENSE)\n[![Rawsec's CyberSecurity Inventory](https://inventory.raw.pm/img/badges/Rawsec-inventoried-FF5050_flat.svg)](https://inventory.raw.pm/tools.html#VBSmin)\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/vbsmin.svg)](https://repology.org/project/vbsmin/versions)\n\n![](docs/_media/vbsmin_300x300.png)\n\n\u003e VBScript minifier\n\n## Features\n\n- ⬜️ Remove extra whitespace\n  - Trailing whitespace\n  - Leading whitespace\n  - Blank lines\n  - Inline extra spaces\n- 💬 Remove comments\n  - Single quote (start of the line)\n  - Single quote (inline)\n  - REM\n- 1️⃣ One-line\n  - Line splitting (underscore)\n  - Colon\n\n## Quick start\n\n**Quick install**\n\n```\n$ gem install vbsmin\n```\n\nSee more [install](https://noraj.github.io/vbsmin/#/pages/install) options.\n\n**Default usage: CLI**\n\n```\n$ vbsmin samples/features.vbs\nOriginal file size: 344 bytes\nMinified file size: 244 bytes\nSize saved: 100 bytes\n\nOriginal file path: samples/features.vbs\nMinified file path: samples/features.min.vbs\n```\n\n**Default usage: library**\n\n```ruby\nrequire 'vbsmin'\n\nvm = VBSMin.new\nvm.minify('samples/features.vbs')\n```\n\n## Example of output\n\nSo this chunk of script...\n\n```vb\n' Get WMI Object.\nOn Error Resume Next\nSet objWbemLocator = CreateObject _\n  (\"WbemScripting.SWbemLocator\")\n\nif Err.Number Then\n  REM Display error\n  WScript.Echo vbCrLf \u0026 \"Error # \" \u0026 _\n               \" \" \u0026 Err.Description\nEnd If\nOn Error GoTo 0\t\n```\n\n... should be minified to:\n\n```vb\nOn Error Resume Next:Set objWbemLocator = CreateObject (\"WbemScripting.SWbemLocator\"):if Err.Number Then:WScript.Echo vbCrLf \u0026 \"Error # \" \u0026 \" \" \u0026 Err.Description:End If:On Error GoTo 0\n```\n\n## References\n\nHomepage / Documentation: https://noraj.github.io/vbsmin/\n\nSee [why](https://noraj.github.io/vbsmin/#/why) this CLI / tool was required.\n\n## Use cases\n\n- SQLi: when having a SQLi with write permission, you can write some files on\n  the system, but some DBMS like PostgreSQL doesn't support newlines in an\n  insert statement so you have to be able to write a one-line payload \n- File size:\n  - in XSS or Word macro to get the more short and stealthy payload or even\n    to bypass security mechanism based on length or size.\n  - for performance or file upload limit\n\n## Author\n\nMade by Alexandre ZANNI ([@noraj](https://pwn.by/noraj/))\n","funding_links":["https://github.com/sponsors/noraj","https://issuehunt.io/r/noraj","https://ko-fi.com/noraj","https://liberapay.com/noraj"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoraj%2Fvbsmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoraj%2Fvbsmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoraj%2Fvbsmin/lists"}