Một ứng dụng Desktop hiện đại phát triển bằng Python và PyQt6, cung cấp công cụ giải mã (decode) các tham số mã hóa từ bất kỳ API nào của Zalo.
Khi làm việc với các hệ thống hoặc phát triển ứng dụng tích hợp Zalo, các nhà phát triển thường gặp khó khăn do các yêu cầu API (như gửi tin nhắn, lấy thông tin nhóm, trạng thái tin nhắn...) đều mã hóa các tham số dưới dạng một chuỗi ký tự bí mật bằng thuật toán mã hóa đối xứng AES.
Zalo API Tools ra đời nhằm giúp các lập trình viên và nhà nghiên cứu bảo mật:
- Hỗ trợ gỡ lỗi nhanh chóng: Dễ dàng trích xuất khóa bí mật
secret_keythông qua giao diện quét mã QR tự động. - Giải mã tham số trực quan: Chỉ cần dán URL hoặc chuỗi
paramsmã hóa vào giao diện để nhận lại dữ liệu JSON rõ ràng, giúp hiểu rõ cấu trúc dữ liệu gửi và nhận của Zalo. - Phục vụ học tập và nghiên cứu: Là tài liệu tham khảo hữu ích cho việc xây dựng các thư viện API Wrapper tự động hóa (như
zlapi) hoặc phân tích giao thức truyền thông của ứng dụng chat.
- Đăng nhập QR tự động: Tự động mở trình duyệt Chrome (
undetected-chromedriver), bắt các sự kiện đăng nhập (session cookiesvà Local Storagez_uuid), từ đó tự động trích xuấtsecret_keytừ Zalo API. - Hỗ trợ Debug thủ công với DevTools:
- Tự động mở cửa sổ Chrome DevTools khi chạy trình duyệt.
- Tự động chuyển thẳng sang tab Network và tích sẵn ô Preserve log để dễ dàng theo dõi các gói tin.
- Giải mã Universal Params:
- Giải mã
paramsmã hóa từ bất kỳ API nào của Zalo (ví dụ:sendreq,alias,convlabel,deliveredv2...). - Hỗ trợ lưu kết quả đã giải mã thành file
.json.
- Giải mã
Dự án được cấu trúc modular hóa rõ ràng:
/src
├── main.py # File chạy chính của ứng dụng
├── requirements.txt # Danh sách thư viện phụ thuộc
├── utils/ # Chức năng tiện ích bổ trợ
│ ├── crypto.py # Thuật toán AES-ECB giải mã fallback
│ ├── browser.py # Cấu hình Selenium và vá các tiến trình lỗi
│ └── url_helpers.py # Trích xuất và làm sạch đường dẫn
├── services/ # Nghiệp vụ logic chính
│ └── zalo_service.py # Quản lý ZaloAPI client, mã hóa & giải mã dữ liệu
└── ui/ # Thành phần giao diện người dùng
├── styles.py # Giao diện sáng phong cách SaaS (QSS)
├── main_gui.py # Lớp Shell chính kết nối các component
├── decode_universal_tab.py # Giao diện Tab Giải mã Params
└── log_tab.py # Giao diện màn hình hiển thị log kết quả
- Python 3.8+
- Google Chrome đã được cài đặt trên hệ thống (để chạy Chrome Driver)
- Cài đặt các thư viện phụ thuộc:
Mở terminal trong thư mục dự án và chạy lệnh:
pip install -r requirements.txt
- Khởi chạy ứng dụng:
Chạy lệnh:
python main.py
- Bước 1: Nhấn nút Mở trình duyệt (Quét mã QR). Một trình duyệt Chrome tự động sẽ xuất hiện kèm theo cửa sổ DevTools đã mở sẵn ở tab Network và đã tích Preserve log.
- Bước 2: Nhấp chọn nút bộ lọc Fetch/XHR trên tab Network của cửa sổ DevTools để lọc gói tin. Sau đó tiến hành quét mã QR đăng nhập tài khoản Zalo của bạn.
- Bước 3: Sau khi đăng nhập thành công, thanh trạng thái sẽ chuyển sang màu xanh lá báo
Đã đăng nhập | Secret key.... Trình duyệt có thể tự đóng hoặc bạn có thể nhấn Đóng trình duyệt. Lúc này, nút tính năng giải mã sẽ được kích hoạt. - Bước 4 (Giải mã API): Sao chép URL API hoặc chuỗi
params=thu được trong tab Network của DevTools, dán vào Tab Giải mã Params -> nhấn Bắt đầu giải mã. Bạn có thể bấm Lưu kết quả giải mã để xuất dữ liệu ra file JSON.
Dự án này được phát hành dưới bản quyền MIT License. Xem chi tiết tại tệp LICENSE để biết thêm thông tin.
