• 14-11-2025, 08:32:11
    #1
    Telefoncuların hayatını kolaylaştıracak bir program hazırladım, açık kaynak olarak paylaşıyorum dileyen kullansın


    IMEI Sorgulayıcı - Program Özellikleri

    Ne İşe Yarar:
    • USB'ye bağlanan iPhone'un IMEI numarasını otomatik alır
    • e-Devlet IMEI sorgulama sayfasını açar ve IMEI'yi otomatik doldurur
    • Telefonun kayıtlı/kaçak durumunu kontrol etmenizi sağlar
    Temel Özellikler:
    • Otomatik IMEI algılama - Telefon takılınca IMEI'yi anında okur
    • Otomatik form doldurma - e-Devlet sayfasına telefonun IMEI'sini yazar
    • Panoya kopyalama - Aynı zamanda en günccel IMEI her zaman Ctrl+V ile yapıştırılmaya hazır
    • Akıllı cihaz takibi - Telefon çıkarılınca tarayıcıyı kapatır
    • Sürekli çalışma - Program açık kaldığı sürece yeni telefonları algılar
    • Çoklu cihaz desteği - Farklı telefonları art arda sorgulayabilir
    Kullanım Senaryosu:
    • Telefon alım-satımı yapanlar için idealdir
    • IMEI kontrolü gereken işlemlerde zaman kazandırır
    • Manuel IMEI girme zahmetini ortadan kaldırır
    Not: CAPTCHA varsa manuel girmek gerekir, sonrasını program halleder.


    Kullanılan kütüphaneler:
    selenium
    webdriver-manager
    pymobiledevice3
    pyperclip


    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    """
    IMEI Sorgulayıcı v1
    Tarih: 14 Kasım 2025
    Not: Chrome driver otomatik indirilir, elle kurma gerek yok
    """
    import sys
    import time
    import threading
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    # pip install pymobiledevice3 selenium webdriver-manager pyperclip
    try:
        from pymobiledevice3.usbmux import list_devices
        from pymobiledevice3.lockdown import create_using_usbmux
    except:
        print("pymobiledevice3 kurulu değil! pip install pymobiledevice3")
        sys.exit(1)
    try:
        import pyperclip
        PANO_VAR = True
    except:
        PANO_VAR = False
        print("Uyarı: pyperclip yok, pano özelliği çalışmayacak")
    from webdriver_manager.chrome import ChromeDriverManager
    # Sabitler
    EDEVLET_URL = "https://www.turkiye.gov.tr/imei-sorgulama"
    SONUC_URL = "https://www.turkiye.gov.tr/imei-sorgulama?asama=1"
    BEKLEME_SURESI = 60  # sonuç sayfasında bekle
    MAX_CAPTCHA_BEKLE = 300  # 5 dk captcha için bekle
    driver = None
    son_imei = None
    calisiyormu = True
    def iphone_baglidmi():
        """iPhone bağlı mı kontrol et"""
        try:
            cihazlar = list_devices()
            return len(cihazlar) > 0
        except:
            return False
    def imei_oku():
        """Bağlı iPhone'dan IMEI al"""
        global son_imei
        
        try:
            cihazlar = list_devices()
            if not cihazlar:
                return None
                
            cihaz = cihazlar[0]
            lockdown = create_using_usbmux(serial=cihaz.serial)
            imei = lockdown.get_value(key='InternationalMobileEquipmentIdentity')
            
            # panoya kopyala
            if PANO_VAR and imei and imei != son_imei:
                try:
                    pyperclip.copy(imei)
                    print(f"[+] IMEI panoya kopyalandı: {imei}")
                except:
                    pass  # pano hatası önemli değil
                    
            son_imei = imei
            return imei
            
        except Exception as e:
            # print(f"IMEI okuma hatası: {e}")  # debug için aç
            return None
    def tarayici_ac_ve_sorgula(imei):
        """Chrome aç ve IMEI sorgula"""
        global driver
        
        try:
            # eski tarayıcı varsa kapat
            if driver:
                try:
                    driver.quit()
                except:
                    pass
            
            # Chrome ayarları
            opts = webdriver.ChromeOptions()
            opts.add_argument('--disable-blink-features=AutomationControlled')
            opts.add_experimental_option("excludeSwitches", ["enable-automation"])
            opts.add_experimental_option('useAutomationExtension', False)
            # opts.add_argument('--headless')  # arka planda çalıştırmak için
            
            print("[*] Tarayıcı açılıyor...")
            driver = webdriver.Chrome(
                service=webdriver.chrome.service.Service(ChromeDriverManager().install()),
                options=opts
            )
            
            # sayfayı aç
            driver.get(EDEVLET_URL)
            print("[*] e-Devlet sayfası yüklendi")
            
            # IMEI kutusunu bul ve doldur
            wait = WebDriverWait(driver, 10)
            imei_input = wait.until(EC.presence_of_element_located((By.ID, "txtImei")))
            imei_input.clear()  # önce temizle
            imei_input.send_keys(imei)
            print(f"[*] IMEI girildi: {imei}")
            
            # Captcha var mı kontrol et
            try:
                driver.find_element(By.CSS_SELECTOR, "label[for='captcha_name']")
                print("[!] CAPTCHA VAR - Manuel giriş gerekli!")
                print("[!] Güvenlik kodunu gir ve Sorgula'ya bas")
            except:
                # captcha yok, otomatik sorgula
                btn = driver.find_element(By.CLASS_NAME, "submitButton")
                btn.click()
                print("[*] Sorgula butonuna tıklandı")
            
            # Sonuç bekle
            basla = time.time()
            while (time.time() - basla) < MAX_CAPTCHA_BEKLE:
                if driver.current_url == SONUC_URL:
                    print("[✓] Sonuç sayfasına geçildi!")
                    time.sleep(BEKLEME_SURESI)  # sonucu göster
                    break
                time.sleep(0.5)
                
                # cihaz çıkarıldı mı kontrol et
                if not iphone_baglidmi():
                    print("[!] Cihaz çıkarıldı, tarayıcı kapatılıyor")
                    driver.quit()
                    driver = None
                    return
                    
        except Exception as e:
            print(f"[X] Hata: {e}")
            if driver:
                driver.quit()
                driver = None
    def ana_dongu():
        """Ana program döngüsü"""
        global driver, calisiyormu
        
        print("="*50)
        print("IMEI SORGULAYICI - Cihaz bekleniyor...")
        print("Çıkmak için Ctrl+C")
        print("="*50)
        
        onceki_durum = False
        islem_yapildi = {}  # hangi cihazlar için işlem yapıldı
        
        while calisiyormu:
            try:
                simdiki_durum = iphone_baglidmi()
                
                # Cihaz yeni takıldı
                if not onceki_durum and simdiki_durum:
                    print("\n[+] iPhone algılandı!")
                    imei = imei_oku()
                    
                    if imei and imei not in islem_yapildi:
                        print(f"[+] IMEI: {imei}")
                        tarayici_ac_ve_sorgula(imei)
                        islem_yapildi[imei] = True
                    elif not imei:
                        print("[!] IMEI okunamadı - Telefon kilitli olabilir")
                
                # Cihaz çıkarıldı
                elif onceki_durum and not simdiki_durum:
                    print("\n[-] Cihaz çıkarıldı")
                    if driver:
                        driver.quit()
                        driver = None
                
                onceki_durum = simdiki_durum
                time.sleep(0.5)
                
            except KeyboardInterrupt:
                print("\n[*] Program kapatılıyor...")
                calisiyormu = False
                if driver:
                    driver.quit()
                break
            except Exception as e:
                print(f"[X] Beklenmeyen hata: {e}")
                time.sleep(2)
    if __name__ == "__main__":
        try:
            ana_dongu()
        except:
            if driver:
                driver.quit()
            sys.exit(0)
  • 14-11-2025, 08:34:23
    #2
    Eline sağlık, herkese açık paylaşım için de tebrik ve teşekkürler
  • 14-11-2025, 08:39:58
    #3
    Eline sağlık
  • 14-11-2025, 08:50:14
    #4
    👑Sr. Software Specialist
    Paylaşım için teşekkürler hocam, elinize emeğinize sağlık..
  • 14-11-2025, 08:59:42
    #5
    Elinize sağlık hocam
  • 14-11-2025, 09:18:14
    #6
    Çok iyi elinize sağlık.