Skip to content

Commit 410f920

Browse files
author
mak6969
authored
Username & Password support
1 parent abe13bf commit 410f920

File tree

1 file changed

+94
-4
lines changed

1 file changed

+94
-4
lines changed

keyauth.py

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,16 @@
2424

2525

2626
class api:
27-
name = ownerid = secret = ""
27+
name = ownerid = secret = version = ""
2828

29-
def __init__(self, name, ownerid, secret):
29+
def __init__(self, name, ownerid, secret, version):
3030
self.name = name
3131

3232
self.ownerid = ownerid
3333

3434
self.secret = secret
35+
36+
self.version = version
3537

3638
session_id = session_iv = ""
3739

@@ -42,6 +44,7 @@ def init(self):
4244

4345
post_data = {
4446
"type": binascii.hexlify(("init").encode()),
47+
"ver": encryption.encrypt(self.version, self.secret, init_iv),
4548
"name": binascii.hexlify(self.name.encode()),
4649
"ownerid": binascii.hexlify(self.ownerid.encode()),
4750
"init_iv": init_iv
@@ -60,8 +63,65 @@ def init(self):
6063
if not json["success"]:
6164
print(json["message"])
6265
sys.exit()
66+
67+
def register(self, user, password, license, hwid=None):
68+
if hwid is None: hwid = others.get_hwid()
69+
70+
self.session_iv = str(uuid4())[:8]
71+
72+
init_iv = SHA256.new(self.session_iv.encode()).hexdigest()
73+
74+
post_data = {
75+
"type": binascii.hexlify(("register").encode()),
76+
"username": encryption.encrypt(user, self.secret, init_iv),
77+
"pass": encryption.encrypt(password, self.secret, init_iv),
78+
"key": encryption.encrypt(license, self.secret, init_iv),
79+
"hwid": encryption.encrypt(hwid, self.secret, init_iv),
80+
"name": binascii.hexlify(self.name.encode()),
81+
"ownerid": binascii.hexlify(self.ownerid.encode()),
82+
"init_iv": init_iv
83+
}
84+
85+
response = self.__do_request(post_data)
86+
87+
response = encryption.decrypt(response, self.secret, init_iv)
88+
89+
json = jsond.loads(response)
90+
91+
if json["success"]:
92+
print("successfully registered")
93+
else:
94+
print(json["message"])
95+
sys.exit()
96+
97+
def upgrade(self, user, license):
98+
99+
self.session_iv = str(uuid4())[:8]
100+
101+
init_iv = SHA256.new(self.session_iv.encode()).hexdigest()
102+
103+
post_data = {
104+
"type": binascii.hexlify(("upgrade").encode()),
105+
"username": encryption.encrypt(user, self.secret, init_iv),
106+
"key": encryption.encrypt(license, self.secret, init_iv),
107+
"name": binascii.hexlify(self.name.encode()),
108+
"ownerid": binascii.hexlify(self.ownerid.encode()),
109+
"init_iv": init_iv
110+
}
63111

64-
def login(self, key, hwid=None):
112+
response = self.__do_request(post_data)
113+
114+
response = encryption.decrypt(response, self.secret, init_iv)
115+
116+
json = jsond.loads(response)
117+
118+
if json["success"]:
119+
print("successfully upgraded user")
120+
else:
121+
print(json["message"])
122+
sys.exit()
123+
124+
def login(self, user, password, hwid=None):
65125
if hwid is None: hwid = others.get_hwid()
66126

67127
self.session_iv = str(uuid4())[:8]
@@ -70,6 +130,35 @@ def login(self, key, hwid=None):
70130

71131
post_data = {
72132
"type": binascii.hexlify(("login").encode()),
133+
"username": encryption.encrypt(user, self.secret, init_iv),
134+
"pass": encryption.encrypt(password, self.secret, init_iv),
135+
"hwid": encryption.encrypt(hwid, self.secret, init_iv),
136+
"name": binascii.hexlify(self.name.encode()),
137+
"ownerid": binascii.hexlify(self.ownerid.encode()),
138+
"init_iv": init_iv
139+
}
140+
141+
response = self.__do_request(post_data)
142+
143+
response = encryption.decrypt(response, self.secret, init_iv)
144+
145+
json = jsond.loads(response)
146+
147+
if json["success"]:
148+
print("successfully logged in")
149+
else:
150+
print(json["message"])
151+
sys.exit()
152+
153+
def license(self, key, hwid=None):
154+
if hwid is None: hwid = others.get_hwid()
155+
156+
self.session_iv = str(uuid4())[:8]
157+
158+
init_iv = SHA256.new(self.session_iv.encode()).hexdigest()
159+
160+
post_data = {
161+
"type": binascii.hexlify(("license").encode()),
73162
"key": encryption.encrypt(key, self.secret, init_iv),
74163
"hwid": encryption.encrypt(hwid, self.secret, init_iv),
75164
"name": binascii.hexlify(self.name.encode()),
@@ -85,6 +174,7 @@ def login(self, key, hwid=None):
85174

86175
if json["success"]:
87176
self.__load_user_data(json["info"])
177+
print("successfully logged into license")
88178
else:
89179
print(json["message"])
90180
if os.path.exists(KEYSAVE_PATH):
@@ -96,7 +186,7 @@ def __do_request(self, post_data):
96186
headers = {"User-Agent": "KeyAuth"}
97187

98188
rq_out = requests.post(
99-
"https://keyauth.com/api/v2/", data=post_data, headers=headers, verify="keyauth.pem"
189+
"https://keyauth.com/api/v7/", data=post_data, headers=headers, verify="keyauth.pem"
100190
)
101191

102192
return rq_out.text

0 commit comments

Comments
 (0)