
Boîte à outils de recettes de style CyberChef pour IDA Pro : enchaînez 289 opérations d'encodage, de chiffrement, de compression et de hachage sur les octets de la base de données, puis réinjectez les résultats dans le binaire.
Une boîte à outils de recettes/opérations de style CyberChef intégrée dans IDA Pro 9.x. Construisez des chaînes de transformation de données à plusieurs étapes — encodage, chiffrement, compression, hachage, extraction — et exécutez-les directement sur des octets ou des chaînes de votre base de données IDA. Appliquez le résultat dans le binaire ou déposez-le en tant que commentaire.
┌──────────────┬──────────────────┬─────────────────────────────┐
│ 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) — navigateur d'opérations, constructeur de recettes,
et panneau d'E/S dans une seule fenêtreFromHex+XOR(0x55)+ADD(3) ou FromBase64+NOT+ROL(3)pycryptodome (facultatif)Copiez à la fois idachef_plugin.py et le dossier idachef/ dans votre répertoire
de plugins IDA :
| OS | Chemin |
|---|---|
| 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
(Facultatif) Pour le chiffrement AES/DES/RC4 : installez pycryptodome dans le Python d'IDA :
"<ida>/python3/python.exe" -m pip install pycryptodome
Tout le reste — Base64/32/85, hex, XOR, ROT13/47, gzip/zlib/bzip2/lzma, MD5/SHA*, CRC, HMAC, les extracteurs — fonctionne avec la bibliothèque standard seule.
Redémarrez IDA (ou Edit → Plugins → IDAChef / Ctrl-Alt-C).
Edit → Plugins → IDAChef ou appuyez sur Ctrl-Alt-C.
Tous les panneaux sont basés sur des séparateurs et librement redimensionnables — faites glisser les séparateurs entre les colonnes, entre la liste des recettes et son éditeur d'arguments, et entre les sections Input / Output / Batch.
Gauche — Navigateur d'opérations : arborescence catégorisée et interrogeable. Double-cliquez sur une opération pour l'ajouter à votre recette. Tapez dans la zone de recherche pour filtrer par nom, catégorie ou description.
Centre — Recette : liste ordonnée d'opérations. Cliquez sur une étape pour modifier ses arguments. Utilisez les boutons Up / Down / Remove / Clear pour réorganiser ou réinitialiser. Les arguments se mettent à jour en direct au fur et à mesure de la saisie (avec Auto Bake activé). Save Recipe / Load Recipe exportent et importent la chaîne au format JSON (également copiée dans le presse-papiers) ; Load Recipe accepte en outre les recettes exportées depuis CyberChef, en mappant leurs arguments positionnels sur les schémas d'IDAChef.
Droite — Panneau I/O :
Le texte d'entrée est traité comme du texte brut (avec prise en charge des échappements \xHH).
Utilisez des étapes de recette explicites — From Hex, From Base64, From Binary, etc. —
pour décoder votre entrée avant tout traitement ultérieur.
Chaque cuisson affiche trois lignes dans la fenêtre de sortie d'IDA :
Input: 5e6877497d7d71526c776d536c707c6c
Step 1 'From Hex' -> ^hwI}}qRlwmSlp|l
Step 2 'XOR' -> KX...
Result: KX...
Tout le contenu en octets est affiché sous forme de texte décodé (UTF-8 avec repli Latin-1), tronqué à 300 caractères. Les erreurs incluent l'index de l'étape et le message d'exception.
L'opération Formula (compound) vous permet d'enchaîner plusieurs opérations au niveau des octets dans une seule étape de recette à l'aide d'une syntaxe d'expression :