
Toolkit di ricette in stile CyberChef per IDA Pro: concatena 289 operazioni di codifica, cifratura, compressione e hashing sui byte del database, quindi applica i risultati al binario.
Un toolkit di ricette/operazioni in stile CyberChef integrato in IDA Pro 9.x. Crea catene di trasformazione dati multi-step — codifica, cifratura, compressione, hashing, estrazione — ed eseguile direttamente su byte o stringhe dal tuo database IDA. Applica il risultato nel binario o inseriscilo come commento.
┌──────────────┬──────────────────┬─────────────────────────────┐
│ Operations │ Recipe │ I/O Panel │
│ (search) │ │ │
│ │ ┌─ From Hex ──┐ │ Input: 5e 73 68 7d 6c... │
│ Data format │ │ XOR [0x55] │ │ [Get Selected Bytes] │
│ ▸ From Hex │ │ ADD [3] │ │ [Get String @ Cursor] │
│ ▸ To Hex │ └─────────────┘ │ [From Clipboard] │
│ ▸ From B64 │ │ │
│ ... │ [Up] [Down] │ [✓ Auto Bake] [Bake!] │
│ │ [Remove][Clear] │ │
│ Encryption │ │ Output: 4b 58 87 7f e8 │
│ ▸ XOR │ Arguments: │ [Copy] [Output → Input] │
│ ▸ AES Dec │ Key: [0x55 ] │ │
│ ... │ │ Address: [0x140001000] │
│ │ │ [Patch Bytes] [Set Comment] │
└──────────────┴──────────────────┴─────────────────────────────┘
Ctrl-Alt-C) — browser delle operazioni, costruttore di ricette
e pannello I/O tutto in un'unica finestraFromHex+XOR(0x55)+ADD(3) o FromBase64+NOT+ROL(3)pycryptodome (opzionale)Copia entrambi idachef_plugin.py e la cartella idachef/ nella tua directory
dei plugin di IDA:
| OS | Percorso |
|---|---|
| Windows | %APPDATA%\Hex-Rays\IDA Pro\plugins\ |
| macOS | ~/Library/Application Support/Hex-Rays/IDA Pro/plugins/ |
| Linux | ~/.idapro/plugins/ |
plugins/
idachef_plugin.py
idachef/
__init__.py
core/
__init__.py
dish.py
formula.py
logger.py
operation.py
recipe.py
utils.py
operations/
__init__.py
arithmetic.py
ciphers.py
codeformat.py
compression.py
encoding.py
extractors.py
hashing.py
language.py
networking.py
other.py
publickey.py
textutils.py
ui/
__init__.py
chef_widget.py
qt_compat.py
(Opzionale) Per la crittografia AES/DES/RC4: installa pycryptodome nel Python di IDA:
"<ida>/python3/python.exe" -m pip install pycryptodome
Tutto il resto — Base64/32/85, hex, XOR, ROT13/47, gzip/zlib/bzip2/lzma, MD5/SHA*, CRC, HMAC, estrattori — funziona con la sola libreria standard.
Riavvia IDA (oppure Edit → Plugins → IDAChef / Ctrl-Alt-C).
Edit → Plugins → IDAChef oppure premi Ctrl-Alt-C.
Tutti i pannelli sono basati su splitter e liberamente ridimensionabili — trascina i divisori tra le colonne, tra l'elenco delle ricette e il relativo editor degli argomenti, e tra le sezioni Input / Output / Batch.
Sinistra — Operation Browser: albero categorizzato e ricercabile. Fai doppio clic su un'operazione per aggiungerla alla tua ricetta. Digita nella casella di ricerca per filtrare per nome, categoria o descrizione.
Centro — Recipe: elenco ordinato di operazioni. Fai clic su un passaggio per modificarne gli argomenti. Usa i pulsanti Up / Down / Remove / Clear per riordinare o reimpostare. Gli argomenti si aggiornano in tempo reale mentre digiti (con Auto Bake abilitato). Save Recipe / Load Recipe esportano e importano la catena come JSON (anch'essa copiata negli appunti); Load Recipe accetta inoltre ricette esportate da CyberChef, mappando i loro argomenti posizionali sugli schemi di IDAChef.
Destra — I/O Panel:
Il testo di input viene trattato come testo semplice (con supporto per l'escape \xHH).
Usa passaggi espliciti della ricetta — From Hex, From Base64, From Binary, ecc. —
per decodificare l'input prima di ulteriori elaborazioni.
Ogni bake stampa tre righe nella finestra di output di IDA:
Input: 5e6877497d7d71526c776d536c707c6c
Step 1 'From Hex' -> ^hwI}}qRlwmSlp|l
Step 2 'XOR' -> KX...
Result: KX...
Tutto il contenuto in byte viene stampato come testo decodificato (UTF-8 con fallback Latin-1), troncato a 300 caratteri. Gli errori includono l'indice dello step e il messaggio dell'eccezione.
L'operazione Formula (compound) consente di concatenare più operazioni a livello di byte in un singolo step della ricetta utilizzando una sintassi di espressione:
FromHex+XOR(0x55)+ADD(3) — decode hex, XOR with 0x55, add 3 (mod 256)
FromBase64+NOT+ROL(3) — decode base64, bitwise NOT, rotate left 3
XOR(0xaa)+SHR(2)+AND(0x7f) — XOR then shift-right then mask
Operazioni byte-level supportate: XOR, ADD, SUB, AND, OR, NOT,
ROL, ROR, SHL, SHR, MUL, MOD