
NØW è uno strumento di codifica e offuscamento di shellcode basato su parole che trasforma byte di shellcode grezzi in prosa inglese dall'aspetto naturale.
Codifica shellcode come prosa inglese dall'aspetto naturale. Decodificalo con la frase giusta + password.
NØW (Natural Output Words) è uno strumento in C che converte byte grezzi di shellcode in testo inglese leggibile dall'uomo — sia un semplice elenco di parole in codice, sia una prosa fluida dall'aspetto naturale con frasi e paragrafi. L'output sembra una scrittura ordinaria, non dump esadecimali o blob base64.
Ogni valore di byte (0x00–0xFF) è mappato a una parola univoca, derivata da una frase segreta che fornisci. Un cifrario a flusso (RC4 o AES-256-CTR) mescola le assegnazioni byte→parola in base a una password. Senza entrambi, il testo codificato è solo rumore.
Dove il shellcode diventa prosa.
NØW è uno strumento di codifica e offuscamento di shellcode basato su parole che trasforma byte grezzi di shellcode in prosa inglese dall'aspetto naturale. Utilizzando una frase segreta, una password e un cifrario a flusso (RC4 o AES-256-CTR), lo shellcode originale può essere codificato in testo leggibile e successivamente recuperato tramite il processo inverso.
Inteso per ricerca sulla sicurezza, analisi malware, sperimentazione red-team e sviluppo CTF.
Shellcode bytes
│
▼
Stream cipher (RC4 or AES-256-CTR) shuffles byte→word table
│
▼
Each byte → one codeword from your secret sentence (padded to 256 unique words)
│
▼
Optional: wrap in natural prose with connectors, punctuation, paragraph breaks
│
▼
Output text file (looks like an essay or paragraph)
La decodifica inverte il processo — legge il testo, rimuove punteggiatura e parole di collegamento, e mappa ogni parola in codice al suo valore di byte.

Nell'immagine sopra, abbiamo crittografato uno shellcode usando NØW Word-Based Shellcode Tool. Lo shellcode originale è stato prima crittografato usando il cifrario a flusso selezionato (RC4 in questo esempio) con la password "nirvana". Dopo la crittografia, ogni byte crittografato è stato mappato a parole da un pool di parole predefinito, producendo un blocco di testo dall'aspetto naturale invece di ovvi byte di shellcode.
L'output generato appare come prosa normale contenente parole come hope, bottle, spiral, fog, ink e snow. Tuttavia, questo testo non è inteso come un paragrafo significativo. Ogni parola rappresenta un valore di byte crittografato e la sequenza di parole preserva i dati dello shellcode crittografato.
Durante la decodifica, lo strumento esegue il processo inverso:
Questa tecnica trasforma lo shellcode in testo leggibile dall'uomo, rendendo il payload meno sospetto di un array di byte esadecimali grezzi, pur consentendo di ricostruire lo shellcode originale quando vengono forniti la password e le impostazioni del cifrario corrette.
Nota: Nella frase segreta devono essere usate solo parole inglesi. Caratteri non inglesi (cinese, giapponese, arabo, emoji, ecc.) potrebbero causare problemi di codifica o parsing e possono rompere il processo di crittografia/decrittografia. Usa testo ASCII inglese standard per risultati affidabili.
Probably, laughed hope polishing, how most perhaps sleep would bottle, additionally, somewhere bottle, immediately bottle me spiral me time fog. Immediately, spiral animal certainly hope all by, previously do elsewhere hope perhaps ink fog, also hope ink, consequently fog? Door hope ink, meanwhile fog equally snow hope ink, recently room time hope get then immediately house, importantly house. Written all window hope all would, eventually vanished fire notably one he, elsewhere than?
Accordingly, roof snow me waves window, somewhere into me obviously now waves great, particularly ago fog. Nonetheless, me spiral hope ink, regardless fog snow consequently ink shore, fire moreover hope now birds, indirectly ink. Probably, peace floor bottle, everywhere bottle, everywhere bottle hope never would earth, white hope. Now birds time, ink hope door black, ink faded consequently snow.
About now birds moon animal, hope us window however me, currently ink similarly leaving floor. Regardless, hope now map written all window, hope all would vanished me waves? Probably, window into me furthermore now waves calm, there bucket basically horse ceiling star ceiling, dying. Furthermore, which evening pig because, bucket even word black ink!
Additionally, faded dying about now, however birds specifically used me, ink revolver hope, black ink originally faded, equally see. About now consequently birds certainly me ink two, floor particularly hope obviously now birds me. Word me word, my packed bag, me word me otherwise packed me, bag hope. Polishing father snow, me fog us, there word me packed, immediately bag hope everywhere ink.
Particularly, happy flower your, us, equally us, likewise us partly years about meanwhile fresh make, indirectly cat therefore just. Namely, not we just bottle, chiefly bottle me animal, about subsequently stone moreover to hope fish? Basically, father dawn nevertheless now, bottle, although bottle about stone prank, about but than, regardless bottle? Now home would lighthouse, immediately now go namely me until, similarly about indirectly stone.
Additionally, how ceiling stone horse, additionally me they ceiling make, its. Equally, fear us yellow chiefly ceiling stone a, old eventually now notably, whereas now eventually bottle, mainly bottle packed me. They mouse originally peace for, bottle us yellow, time, furthermore time written nowhere all window, written likewise all! Would hope us would hope stone, her hope.
Us would hope stone, alternatively waves me probably they moreover a, consequently get want there us, particularly yellow hope. Stone every currently something, notably or me word ceiling stone, great however hope stone, human me they indirectly angry. Prayer earth mostly one, nevertheless us yellow accordingly hope fish, staircase equally faded than bottle, obviously bottle about thinking leather? Buried bird bottle, chiefly bottle mainly, accordingly bottle, partly bottle, anywhere bottle moreover me perhaps time, me.
Time hope certainly stone, somewhere great your whereas, obviously your, originally your written all would. Something into packed me, time great partly laughed, regardless used every black, nonetheless dying until moreover now, somewhere now hope. Another black dying, similarly door previously stopped additionally bottle old, indeed hope stone. To animal time me time, particularly me time me.
Time about originally us, particularly would me time about, everywhere us dream meanwhile written initially stone, eventually waves ceiling meanwhile stone. Waves me they, chiefly sea whereas rocky washed leaf us, somewhere yellow hope. Mainly, all by hope us, containing ink dog, otherwise me they which. Rolled duck also, chiefly us yellow home most constant, war animal me, they found.
Long who what us yellow, hope polishing nowhere staircase? Look fire wall, indirectly he garden peace, differently waters there additionally bucket coming. Nevertheless, home ice notably have whereas room, sky something bottle packed, me stone cloud us. Importantly, yellow.

Il testo crittografato viene fornito allo strumento insieme alla password corretta (nirvana) e al cifrario a flusso (RC4). Lo strumento rimuove punteggiatura e formattazione, converte ogni parola nel corrispondente valore di byte, ricostruisce il flusso di byte crittografato e quindi lo decrittografa per recuperare lo shellcode originale.
Processo: Shellcode → Byte crittografati → Parole → Parole → Byte crittografati → Shellcode originale
Nota: La password e il cifrario devono corrispondere ai valori usati durante la crittografia. Qualsiasi disallineamento produrrà una decodifica errata o fallita.
Codebook di 256 parole costruito da qualsiasi frase tu fornisca, completato automaticamente con parole inglesi comuni
Due cifrari a flusso per il mescolamento byte→parola:
RC4 — multipiattaforma, compatibile con RC4ENC/RC4DECAES-256-CTR — solo Windows (tramite CryptoAPI), compatibile con AESENC/AESDECQuattro stili di output:
| Livello | Descrizione |
|---|---|
| 0 — Semplice | Elenco di parole grezzo, senza punteggiatura |
| 1 — Prosa leggera | Frasi più lunghe, riempitivi minimi |
| 2 — Prosa media | Paragrafi bilanciati (predefinito) |
| 3 — Prosa pesante | Connettori frequenti e interruzioni di paragrafo |
Autotest di andata e ritorno — verifica automaticamente che codifica→decodifica produca esattamente gli stessi byte prima di salvare
Più formati di input — incolla byte esadecimali direttamente o carica un file .bin
Più formati di output in decodifica — salva file .bin, .c (array C) e .hex
Esecuzione facoltativa dello shellcode (solo Windows) — esegue lo shellcode decodificato in memoria tramite VirtualAlloc + CreateThread
├── main.c # Entry point, main menu loop
├── menu.c / menu.h # Interactive CLI actions (encrypt, decrypt, help)
├── encrypt.c / .h # Shellcode → word encoding (plain + natural prose)
├── decrypt.c / .h # Word text → shellcode decoding
├── word_mapping.c/.h # Builds the 256-word codebook and byte↔word lookup tables
├── rc4.c / .h # RC4 stream cipher implementation
├── io.c / .h # File I/O, hex parsing, multi-line input
├── platform.c / .h # Platform-specific shellcode execution (Windows)
├── util.c / .h # String helpers (trim, clean tokens, etc.)
└── common.h # Shared constants, macros, and type definitions
.c e .h al progetto.Ctrl + Shift + B).Requisiti:
Consigliato: Compilare su Windows usando Visual Studio.
Esegui il binario e segui il menu interattivo:
NØW v2.2 - Word-Based Shellcode Tool
RC4 or AES stream | Natural prose output
Main menu:
1. Encrypt shellcode -> words
2. Decrypt words -> shellcode
3. Help
4. Exit
RC4 o AES-256-CTR).bin.txt.bin, .c e .hexplatform.c) è solo per Windows e richiede una conferma esplicita dell'utente in fase di esecuzioneMedium : https://medium.com/@0xnirsec