πŸ” FuzzuTech – Steganography Tool GUI | Hide Messages in Images (Python App)

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡


























Features :

  • Encode & decode hidden messages

  • 100% offline

  • Dark mode GUI

  • PNG support

  • Built with Python PIL + customtkinter


Code :


import customtkinter as ctk

from tkinter import filedialog

from PIL import Image

import io


ctk.set_appearance_mode("dark")

ctk.set_default_color_theme("blue")


app = ctk.CTk()

app.geometry("500x600")

app.title("Steganography Tool – FuzzuTech")


def encode_image():

    filepath = filedialog.askopenfilename()

    if not filepath: return


    img = Image.open(filepath)

    message = text_entry.get("1.0", "end-1c")


    encoded = img.copy()

    binary_msg = ''.join(format(ord(i), '08b') for i in message)

    binary_msg += '1111111111111110'  # EOF marker


    pixels = list(encoded.getdata())

    for i in range(len(binary_msg)):

        r, g, b = pixels[i]

        r = (r & ~1) | int(binary_msg[i])

        pixels[i] = (r, g, b)


    encoded.putdata(pixels)

    encoded.save("encoded_image.png")

    status_label.configure(text="✅ Message Encoded & Saved!")


def decode_image():

    filepath = filedialog.askopenfilename()

    if not filepath: return


    img = Image.open(filepath)

    pixels = list(img.getdata())


    binary_msg = ""

    for r, g, b in pixels:

        binary_msg += str(r & 1)


    chars = [chr(int(binary_msg[i:i+8], 2)) for i in range(0, len(binary_msg), 8)]

    message = ''.join(chars)

    if 'ΓΎ' in message:

        message = message.split('ΓΎ')[0]

    text_entry.delete("1.0", "end")

    text_entry.insert("1.0", message)


title = ctk.CTkLabel(app, text="πŸ” Steganography GUI", font=("Roboto", 22))

title.pack(pady=20)


text_entry = ctk.CTkTextbox(app, height=200, width=400)

text_entry.pack(pady=10)


encode_btn = ctk.CTkButton(app, text="Encode Message in Image", command=encode_image)

encode_btn.pack(pady=10)


decode_btn = ctk.CTkButton(app, text="Decode Message from Image", command=decode_image)

decode_btn.pack(pady=10)


status_label = ctk.CTkLabel(app, text="")

status_label.pack(pady=10)


app.mainloop()

Comments

Popular posts from this blog

Is This News Real or Fake? πŸ€– AI Exposes the Truth | FuzzuTech Python App Demo

🚨 Python Intrusion Detection System (IDS) – Real-Time ML + Tkinter GUI Project | FuzzuTech

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±