Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/taurusomar/psobf
पेलोड जनरेशनआईडीएस/आईपीएस से बचनास्क्रिप्टिंग और स्वचालनपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubtaurusomar/psobf

psobf

पावरशेल ऑबफ़स्केटर

रिपॉजिटरी देखें
252355 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

PowerShell Obfuscator

इसका लक्ष्य कोड को बदलना है ताकि विश्लेषण और स्थिर हस्ताक्षरों में बाधा उत्पन्न हो, प्रयोगशालाओं और अधिकृत Red Team/Pentesting अभियानों में उपयोगी।

6 स्तरों के अस्पष्टीकरण के साथ-साथ एक transforms/pipeline आर्किटेक्चर का समर्थन करता है जो string tokenization, light literal encryption, number masking, identifier morphing, format "jitter," control-flow cosmetics, dead code injection, fragmentation profiles, और deterministic profiles जैसी तकनीकों को स्टैक करने की अनुमति देता है।

⚠️ जिम्मेदार उपयोग: यह उपकरण केवल अनुसंधान और अधिकृत परीक्षण के लिए है। न करें दुर्भावनापूर्ण उद्देश्यों के लिए उपयोग।```powershell

./psobf -h

root@kitploit:~
██████╗ ███████╗ ██████╗ ██████╗ ███████╗
██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝
██████╔╝███████╗██║   ██║██████╔╝█████╗
██╔═══╝ ╚════██║██║   ██║██╔══██╗██╔══╝
██║     ███████║╚██████╔╝██████╔╝██║
╚═╝     ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝
Omar Salazar
v.2.0.0										 

Usage: psobf -i -o -level <1|2|3|4|5|6> [options]

Obfuscation Levels: 1 - Char join encoding 2 - Base64 encoding 3 - Base64 encoding (alternate) 4 - GZip + Base64 compression 5 - Script fragmentation 6 - AES-256 CTR encryption (NEW in 2.0.0)

Transform Pipeline Options (use with -pipeline): iden - Identifier morphing (use with -iden obf) strenc - String encryption (use with -strenc xor|rc4) stringdict - String tokenization (use with -stringdict N) numenc - Number encoding fmt - Format jitter (use with -fmt jitter) cf - Control flow obfuscation (use with -cf-opaque, -cf-shuffle) dead - Dead code injection (use with -deadcode N) hexenc - Hex string encoding (NEW) alias - Cmdlet alias substitution (NEW) unicode - Unicode character encoding (NEW) antidebug - Anti-debugging/VM detection (NEW) iexobf - Invoke-Expression obfuscation (NEW)

Examples:

Simple obfuscation

psobf -i script.ps1 -o out.ps1 -level 2

AES encryption with heavy profile

psobf -i script.ps1 -o out.ps1 -level 6 -profile heavy

All new transforms

psobf -i script.ps1 -o out.ps1 -level 4 -pipeline "iden,alias,hexenc,antidebug,iexobf" -iden obf

RC4 string encryption

psobf -i script.ps1 -o out.ps1 -level 4 -pipeline "strenc" -strenc rc4 -strkey 0011223344556677

root@kitploit:~
## विशेषताएँ

<h1 align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/6598/11956ab9f65e8dc1b0460652042c601f70d28bb67e9fd6f0a89813ed5369997f.gif" alt="psobf" width="700px"></a>
  <br>
</h1>

<h1 align="center">
  <img src="https://raw.githubusercontent.com/taurusomar/psobf/HEAD/static/poc2.gif" alt="psobf" width="700px"></a>
  <br>
</h1>

--- 

## स्थापना```bash
go install github.com/TaurusOmar/psobf/v2/cmd/[email protected]

त्वरित आरंभ```bash

psobf -i input.ps1 -o out.ps1 -level 1..6 [options] psobf -h # full help

root@kitploit:~
## विशेषताएँ

<h1 align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/6598/11956ab9f65e8dc1b0460652042c601f70d28bb67e9fd6f0a89813ed5369997f.gif" alt="psobf" width="700px"></a>
  <br>
</h1>

<h1 align="center">
  <img src="https://raw.githubusercontent.com/taurusomar/psobf/HEAD/static/poc2.gif" alt="psobf" width="700px"></a>
  <br>
</h1>

--- 

## स्थापना```bash
go install github.com/TaurusOmar/psobf/cmd/[email protected]

त्वरित आरंभ```bash

psobf -i input.ps1 -o out.ps1 -level 1..6 [options] psobf -h # full help

root@kitploit:~
---

## पूर्ण फ़्लैग संदर्भ

| फ़्लैग          | प्रकार / मान     |          डिफ़ॉल्ट | विवरण                                 | उदाहरण                                                      |                                 |                        |
| ------------- | ----------------- | ---------------: | ------------------------------------------- | ------------------------------------------------------------ | ------------------------------- | ---------------------- |
| `-i`          | string            |                — | इनपुट PS1 (पाइप से पढ़ने के लिए `-stdin` का उपयोग करें)  | `-i script.ps1`                                              |                                 |                        |
| `-o`          | string            | `obfuscated.ps1` | आउटपुट (STDOUT में लिखने के लिए `-stdout` का उपयोग करें)   | `-o out.ps1`                                                 |                                 |                        |
| `-level`      | 1..6              |                1 | अंतिम पैकर (स्तर देखें)                   | `-level 4`                                                   |                                 |                        |
| `-noexec`     | bool              |            false | केवल पेलोड उत्पन्न करें (कोई `Invoke-Expression` नहीं)  | `-noexec`                                                    |                                 |                        |
| `-stdin`      | bool              |            false | STDIN से PS पढ़ें                          | `-stdin`                                                     |                                 |                        |
| `-stdout`     | bool              |            false | परिणाम STDOUT में लिखें                      | `-stdout`                                                    |                                 |                        |
| `-seed`       | int64             |           random | पुनरुत्पादनीय यादृच्छिकता                     | `-seed 42`                                                   |                                 |                        |
| `-q`          | bool              |            false | शांत (कोई बैनर नहीं)                           | `-q`                                                         |                                 |                        |
| `-pipeline`   | csv               |                — | क्रम में लागू करने के लिए रूपांतरण                | `-pipeline "iden,strenc,stringdict,numenc,fmt,cf,dead,frag"` |                                 |                        |
| `-iden`       | `keep`/`obf`      |           `keep` | पहचानकर्ता रूपांतरण (चर और फ़ंक्शन)          | `-iden obf`                                                  |                                 |                        |
| `-strenc`     | `off`/`xor`/`rc4` |            `off` | स्ट्रिंग शाब्दिक एन्क्रिप्शन                   | `-strenc rc4`                                                |                                 |                        |
| `-strkey`     | hex               |                — | `-strenc` के लिए कुंजी                           | `-strkey 0011223344556677`                                   |                                 |                        |
| `-stringdict` | 0..100            |                0 | लंबी स्ट्रिंग्स को टोकनाइज़ करें; प्रति शाब्दिक % संभावना | `-stringdict 40`                                             |                                 |                        |
| `-numenc`     | bool              |            false | संख्या को अंकगणितीय PS अभिव्यक्ति के रूप में एनकोड करें | `-numenc`                                                    |                                 |                        |
| `-fmt`        | `off`/`jitter`    |            `off` | व्हाइटस्पेस/लाइन ब्रेक को यादृच्छिक करें            | `-fmt jitter`                                                |                                 |                        |
| `-cf-opaque`  | bool              |            false | `if(1 -eq 1){...}` में लपेटें                  | `-cf-opaque`                                                 |                                 |                        |
| `-cf-shuffle` | bool              |            false | **फ़ंक्शन ब्लॉक** को पुनर्व्यवस्थित करें                 | `-cf-shuffle`                                                |                                 |                        |
| `-deadcode`   | 0..100            |                0 | डेड कोड इंजेक्ट करने की संभावना             | `-deadcode 20`                                               |                                 |                        |
| `-frag`       | \`profile=tight   |           medium | loose\`                                     | —                                                            | फ्रैग्मेंटेशन प्रोफ़ाइल (स्तर 5) | `-frag profile=medium` |
| `-minfrag`    | int               |               10 | न्यूनतम टुकड़ा आकार (स्तर 5)                 | `-minfrag 8`                                                 |                                 |                        |
| `-maxfrag`    | int               |               20 | अधिकतम टुकड़ा आकार (स्तर 5)                 | `-maxfrag 16`                                                |                                 |                        |
| `-profile`    | \`light           |         balanced | heavy\`                                     | —                                                            | पाइपलाइन/सीड आदि के लिए प्रीसेट  | `-profile heavy`       |
| `-fuzz`       | int               |                0 | N वेरिएंट उत्पन्न करें (विभिन्न सीड)        | `-fuzz 5`                                                    |                                 |                        |
| `-poly`       | int               |                0 | प्रति रूपांतरण बहुरूपी वेरिएंट      | `-poly 3`                                                    |                                 |                        |

> **पाइपलाइन** अंतिम **`-level`** पैकिंग से **पहले** चलती है।

---

## नमूना इनपुट स्क्रिप्ट (सुरक्षित)

उदाहरणों को सुरक्षित रखने के लिए, हम उपयोग करेंगे:```powershell
Write-Host "Hello, World!"
$answer = 42
function Greet($name) { Write-Host ("Hi, " + $name) }
Greet "Ada"

अस्पष्टीकरण स्तर (1–6) + आउटपुट स्निपेट्स

निम्नलिखित आउटपुट्स के आकार (स्निपेट्स) दिखाते हैं। वास्तविक पेलोड भिन्न होंगे।

स्तर 1 — Char join```bash

psobf -i sample.ps1 -o out.ps1 -level 1

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
$obfuscated = $([char[]](87,114,105,116,101,45,72,111,115,116,32,34,72,101,108,108,111,44,32,87,111,114,108,100,33,34,10,36,97,110,115,119,101,114,32,61,32,52,50,10,102,117,110,99,116,105,111,110,32,71,114,101,101,116,40,36,110,97,109,101,41,32,123,32,87,114,105,116,101,45,72,111,115,116,32,40,34,72,105,44,32,34,32,43,32,36,110,97,109,101,41,32,125,10,71,114,101,101,116,32,34,65,100,97,34,10) -join ''); Invoke-Expression $obfuscated

स्तर 2 — Base64```bash

psobf -i sample.ps1 -o out.ps1 -level 2

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
$obfuscated = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('V3JpdGUtSG9zdCAiSGVsbG8sIFdvcmxkISIKJGFuc3dlciA9IDQyCmZ1bmN0aW9uIEdyZWV0KCRuYW1lKSB7IFdyaXRlLUhvc3QgKCJIaSwgIiArICRuYW1lKSB9CkdyZWV0ICJBZGEiCg==')); Invoke-Expression $obfuscated

स्तर 3 — Base64 (alt)```bash

psobf -i sample.ps1 -o out.ps1 -level 3

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
$e = [Convert]::FromBase64String('V3JpdGUtSG9zdCAiSGVsbG8sIFdvcmxkISIKJGFuc3dlciA9IDQyCmZ1bmN0aW9uIEdyZWV0KCRuYW1lKSB7IFdyaXRlLUhvc3QgKCJIaSwgIiArICRuYW1lKSB9CkdyZWV0ICJBZGEiCg=='); $obfuscated = [Text.Encoding]::UTF8.GetString($e); Invoke-Expression $obfuscated

स्तर 4 — GZip + Base64```bash

psobf -i sample.ps1 -o out.ps1 -level 4

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
$compressed = 'H4sIAAAAAAAA/wovyixJ1fXILy5RUPJIzcnJ11EIzy/KSVFU4lJJzCsuTy1SsFUwMeJKK81LLsnMz1NwL0pNLdFQyUvMTdVUqFZA0q+h5JGpo6CkoK0Ala3lAitWUHJMSVTiAgQAAP//m+Ey2GoAAAA='; $bytes = [Convert]::FromBase64String($compressed); $ms = New-Object IO.MemoryStream(,$bytes); $gz = New-Object IO.Compression.GzipStream($ms,[IO.Compression.CompressionMode]::Decompress); $sr = New-Object IO.StreamReader($gz); $obfuscated = $sr.ReadToEnd(); Invoke-Expression $obfuscated

स्तर 5 — विखंडन```bash

psobf -i sample.ps1 -o out.ps1 -level 5

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
$fragments = @('Write-Host "Hello',', World!"
$','answer = 42','
function G','reet($name)',' { Write-Ho','st ("Hi, " ','+ $name) }
','Greet "Ada"','
'); $script = $fragments -join ''; Invoke-Expression $script

स्तर 6 — AES Encryption```bash

psobf -i sample.ps1 -o out.ps1 -level 6

root@kitploit:~
**आउटपुट (अंश):**```powershell
$k=[Convert]::FromBase64String('...base64key...');$iv=[Convert]::FromBase64String('...base64iv...');$e=[Convert]::FromBase64String('...base64ciphertext...');$a=New-Object Security.Cryptography.AesManaged;$a.Key=$k;$a.IV=$iv;$d=$a.CreateDecryptor();$bytes=$d.TransformFinalBlock($e,0,$e.Length);$dec=[Text.Encoding]::UTF8.GetString($bytes);Invoke-Expression $dec

ट्रांसफॉर्म (पाइपलाइन) — विवरण और उदाहरण

पेलोड को निष्पादित किए बिना निरीक्षण करने के लिए -noexec का उपयोग करें।

पहचानकर्ता (-iden)

  • चर और फ़ंक्शन का नाम बदलता है, सिमैंटिक्स को संरक्षित करते हुए।
  • जिन चीज़ों का नाम बदलना नहीं चाहते, उन्हें उपसर्ग __$ से सुरक्षित करें।

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "iden" -iden obf -seed 11

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
$WguE = 42
function QhZy($Chx){ Write-Host ("Hi, " + $Chx) }
QhZy "Ada"

स्ट्रिंग एन्क्रिप्शन (-strenc xor|rc4)

केवल स्ट्रिंग लिटरल्स को एन्क्रिप्ट करता है (कोई API टैम्परिंग नहीं)। रनटाइम पर ठीक समय पर डिक्रिप्ट करता है। फ़्लैग्स: -strenc xor|rc4, -strkey .

XOR

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "strenc" -strenc xor -strkey a1b2c3d4 -seed 42

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
$b=[Convert]::FromBase64String('EwAB...'); for($i=0;$i -lt $b.Length;$i++){$b[$i]=$b[$i] -bxor 0xA1}; [Text.Encoding]::UTF8.GetString($b)

RC4

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "strenc" -strenc rc4 -strkey 0011223344556677 -seed 7

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
function __decGWREVT($k,[byte[]]$d){ $s=0..255; $j=0; for($i=0;$i -lt 256;$i++){ $j=($j+$s[$i]+$k[$i%$k.Length])%256; $t=$s[$i];$s[$i]=$s[$j];$s[$j]=$t } $i=0;$j=0; for($x=0;$x -lt $d.Length;$x++){ $i=($i+1)%256;$j=($j+$s[$i])%256; $t=$s[$i];$s[$i]=$s[$j];$s[$j]=$t; $d[$x]=$d[$x] -bxor $s[($s[$i]+$s[$j])%256] } [Text.Encoding]::UTF8.GetString($d) }
...
( __decGWREVT ([byte[]](0..(8-1)|%{[Convert]::ToByte('0011223344556677'.Substring($_*2,2),16)})) ([Convert]::FromBase64String('m7m7...')) )

स्ट्रिंग शब्दकोश (-stringdict)

लंबे स्ट्रिंग्स को $D एरे में टोकनाइज़ करता है और रनटाइम पर उन्हें पुनर्निर्मित करता है। दोहराए जाने वाले सिग्नेचर को कम करता है। फ़्लैग: -stringdict <0..100>

आदेश```bash psobf -i sample.ps1 -o out.ps1 -level 3 -pipeline "stringdict" -stringdict 40 -seed 1

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
$D=@('Hello',', World','!','Hi, ', 'Ada');
Write-Host ($D[0]+$D[1]+$D[2])
function Greet($name){ Write-Host ($D[3] + $name) }
Greet $D[4]

संख्या एन्कोडिंग (-numenc)

सादे संख्याओं को समतुल्य अंकगणितीय/बिटवाइज़ अभिव्यक्तियों से प्रतिस्थापित करता है (स्ट्रिंग्स के बाहर)।

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "numenc" -numenc -seed 1337

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
$answer = ((0x2A -bxor 0x00)+0)

सावधानी: 2>&1 जैसे रीडायरेक्ट को समान रहना चाहिए। यदि आपके स्रोत में अनकोटेड रीडायरेक्ट हैं और आप समस्याओं का सामना कर रहे हैं, तो -numenc अक्षम करें या उन रीडायरेक्ट को स्रोत में स्ट्रिंग्स में समाहित करें।


फ़ॉर्मेट जिटर (-fmt)

स्पेसिंग और नई पंक्तियों को यादृच्छिक बनाता है।

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "fmt" -fmt jitter -seed 20

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
Write-Host   "Hello, World!"
$answer=42

function Greet($name) {  Write-Host ("Hi, "+$name) }
Greet  "Ada"

नियंत्रण प्रवाह (-cf-opaque, -cf-shuffle)

  • -cf-opaque: पूरे स्क्रिप्ट को कभी-गलत न होने वाली शाखा में लपेटता है।
  • -cf-shuffle: फ़ंक्शन ब्लॉक को पुनर्क्रमित करता है (एकल कथन नहीं)। आप परिवर्तन तभी देखेंगे जब आपकी स्क्रिप्ट फ़ंक्शंस परिभाषित करती है।

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "cf" -cf-opaque -cf-shuffle -seed 77

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
if(1 -eq 1){
  function Greet($name){ Write-Host ("Hi, " + $name) }
  Write-Host "Hello, World!"
  $answer = 42
  Greet "Ada"
}

डेड कोड (-deadcode)

नो-ऑप फंक्शन्स, 0-इटरेशन लूप्स, हानिरहित स्ट्रिंग्स आदि इंजेक्ट करता है। संभावना द्वारा नियंत्रित। फ्लैग: -deadcode <0..100> (स्निपेट इंजेक्शन संभावना)।

कमांड```bash psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "dead" -deadcode 25 -seed 5

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
function __dummyzQJxJk { return }
for($i=0;$i -lt 0;$i++){Start-Sleep -Milliseconds 0}
$x='canary';$y=$x+$x|Out-Null
Write-Host "Hello, World!"
...

विखंडन (-frag, -minfrag, -maxfrag)

केवल स्तर 5 (स्ट्रिंग विखंडन + रनटाइम जॉइन) को प्रभावित करता है।

  • प्रोफाइल:

    • profile=tight → छोटे टुकड़े (≈6–10)
    • profile=medium → मध्यम टुकड़े (≈10–18)
    • profile=loose → बड़े टुकड़े (≈14–28)
  • या -minfrag / -maxfrag के साथ समायोजित करें।

कमांड```bash

Profile based

psobf -i sample.ps1 -o out.ps1 -level 5 -frag profile=loose -seed 9

Fine control

psobf -i sample.ps1 -o out.ps1 -level 5 -minfrag 8 -maxfrag 16 -seed 9

root@kitploit:~
**आउटपुट (स्निपेट)**```powershell
$fragments=@('Write-Host "Hello,',' World!"',"`n", '$answer = 42',"`n",'function Greet($','name){ Write-Host ("Hi, "+$name)}',"`n",'Greet "Ada"');
$script=$fragments -join ''; Invoke-Expression $script

नए ट्रांसफ़ॉर्म (v2.0+)

हेक्स एन्कोडिंग (hexenc)

स्ट्रिंग लिटरल को हेक्साडेसिमल के रूप में एनकोड करता है।```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "hexenc" -seed 42

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
[Text.Encoding]:https://raw.githubusercontent.com/taurusomar/psobf/HEAD/:UTF8.GetString(%5BConvert%5D::FromHexString(%2748656C6C6F%27))

उपनाम प्रतिस्थापन (alias)

PowerShell कमांडलेट को उनके छोटे उपनामों से बदलता है।```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "alias" -seed 42

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
# Write-Host → echo/write/outright
# Get-ChildItem → dir/ls/gci
# ForEach-Object → foreach/%

यूनिकोड एन्कोडिंग (unicode)

स्ट्रिंग वर्णों को [char]0xNNNN प्रारूप में परिवर्तित करता है।```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "unicode" -seed 42

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
"H[char]0x0065[char]0x006C[char]0x006Co"

एंटी-डिबगिंग (antidebug)

सैंडबॉक्स/वीएम/डिबगर पहचान स्निपेट्स इंजेक्ट करता है।```bash psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "antidebug" -seed 42

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
if($env:COMPUTERNAME -match '^(SANDBOX|MALWARE|VIRUS)'){ exit }
if((Get-WmiObject Win32_ComputerSystem).Model -match '^(VirtualBox|VMware)'){ exit }
# ... original script ...

IEX अस्पष्टीकरण (iexobf)

Invoke-Expression को वैकल्पिक रूपों से प्रतिस्थापित करता है।```bash psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "iexobf" -seed 42

root@kitploit:~
**आउटपुट (स्निपेट):**```powershell
# Invoke-Expression → IEX or .
. $code  # instead of Invoke-Expression $code

प्रोफाइल (light, balanced, heavy)

प्रीसेट सुविधाजनक शुरुआती बिंदु हैं। आपके द्वारा पास किया गया कोई भी स्पष्ट फ़्लैग प्रीसेट को ओवरराइड करता है। आपके द्वारा स्पष्ट रूप से पास किया गया कोई भी फ़्लैग प्रोफ़ाइल पर पूर्वता लेता है।

  • light ``` -pipeline "iden,stringdict,numenc,frag" -frag profile=tight -seed 1337
    root@kitploit:~
  • संतुलित ``` -pipeline "iden,strenc,stringdict,numenc,fmt,cf,dead,frag" -strenc xor -strkey a1b2c3d4 -stringdict 30 -deadcode 10 -fmt jitter -frag profile=medium -seed 424242
    root@kitploit:~
  • भारी ``` -pipeline "iden,strenc,stringdict,numenc,fmt,cf,dead,frag" -strenc rc4 -strkey 00112233445566778899aabbccddeeff -stringdict 50 -deadcode 25 -fmt jitter -frag profile=loose -seed 987654321
    root@kitploit:~

बीज, पुनरुत्पादनक्षमता एवं फ़ज़िंग

  • -seed N → दिए गए कॉन्फ़िगरेशन के लिए निर्धारित आउटपुट।
  • कोई -seed नहीं → क्रिप्टोग्राफिक रूप से बीजित यादृच्छिकता।
  • -fuzz N → N वेरिएंट उत्पन्न करें (out.ps1.v1.ps1, out.ps1.v2.ps1, …), विविधता परीक्षण के लिए उत्तम।

उदाहरण```bash psobf -i sample.ps1 -o out.ps1 -level 4 -profile heavy -fuzz 3

root@kitploit:~
## STDIN/STDOUT और `-noexec`

* **Pipe इन / आउट**  ```bash
  cat sample.ps1 | psobf -stdin -stdout -level 2 > out.ps1
  • केवल ऑडिट (कोई निष्पादन रैपर नहीं) ```bash psobf -i sample.ps1 -o payload.txt -level 4 -noexec

    payload.txt contains just the artifact (e.g., base64/gzip) without Invoke-Expression

    root@kitploit:~

EDR/AV रेसिपी (आक्रामक अभ्यास)

उद्देश्य आर्टिफैक्ट्स में विविधता लाना और अधिकृत वातावरणों में अनुसंधान के लिए स्थिर हस्ताक्षरों को कम करना है।

  1. सघन पैकिंग + शाब्दिक एन्क्रिप्शन```bash psobf -i sample.ps1 -o out.ps1 -level 4
    -pipeline "iden,strenc,stringdict" -iden obf -strenc rc4 -strkey 0011223344556677 -stringdict 40
    -seed 20250827
root@kitploit:~
2. **अधिकतम विविधता (format + fragmentation + dead code)**```bash
psobf -i sample.ps1 -o out.ps1 -level 5 \
  -pipeline "fmt,frag,dead" -fmt jitter -frag profile=loose -deadcode 15 \
  -fuzz 5
  1. CI-अनुकूल संतुलित निर्माण```bash psobf -i sample.ps1 -o out.ps1 -level 3 -profile balanced -seed 777
root@kitploit:~
4. **स्थिर IOCs कम करें (संख्याएँ + शब्दकोश)**```bash
psobf -i sample.ps1 -o out.ps1 -level 2 -pipeline "numenc,stringdict" -numenc -stringdict 35 -seed 9
  1. RC4 + कसा हुआ विखंडन (संयुक्त परतों को दिखाते हुए)```bash psobf -i sample.ps1 -o out.ps1 -level 5 -pipeline "strenc,frag" -strenc rc4 -strkey 0011223344556677 -frag profile=tight -seed 44
root@kitploit:~
---

## सर्वोत्तम प्रथाएं और रक्षात्मक नोट्स

* प्रति बिल्ड **`-strkey`** और **`-seed`** को घुमाएं।
* परतों को संयोजित करना पसंद करें: `-strenc` + `-stringdict` + `-fmt jitter` + विखंडन।
* पहचान परीक्षण के लिए वेरिएंट के परिवार उत्पन्न करने हेतु `-fuzz` का उपयोग करें।
* एक स्वच्छ, हानिरहित आधार रेखा रखें और रूपांतरण से पहले और बाद में सैंडबॉक्स के तहत कार्यात्मक समतुल्यता सत्यापित करें।
* यदि आपकी स्क्रिप्ट नाजुक PS सिंटैक्स (जैसे, रीडायरेक्शन) पर निर्भर करती है, तो उन्हें उद्धरणों के अंदर रखें या `-numenc` को अक्षम करें।

---

## आर्किटेक्चर आरेख```
       ┌──────────────┐
       │  input.ps1   │
       └──────┬───────┘
              │ read (-i / -stdin)
              ▼
       ┌──────────────┐
       │ Pipeline     │  order you choose
       │ iden         │  rename vars/funcs
       │ strenc       │  XOR/RC4 literals
       │ stringdict   │  tokenize + rejoin
       │ numenc       │  numeric masking
       │ fmt          │  whitespace jitter
       │ cf           │  opaque/shuffle
       │ dead         │  harmless noise
       └──────┬───────┘
              │ mutated script
              ▼
       ┌──────────────┐
       │  Level 1..5  │  final packing
       └──────┬───────┘
              │ + Invoke-Expression (unless -noexec)
              ▼
       ┌──────────────┐
       │   out.ps1    │
       └──────────────┘

त्वरित चीट-शीट```bash

Deterministic, simple

psobf -i sample.ps1 -o out.ps1 -level 2 -seed 123

RC4 (correct invocation shape)

psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "strenc" -strenc rc4 -strkey 0011223344556677

Tokenization + numeric masking

psobf -i sample.ps1 -o out.ps1 -level 3 -pipeline "stringdict,numenc" -stringdict 40 -numenc

Heavy combo

psobf -i sample.ps1 -o out.ps1 -level 5
-pipeline "iden,strenc,stringdict,numenc,fmt,cf,dead,frag"
-iden obf -strenc xor -strkey a1b2c3d4 -stringdict 35 -numenc
-fmt jitter -cf-opaque -deadcode 15 -frag profile=medium -seed 777

Level 6 - AES encryption (maximum protection)

psobf -i sample.ps1 -o out.ps1 -level 6 -profile heavy -seed 999

New transforms - anti-debug + alias + hex

psobf -i sample.ps1 -o out.ps1 -level 4 -pipeline "antidebug,alias,hexenc" -seed 42

All new transforms combined

psobf -i sample.ps1 -o out.ps1 -level 6
-pipeline "iden,alias,hexenc,unicode,antidebug,iexobf,strenc"
-iden obf -strenc rc4 -strkey 0011223344556677 -seed 42

Inspect artifact only (no Invoke-Expression)

psobf -i sample.ps1 -o payload.txt -level 4 -noexec

root@kitploit:~
## Legal

यह परियोजना केवल **शैक्षिक** और **अधिकृत** परीक्षण के लिए है। आप अपने उपयोग के लिए पूरी तरह जिम्मेदार हैं। लेखक और योगदानकर्ता प्रत्यक्ष या अप्रत्यक्ष क्षति के लिए कोई दायित्व नहीं मानते हैं।
टूल डाउनलोड करें