# translate.py # Transform data using Python expressions (XOR, ADD, etc.) # FOR610 Labs: 3.4 | Sections: 3 | Author: Didier Stevens # Docs: https://docs.remnux.org/discover-the-tools/examine+static+properties/deobfuscation % xor, transformation, decoding, didier-stevens # Basic usage translate.py "byte ^ 35" < input.bin > output.bin # --- Recipes (multi-tool chains) --- # >> Decode Base64 + XOR Shellcode # Find Base64 strings base64dump.py -n 10 # Decode Base64, then XOR with key base64dump.py -s -d | translate.py 'byte ^ ' > shellcode.bin # >> Full Office Macro Decode Chain # Step 1: List streams and extract VBA oledump.py oledump.py -s -v # Step 2: Extract Base64 from data stream oledump.py -s -d | base64dump.py -s 1 -d > stage1.ps1 # Step 3: Decode second Base64 layer + decompress base64dump.py stage1.ps1 -s 3 -d | gunzip > stage2.ps1 # Step 4: XOR decode the shellcode base64dump.py stage2.ps1 -s 2 -d | translate.py 'byte ^ 35' > shellcode.bin # Step 5: Emulate the shellcode scdbgc /f shellcode.bin /s -1