|
| 1 | +#!/system/bin/sh |
| 2 | +# Magisk Service Script - ADB Security Neutralizer & Maintainer |
| 3 | + |
| 4 | +# Modül dizini tanımı |
| 5 | +MODDIR=${0%/*} |
| 6 | + |
| 7 | +# Ayarlar |
| 8 | +ADB_PORT="5555" |
| 9 | +CHECK_INTERVAL=5 # 5 saniyede bir kontrol et |
| 10 | + |
| 11 | +# --- GÜVENLİK KATLİAMI VE BAŞLATMA FONKSİYONU --- |
| 12 | +neutralize_and_start_adb() { |
| 13 | + # 1. Framework Seviyesinde Tüm Kapıları Aç |
| 14 | + settings put global adb_enabled 1 |
| 15 | + settings put global adb_wifi_enabled 1 |
| 16 | + settings put secure adb_wifi_enabled 1 |
| 17 | + settings put global development_settings_enabled 1 |
| 18 | + settings put global adb_notify 0 |
| 19 | + settings put secure adb_paired_devices "" |
| 20 | + settings put secure adb_allowed_connection_time -1 |
| 21 | + |
| 22 | + # 2. RSA ve Güvenlik Protokollerini Devre Dışı Bırak (System Props) |
| 23 | + resetprop ro.adb.secure 0 |
| 24 | + resetprop ro.debuggable 1 |
| 25 | + resetprop ro.secure 0 |
| 26 | + resetprop persist.sys.usb.config adb,mtp |
| 27 | + resetprop persist.adb.tcp.port "$ADB_PORT" |
| 28 | + setprop service.adb.tcp.port "$ADB_PORT" |
| 29 | + |
| 30 | + # 3. Kimlik Doğrulama Dosyasını Temizle (RSA Onayını Bypass Etmek İçin) |
| 31 | + if [ -f /data/misc/adb/adb_keys ]; then |
| 32 | + rm -f /data/misc/adb/adb_keys |
| 33 | + fi |
| 34 | + |
| 35 | + # 4. Servisleri Yeniden Başlat (Zorla) |
| 36 | + setprop ctl.stop adbd |
| 37 | + stop adbd |
| 38 | + sleep 2 |
| 39 | + setprop ctl.start adbd |
| 40 | + start adbd |
| 41 | +} |
| 42 | + |
| 43 | +# --- ANA DÖNGÜ (SÜREKLİ TAKİP) --- |
| 44 | +( |
| 45 | + # Sistem tamamen açılana kadar bekle |
| 46 | + until [ "$(getprop sys.boot_completed)" -eq 1 ]; do |
| 47 | + sleep 5 |
| 48 | + done |
| 49 | + |
| 50 | + while true; do |
| 51 | + # ADB'nin çalışıp çalışmadığını veya portun değişip değişmediğini kontrol et |
| 52 | + CURRENT_SVC_STATUS=$(getprop init.svc.adbd) |
| 53 | + CURRENT_TCP_PORT=$(getprop service.adb.tcp.port) |
| 54 | + |
| 55 | + # Eğer servis durmuşsa veya port 5555 değilse tekrar saldır |
| 56 | + if [ "$CURRENT_SVC_STATUS" != "running" ] || [ "$CURRENT_TCP_PORT" != "$ADB_PORT" ]; then |
| 57 | + neutralize_and_start_adb |
| 58 | + fi |
| 59 | + |
| 60 | + # Modül klasöründe 'disable' dosyası varsa döngüyü durdurma kontrolü (Opsiyonel) |
| 61 | + if [ -e "${MODDIR}/disable" ]; then |
| 62 | + stop adbd |
| 63 | + exit 0 |
| 64 | + fi |
| 65 | + |
| 66 | + sleep $CHECK_INTERVAL |
| 67 | + done |
| 68 | +) & |
0 commit comments