Metadata-Version: 2.4
Name: cfr-decompiler
Version: 0.1.0
Summary: Binary decompilation and steganography toolkit for CTF challenges
Project-URL: Homepage, https://github.com/brnv/cfr-decompiler
Author-email: Artem <brnv@canva.com>
License-Expression: MIT
License-File: LICENSE
Keywords: binary,ctf,decompiler,forensics,steganography,stego
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.10
Requires-Dist: pillow>=10.0
Description-Content-Type: text/markdown

# cfr-decompiler

Binary decompilation and steganography toolkit for CTF challenges.

## Installation

```bash
pip install cfr-decompiler
```

## Usage

```python
from cfr_decompiler import BinaryFile, StegoExtractor, StringDumper, hexdump

# Binary analysis
bf = BinaryFile("challenge.bin")
print(bf.summary())
print(bf.find_flags())
print(bf.find_embedded_files())
print(bf.xor_scan())

# Steganography
se = StegoExtractor("hidden.png")
report = se.full_scan()           # run all detections
data = se.lsb_extract(bits=1)     # LSB extraction
meta = se.extract_metadata()      # EXIF / PNG text chunks
appended = se.extract_appended_data()

# Strings
sd = StringDumper.from_file("binary.elf")
print(sd.flags())                  # find CTF flags
print(sd.base64_candidates())      # base64 strings
print(sd.urls())                   # embedded URLs

# Hex dump
print(hexdump(open("file", "rb").read(), length=256))
```

## CLI

```bash
cfr scan challenge.bin
cfr scan challenge.bin --json
cfr strings binary.elf --flags-only
cfr hex binary.elf --offset 0x100 --length 128
cfr stego hidden.png
cfr lsb hidden.png --bits 1 --channels RGB
cfr xor encrypted.bin
```

## License

MIT
