forked from katboi01/JapariBypass
Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
|
39f7539621 |
15
dmmBypass.py
15
dmmBypass.py
|
@ -1,6 +1,7 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import wmi
|
import wmi
|
||||||
|
import json
|
||||||
import hashlib
|
import hashlib
|
||||||
import requests
|
import requests
|
||||||
import dmmUpdater
|
import dmmUpdater
|
||||||
|
@ -10,6 +11,12 @@ from uuid import getnode
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from pypasser import reCaptchaV3
|
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):
|
def get_hash(data):
|
||||||
sha_obj = hashlib.sha256()
|
sha_obj = hashlib.sha256()
|
||||||
sha_obj.update(str(data).encode())
|
sha_obj.update(str(data).encode())
|
||||||
|
@ -27,7 +34,9 @@ def retrieve_login_token(session : requests.Session):
|
||||||
try:
|
try:
|
||||||
print("Retrieving login form")
|
print("Retrieving login form")
|
||||||
url = "https://accounts.dmm.com/service/login/password"
|
url = "https://accounts.dmm.com/service/login/password"
|
||||||
|
print_request(url, "", dict(session.headers), session.cookies.get_dict())
|
||||||
result = session.get(url)
|
result = session.get(url)
|
||||||
|
print(result.status_code, result.text)
|
||||||
result.raise_for_status()
|
result.raise_for_status()
|
||||||
page = BeautifulSoup(result.content, 'html.parser')
|
page = BeautifulSoup(result.content, 'html.parser')
|
||||||
token = page.find('input', attrs={"name":"token"}).get("value")
|
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"
|
url = "https://accounts.dmm.com/service/login/password/authenticate"
|
||||||
data = f"token={token}&login_id={login}&password={password}&prompt=&device=games-player&recaptchaToken={captcha}"
|
data = f"token={token}&login_id={login}&password={password}&prompt=&device=games-player&recaptchaToken={captcha}"
|
||||||
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
||||||
|
print_request(url, data, headers, session.cookies.get_dict())
|
||||||
result = session.post(url, data, headers=headers)
|
result = session.post(url, data, headers=headers)
|
||||||
|
print(result.status_code, result.text)
|
||||||
result.raise_for_status()
|
result.raise_for_status()
|
||||||
cookies = result.cookies.get_dict()
|
cookies = result.cookies.get_dict()
|
||||||
return cookies["login_secure_id"], cookies["login_session_id"]
|
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"}
|
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}
|
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"
|
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)
|
result = requests.post(url, cookies=cookies, headers=headers, json=data)
|
||||||
|
print(result.status_code, result.text)
|
||||||
result.raise_for_status()
|
result.raise_for_status()
|
||||||
data = result.json()["data"]
|
data = result.json()["data"]
|
||||||
game_version = data["latest_version"]
|
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"}
|
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}
|
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"
|
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)
|
result = requests.post(url, cookies=cookies, headers=headers, json=data)
|
||||||
|
print(result.status_code, result.text)
|
||||||
result.raise_for_status()
|
result.raise_for_status()
|
||||||
data = result.json()["data"]
|
data = result.json()["data"]
|
||||||
return data["execute_args"]
|
return data["execute_args"]
|
||||||
|
|
Loading…
Reference in New Issue