https://github.com/5noxi/b64reversed-character-obfuscation
Encodes with B64, reverts them & builds the decoding part.
https://github.com/5noxi/b64reversed-character-obfuscation
base64 encrypt encryption mathematics mixed-boolean-arithmetic obfuscation obfuscator powershell reverse-engineering reversed
Last synced: 11 months ago
JSON representation
Encodes with B64, reverts them & builds the decoding part.
- Host: GitHub
- URL: https://github.com/5noxi/b64reversed-character-obfuscation
- Owner: 5Noxi
- License: gpl-3.0
- Created: 2024-12-31T14:10:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-13T14:54:38.000Z (11 months ago)
- Last Synced: 2025-07-13T16:29:28.555Z (11 months ago)
- Topics: base64, encrypt, encryption, mathematics, mixed-boolean-arithmetic, obfuscation, obfuscator, powershell, reverse-engineering, reversed
- Language: PowerShell
- Homepage: https://discord.gg/E2ybG4j9jU
- Size: 2.87 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Base64 Reversal & Character Obfuscation
Encodes with B64, reverts them & builds the decoding part. Afterwards obfuscates all reverted B64 commands with character obfuscation. It detects the correct line amount per encoding string automatically. Variable names and everything else has either a obfuscated preset or gets created with random caps. `Input File` is mandatory, if the `Output File` path isn't set, it'll use the current file name and adds `NV-`.
Preview:
https://github.com/user-attachments/assets/2b876ac2-29f6-4321-a372-91f595ae02ae
1. Encodes the string to B64, e.g. `Tm92ZXJzZQ==`
2. Reverts it to `==QZzJXZ29mT`
3. Builds decoding command for it (including reverse part):
```ps
[system.text.encoding]::utf8.getstring([system.convert]::frombase64string(-join(...)
```
4. Character obfuscation of all lines, which include the encoded string
The string depends on if the line starts a code block or not:
```ps
$bracket = if ($line -match '\{') { '{' } else { '(' }
$closing = if ($bracket -eq '{') { '}' } else { ')' }
```
It tracks nested brackets and uses the whole block as string, otherwise each line get's encoded on it's own.
`Detailed Logging` - Displays the block start/end or line
`Add Dead Branches` - Adds dead `if` blocks, each `FromBase64String` method gets it's own
`One Invoke` - Fastest start, lowest security (decoded all at once, one `ToBase64String`)
## Discord Server
- https://discord.gg/E2ybG4j9jU