mirror of
https://github.com/elder-plinius/P4RS3LT0NGV3.git
synced 2026-06-06 06:53:56 +02:00
UI: move Tokenizer tab to far right; rename Fuzzer to Mutation Lab
This commit is contained in:
+10
-10
@@ -78,6 +78,13 @@
|
||||
>
|
||||
<i class="fas fa-bomb"></i> Tokenade
|
||||
</button>
|
||||
<button
|
||||
:class="{ active: activeTab === 'fuzzer' }"
|
||||
@click="switchToTab('fuzzer')"
|
||||
title="Generate many mutated payloads for testing"
|
||||
>
|
||||
<i class="fas fa-bug"></i> Mutation Lab
|
||||
</button>
|
||||
<button
|
||||
:class="{ active: activeTab === 'tokenizer' }"
|
||||
@click="switchToTab('tokenizer')"
|
||||
@@ -85,13 +92,6 @@
|
||||
>
|
||||
<i class="fas fa-layer-group"></i> Tokenizer
|
||||
</button>
|
||||
<button
|
||||
:class="{ active: activeTab === 'fuzzer' }"
|
||||
@click="switchToTab('fuzzer')"
|
||||
title="Generate many mutated payloads for testing"
|
||||
>
|
||||
<i class="fas fa-bug"></i> Fuzzer
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Steganography Tab -->
|
||||
@@ -397,12 +397,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Fuzzer Tab -->
|
||||
<!-- Mutation Lab (Fuzzer) Tab -->
|
||||
<div v-if="activeTab === 'fuzzer'" class="tab-content">
|
||||
<div class="transform-layout">
|
||||
<div class="transform-section">
|
||||
<div class="section-header">
|
||||
<h3><i class="fas fa-bug"></i> Fuzzer <small>mutate text into diverse payloads</small></h3>
|
||||
<h3><i class="fas fa-bug"></i> Mutation Lab <small>mutate text into diverse payloads</small></h3>
|
||||
</div>
|
||||
<div class="options-grid">
|
||||
<label>
|
||||
@@ -425,7 +425,7 @@
|
||||
<label class="switch neon"><input type="checkbox" v-model="fuzzZalgo" /><span>Zalgo</span></label>
|
||||
<label class="switch neon"><input type="checkbox" v-model="fuzzWhitespace" /><span>Whitespace chaos</span></label>
|
||||
<label class="switch neon"><input type="checkbox" v-model="fuzzCasing" /><span>Casing chaos</span></label>
|
||||
<label class="switch neon"><input type="checkbox" v-model="fuzzEncodeShuffle" /><span>Encode shuffle (Base64/URL/Hex)</span></label>
|
||||
<label class="switch neon"><input type="checkbox" v-model="fuzzEncodeShuffle" /><span>Homoglyph confusables</span></label>
|
||||
</div>
|
||||
<div class="token-bomb-actions">
|
||||
<button class="transform-button" @click="generateFuzzCases"><i class="fas fa-hammer"></i> Generate Cases</button>
|
||||
|
||||
@@ -1743,18 +1743,16 @@ window.app = new Vue({
|
||||
casingChaos(text, rnd) {
|
||||
return [...text].map(c => /[a-z]/i.test(c)? (rnd()<0.5? c.toUpperCase():c.toLowerCase()) : c).join('');
|
||||
},
|
||||
// Replace encodeShuffle with homoglyph confusables injection
|
||||
encodeShuffle(text, rnd) {
|
||||
const opts = ['base64','base32','hex','base58','base62','url'];
|
||||
const t = this.pick(opts, rnd);
|
||||
const tx = {
|
||||
base64: ()=> window.transforms.base64.func(text),
|
||||
base32: ()=> window.transforms.base32.func(text),
|
||||
hex: ()=> window.transforms.hex.func(text),
|
||||
base58: ()=> window.transforms.base58.func(text),
|
||||
base62: ()=> window.transforms.base62.func(text),
|
||||
url: ()=> window.transforms.url.func(text)
|
||||
const map = {
|
||||
'A':'Α','B':'Β','C':'Ϲ','E':'Ε','H':'Η','I':'Ι','K':'Κ','M':'Μ','N':'Ν','O':'Ο','P':'Ρ','T':'Τ','X':'Χ','Y':'Υ',
|
||||
'a':'а','c':'с','e':'е','i':'і','j':'ј','o':'о','p':'р','s':'ѕ','x':'х','y':'у'
|
||||
};
|
||||
return (tx[t]||(()=>text))();
|
||||
return [...text].map(ch => {
|
||||
if (map[ch] && rnd() < 0.25) return map[ch];
|
||||
return ch;
|
||||
}).join('');
|
||||
},
|
||||
generateFuzzCases() {
|
||||
const src = String(this.fuzzerInput || '');
|
||||
|
||||
Reference in New Issue
Block a user