Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
|
39f7539621 |
15
dmmBypass.py
15
dmmBypass.py
|
@ -1,6 +1,7 @@
|
|||
import os
|
||||
import sys
|
||||
import wmi
|
||||
import json
|
||||
import hashlib
|
||||
import requests
|
||||
import dmmUpdater
|
||||
|
@ -10,6 +11,12 @@ from uuid import getnode
|
|||
from bs4 import BeautifulSoup
|
||||
from pypasser import reCaptchaV3
|
||||
|
||||
def print_request(url, data : str, headers, cookies_dict):
|
||||
print("Sending to", url)
|
||||
vars = {"headers":headers, "cookies":cookies_dict, "data":data}
|
||||
print(json.dumps(vars, ensure_ascii=False, indent=1))
|
||||
pass
|
||||
|
||||
def get_hash(data):
|
||||
sha_obj = hashlib.sha256()
|
||||
sha_obj.update(str(data).encode())
|
||||
|
@ -27,7 +34,9 @@ def retrieve_login_token(session : requests.Session):
|
|||
try:
|
||||
print("Retrieving login form")
|
||||
url = "https://accounts.dmm.com/service/login/password"
|
||||
print_request(url, "", dict(session.headers), session.cookies.get_dict())
|
||||
result = session.get(url)
|
||||
print(result.status_code, result.text)
|
||||
result.raise_for_status()
|
||||
page = BeautifulSoup(result.content, 'html.parser')
|
||||
token = page.find('input', attrs={"name":"token"}).get("value")
|
||||
|
@ -48,7 +57,9 @@ def retrieve_auth_keys(login, password, token, captcha, session : requests.Sessi
|
|||
url = "https://accounts.dmm.com/service/login/password/authenticate"
|
||||
data = f"token={token}&login_id={login}&password={password}&prompt=&device=games-player&recaptchaToken={captcha}"
|
||||
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
||||
print_request(url, data, headers, session.cookies.get_dict())
|
||||
result = session.post(url, data, headers=headers)
|
||||
print(result.status_code, result.text)
|
||||
result.raise_for_status()
|
||||
cookies = result.cookies.get_dict()
|
||||
return cookies["login_secure_id"], cookies["login_session_id"]
|
||||
|
@ -62,7 +73,9 @@ def retrieve_update_params(game_id, login_secure, login_session, use_proxy):
|
|||
headers = {"User-Agent": "DMMGamePlayer5-Win/5.3.12 Electron/32.1.0", "Client-App": "DMMGamePlayer5", "Client-version": "5.3.12", "Content-Type": "application/json"}
|
||||
cookies = {"login_secure_id":login_secure, "login_session_id":login_session}
|
||||
url = "https://katworks.sytes.net/KF/Api/DMM/filelist" if use_proxy else "https://apidgp-gameplayer.games.dmm.com/v5/r2/filelist/cl"
|
||||
print_request(url, data, headers, cookies)
|
||||
result = requests.post(url, cookies=cookies, headers=headers, json=data)
|
||||
print(result.status_code, result.text)
|
||||
result.raise_for_status()
|
||||
data = result.json()["data"]
|
||||
game_version = data["latest_version"]
|
||||
|
@ -81,7 +94,9 @@ def retrieve_launch_params(game_id, mac_addr, hdd_serial, motherboard, login_sec
|
|||
headers = {"User-Agent": "DMMGamePlayer5-Win/5.3.12 Electron/32.1.0", "Client-App": "DMMGamePlayer5", "Client-version": "5.3.12", "Content-Type": "application/json"}
|
||||
cookies = {"login_secure_id":login_secure, "login_session_id":login_session}
|
||||
url = "https://katworks.sytes.net/KF/Api/DMM/launch" if use_proxy else "https://apidgp-gameplayer.games.dmm.com/v5/r2/launch/cl"
|
||||
print_request(url, data, headers, cookies)
|
||||
result = requests.post(url, cookies=cookies, headers=headers, json=data)
|
||||
print(result.status_code, result.text)
|
||||
result.raise_for_status()
|
||||
data = result.json()["data"]
|
||||
return data["execute_args"]
|
||||
|
|
Loading…
Reference in New Issue