moved config from .bat to .py

This commit is contained in:
katboi01 2025-01-25 00:55:47 +01:00
parent 358657c3d8
commit 1a6e96ee47
3 changed files with 41 additions and 89 deletions

View File

@ -1,12 +1,40 @@
import os
import sys
import wmi
import json
import hashlib
import argparse
import requests
import dmmUpdater
import subprocess
import urllib.parse
from uuid import getnode
parser = argparse.ArgumentParser(description='DMM bypass script')
parser.add_argument('-g', '--game', type=str, help="DMM code name of the game", default="kfp2g")
parser.add_argument('-u', '--update', help="Check for game update before launching", action='store_true')
args = parser.parse_args()
config_name = args.game + '.cfg'
if not os.path.exists(config_name):
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"])
config = {
"game_id" : args.game,
"file_path" : input('Enter full file path to KF3 .exe: ').strip('\"'),
"dmm_login" : input('DMM Login (email): '),
"dmm_password" : input('DMM Password: '),
"use_proxy" : input('Your login tokens will be sent through my VPN machine.\nIs that okay? (yes/no): ').lower() == "yes"
}
with open(config_name, 'wt', encoding="utf-8") as f:
json.dump(config, f, indent=1, ensure_ascii=False)
else:
with open(config_name, "rt", encoding="utf-8") as f:
config = json.load(f)
print(f'Loaded settings from {config_name}')
config["update_game"] = args.update
import wmi
import dmmUpdater
from bs4 import BeautifulSoup
from pypasser import reCaptchaV3
@ -88,24 +116,13 @@ def retrieve_launch_params(game_id, mac_addr, hdd_serial, motherboard, login_sec
except Exception as e:
print("Failed to retrieve launch arguments:", e)
def main(args):
if len(args) != 7:
print("Usage:",
"\tpython dmmBypass.py game_id game_path email password update_game use_proxy",
"\t- game_id: DMM code name of the game",
"\t- game_path: full path to the game .exe. Wrap in \" if there are spaces in the path",
"\t- email, password: dmm credentials",
"\t- update_game: \"true\" to check for game update before launching",
"\t- use_proxy: \"true\" to send required request through Katboi VPN. Otherwise use your own VPN",
"\texample: python dmmBypass.py kfp2g \"D:\Games\KFP2G\けもフレ3.exe\" kat@email.com abc123 true", sep="\n")
return
game_id = args[1]
exe_location = args[2]
login = urllib.parse.quote_plus(args[3])
password = urllib.parse.quote_plus(args[4])
update_game = args[5].lower() == "true"
use_proxy = args[6].lower() == "true"
def main(config):
game_id = config["game_id"]
exe_location = config["file_path"]
login = urllib.parse.quote_plus(config["dmm_login"])
password = urllib.parse.quote_plus(config["dmm_password"])
update_game = config["update_game"] if "update_game" in config else False
use_proxy = config["use_proxy"] if "use_proxy" in config else False
mac_addr = get_mac()
hdd_serial = get_hash('')
motherboard = get_hash(get_motherboard())
@ -139,7 +156,6 @@ def main(args):
args = [exe_location] + execute_args.split()
print(args)
subprocess.Popen(args, start_new_session=True)
input("Done. Press enter to exit")
input("Done. Press enter to exit (this will close the game)")
args = sys.argv
main(args)
main(config)

View File

@ -1,35 +1,3 @@
@echo off
chcp 65001
setlocal enabledelayedexpansion
set file_name="kfp2g.cfg"
IF NOT EXIST %file_name% (
set /p null="Make sure python is installed. In next step, required packages will be installed. Press Enter to continue"
pip install -r requirements.txt
set /p file_path=Enter full file path to KF3 .exe:
set /p dmm_login=DMM Login:
set /p dmm_password=DMM Password:
set /p confirm="Your login tokens will be sent through Katboi's VPN machine, is that ok? Personal VPN is required if not (yes/no):"
if /i "!confirm!"=="yes" (
set use_proxy=true
) else (
set use_proxy=false
)
echo !file_path!> %file_name%
echo !dmm_login!>> %file_name%
echo !dmm_password!>> %file_name%
echo !use_proxy!>> %file_name%
) ELSE (
< %file_name% (
set /p file_path=
set /p dmm_login=
set /p dmm_password=
set /p use_proxy=
)
echo Loaded settings from %file_name%
)
python dmmBypass.py kfp2g %file_path% %dmm_login% %dmm_password% false %use_proxy%
python dmmBypass.py -g kfp2g
pause

View File

@ -1,35 +1,3 @@
@echo off
chcp 65001
setlocal enabledelayedexpansion
set file_name="kfp2g.cfg"
IF NOT EXIST %file_name% (
set /p null="Make sure python is installed. In next step, required packages will be installed. Press Enter to continue"
pip install -r requirements.txt
set /p file_path=Enter full file path to KF3 .exe:
set /p dmm_login=DMM Login:
set /p dmm_password=DMM Password:
set /p confirm="Your login tokens will be sent through Katboi's VPN machine, is that ok? Personal VPN is required if not (yes/no):"
if /i "!confirm!"=="yes" (
set use_proxy=true
) else (
set use_proxy=false
)
echo !file_path!> %file_name%
echo !dmm_login!>> %file_name%
echo !dmm_password!>> %file_name%
echo !use_proxy!>> %file_name%
) ELSE (
< %file_name% (
set /p file_path=
set /p dmm_login=
set /p dmm_password=
set /p use_proxy=
)
echo Loaded settings from %file_name%
)
python dmmBypass.py kfp2g %file_path% %dmm_login% %dmm_password% true %use_proxy%
python dmmBypass.py -g kfp2g -u
pause