APK Strings Extractor GUI – FuzzuTech | Python Ethical Hacking Tool

 Demo :


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





🧾 Description :
Discover hidden strings, suspicious URLs, or encoded data inside APK files with this custom-built Python GUI tool. The "APK Strings Extractor – FuzzuTech" makes it easy for ethical hackers, developers, and cybersecurity enthusiasts to analyze APK content using a dark-themed tkinter interface. Perfect for quick analysis & reporting. Free, open-source, and beginner-friendly!


🧩 Features :

  • πŸ” Scan & Extract strings from .apk files

  • πŸ“¦ Supports .xml, .json, .arsc, .dex, .txt

  • 🎨 Sleek Dark Theme GUI with tkinter

  • πŸ“ Save extracted results to .txt

  • 🧠 Regex-based smart string capture

  • πŸ’» Built with Python | Open Source


Code :


import tkinter as tk

from tkinter import filedialog, messagebox, scrolledtext

import re

import zipfile

import os


class APKStringExtractor:

    def __init__(self, root):

        self.root = root

        self.root.title("APK Strings Extractor - FuzzuTech")

        self.root.geometry("600x500")

        self.root.config(bg="#1e1e2f")


        self.label = tk.Label(root, text="Upload APK File", bg="#1e1e2f", fg="white", font=("Segoe UI", 14))

        self.label.pack(pady=10)


        self.upload_btn = tk.Button(root, text="Select APK", bg="#03DAC6", fg="black", font=("Segoe UI", 12), command=self.select_apk)

        self.upload_btn.pack()


        self.text_area = scrolledtext.ScrolledText(root, wrap=tk.WORD, bg="#121212", fg="#03DAC6", font=("Consolas", 11))

        self.text_area.pack(expand=True, fill='both', padx=10, pady=10)


        self.save_btn = tk.Button(root, text="Save Results", bg="#BB86FC", fg="white", font=("Segoe UI", 12), command=self.save_results)

        self.save_btn.pack(pady=5)


    def select_apk(self):

        file_path = filedialog.askopenfilename(filetypes=[("APK Files", "*.apk")])

        if not file_path:

            return


        try:

            zipf = zipfile.ZipFile(file_path, 'r')

            result = ""

            for file in zipf.namelist():

                if file.endswith(('.xml', '.txt', '.json', '.dex', '.arsc')):

                    try:

                        data = zipf.read(file).decode(errors='ignore')

                        strings = re.findall(r'(http[s]?://[^\s"\']+|[a-zA-Z0-9_]{10,})', data)

                        for s in strings:

                            result += s + "\n"

                    except:

                        continue

            self.text_area.delete(1.0, tk.END)

            self.text_area.insert(tk.END, result if result else "No strings found.")

        except Exception as e:

            messagebox.showerror("Error", f"Could not extract APK:\n{e}")


    def save_results(self):

        text = self.text_area.get(1.0, tk.END).strip()

        if not text:

            messagebox.showinfo("No Data", "Nothing to save.")

            return

        file_path = filedialog.asksaveasfilename(defaultextension=".txt")

        if file_path:

            with open(file_path, 'w', encoding='utf-8') as f:

                f.write(text)

            messagebox.showinfo("Saved", "Results saved successfully!")


if __name__ == "__main__":

    root = tk.Tk()

    app = APKStringExtractor(root)

    root.mainloop()

Comments

Popular posts from this blog

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

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)

πŸ“‘ Fuzzu Packet Sniffer – Python GUI for Real-Time IP Monitoring | Tkinter + Scapy