| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository: github.com/code-root/TikTokDeviceGenerator · Releases: all versions · Latest: v1.0.0
Desktop GUI (Tkinter) that generates device-registration payloads via Java / unidbg, POSTs them to TikTok’s device register endpoint, and saves results as JSON with batch mode, threading, and optional proxy support.
Documentation: English (this file) · Arabic — README.ar.md
Notice: Use this tool only in compliance with applicable laws and service terms. This document describes technical behavior only.
Search / topics: TikTok account creation (device binding), device_register, device_id / install_id (IID), signed registration payload (Java + native / unidbg), batch device registration, automation, optional proxy. Repository topics on GitHub include account-creation, device-registration, request-signing, tiktok-api, and related labels.
| Component | Notes |
|---|---|
| Python | Modern syntax (e.g. str | None). Python 3.10+ recommended. |
| Packages | See requirements.txt — notably requests[socks] for SOCKS proxies. |
| Java | JVM able to run Libs/unidbg.jar. On 64-bit Windows, use 64-bit Java to match Libs/prebuilt/win64/. |
| Repo files | Libs/unidbg.jar and Libs/prebuilt/<platform>/ (e.g. win64, linux64, osx64). |
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
source .venv/bin/activate
pip install -r requirements.txtInstall a JDK/JRE and verify java -version. If only 32-bit Java is installed on 64-bit Windows while the app uses win64 natives, unidbg will fail — see Java & native libraries.
python DeviceGenerator.pyThere is no separate CLI; all options are in the GUI.
Versioned downloads, changelogs, and tagged snapshots: github.com/code-root/TikTokDeviceGenerator/releases
TikTokDeviceGenerator-main/ ├── DeviceGenerator.py # GUI + batch worker + HTTP ├── requirements.txt ├── README.md # This file (English) ├── README.ar.md # Arabic documentation ├── assets/ # Support / deposit QR images ├── scripts/ # e.g. verify_environment.py (Java vs Apple Silicon) ├── Libs/ │ ├── unidbg.jar │ └── prebuilt/ # win64, linux64, osx64, ... ├── Device/ # devices_001.json, ... └── generated_devices/ # _batch_summary_*.json
Code constants:
Header — app title and short subtitle.
Action bar
Batch options
Last device (preview) — read-only OpenUDID, Device ID, IID with Copy buttons; updates on each successful registration in the current batch.
Progress — indeterminate while preparing, then determinate by completed/total; status line combines count/percent and a short message.
Log — per device: URL, headers, hex preview of body, response or errors. request_log is stripped before writing each record to Device/devices_*.json to keep files smaller; the UI still shows full logs during the run.
Device/
generated_devices/
Default “Output folder” field
Supported schemes: http, https, socks5, socks5h.
http://127.0.0.1:8080
http://user:password@host:port
socks5h://127.0.0.1:1080
Install requests[socks] for SOCKS. Exported JSON uses proxy_url_masked under network when credentials are present.
Approximate invocation from Libs/:
java -Djna.library.path="<prebuilt>" -Djava.library.path="<prebuilt>" -jar unidbg.jar "<message>"
<prebuilt> is Libs/prebuilt/<getsystem()> (e.g. win64 on 64-bit Windows).
get_java_exe() tries JAVA_HOME, a common Windows path, then java on PATH. On 64-bit Windows it prefers a JVM that reports 64-Bit in java -version output.
Apple Silicon (M1/M2/M3): The JNA build inside unidbg.jar only ships a darwin x86_64 libjnidispatch. A default arm64 JDK cannot load it → UnsatisfiedLinkError on a temp jna*.tmp file. Use an Intel / x64 JDK (e.g. Eclipse Temurin macOS x64), set JAVA_HOME to it, and confirm java -XshowSettings:properties -version shows os.arch = x86_64. Quick check from the repo root: python scripts/verify_environment.py.
| Symptom | Likely cause |
|---|---|
| Missing unidbg.jar | File missing at Libs/unidbg.jar. |
| Missing native libraries | Wrong or missing Libs/prebuilt/<platform>. |
| UnsatisfiedLinkError / Can't load library … jna*.tmp (macOS arm64) | arm64 JVM vs x86_64-only JNA in unidbg.jar — install x64 JDK and point JAVA_HOME there (see Java & native libraries). |
| libcapstone.dylib / native load errors (macOS) | Ensure libcapstone.dylib is a symlink to libcapstone.4.dylib (same for keystone → libkeystone.0.dylib). |
| unidbg fails / no hex=… | Wrong Java arch, bad cwd, or unexpected JVM output (check Log / stderr in failure payload). |
| HTTP / JSON errors | Network, block, bad proxy, or non-JSON response. |
| SOCKS fails | Missing requests[socks] or unsupported URL. |
| Tk / button errors | Use official Python with Tk; for PyInstaller builds, bundle Tcl/Tk correctly. |
| Developer | Mostafa Al-Bagouri |
| Company | Storage TE |
| +20 100 199 5914 |
If this tool is useful to you, optional support helps maintain and improve it. Pick whatever works best for you.
| Channel | How to support |
|---|---|
| PayPal | paypal.me/sofaapi |
| Binance Pay / UID | 1138751298 — send from the Binance app (Pay / internal transfer when available). |
| Binance — deposit (web) | Deposit crypto (Binance) — sign in, pick the asset, then select BSC (BEP20). |
| BSC address (copy) | 0x94c5005229784d9b7df4e7a7a0c3b25a08fd57bc |
Network: Use BSC (BEP-20) only. This address is for USDT (BEP-20) and BTC on BSC (Binance-Peg / in-app “BTC” on BSC), matching the Binance deposit screens below. Do not send native Bitcoin (on-chain BTC), ERC-20, or NFTs to this address.
| USDT · BSC | BTC · BSC |
|---|---|
![]() |
![]() |
| Back | FazBrowse Home | New Git URL |