24
24
25
25
26
26
class api :
27
- name = ownerid = secret = ""
27
+ name = ownerid = secret = version = ""
28
28
29
- def __init__ (self , name , ownerid , secret ):
29
+ def __init__ (self , name , ownerid , secret , version ):
30
30
self .name = name
31
31
32
32
self .ownerid = ownerid
33
33
34
34
self .secret = secret
35
+
36
+ self .version = version
35
37
36
38
session_id = session_iv = ""
37
39
@@ -42,6 +44,7 @@ def init(self):
42
44
43
45
post_data = {
44
46
"type" : binascii .hexlify (("init" ).encode ()),
47
+ "ver" : encryption .encrypt (self .version , self .secret , init_iv ),
45
48
"name" : binascii .hexlify (self .name .encode ()),
46
49
"ownerid" : binascii .hexlify (self .ownerid .encode ()),
47
50
"init_iv" : init_iv
@@ -60,8 +63,65 @@ def init(self):
60
63
if not json ["success" ]:
61
64
print (json ["message" ])
62
65
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
+ }
63
111
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 ):
65
125
if hwid is None : hwid = others .get_hwid ()
66
126
67
127
self .session_iv = str (uuid4 ())[:8 ]
@@ -70,6 +130,35 @@ def login(self, key, hwid=None):
70
130
71
131
post_data = {
72
132
"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 ()),
73
162
"key" : encryption .encrypt (key , self .secret , init_iv ),
74
163
"hwid" : encryption .encrypt (hwid , self .secret , init_iv ),
75
164
"name" : binascii .hexlify (self .name .encode ()),
@@ -85,6 +174,7 @@ def login(self, key, hwid=None):
85
174
86
175
if json ["success" ]:
87
176
self .__load_user_data (json ["info" ])
177
+ print ("successfully logged into license" )
88
178
else :
89
179
print (json ["message" ])
90
180
if os .path .exists (KEYSAVE_PATH ):
@@ -96,7 +186,7 @@ def __do_request(self, post_data):
96
186
headers = {"User-Agent" : "KeyAuth" }
97
187
98
188
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"
100
190
)
101
191
102
192
return rq_out .text
0 commit comments