Skip to content

Commit 2582c79

Browse files
committed
update to py3 version by ttimasdf
ref ttimasdf@fa1855d Signed-off-by: likaci <likaci@qq.com>
1 parent ab3e0bf commit 2582c79

File tree

1 file changed

+20
-24
lines changed

1 file changed

+20
-24
lines changed

mipcc.py

+20-24
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#!/usr/bin/python
1+
#!/usr/bin/env python
22
# -*- coding: UTF-8 -*-
33

44
import base64
55
import json
66
import sys
7-
from urllib import unquote
7+
from urllib.parse import unquote
88

99
import requests
1010
import rsa
@@ -63,11 +63,7 @@ def convert_rsa_key(s):
6363
b_str = base64.b64decode(s)
6464
if len(b_str) < 162:
6565
return False
66-
hex_str = ''
67-
for x in b_str:
68-
h = hex(ord(x))[2:]
69-
h = h.rjust(2, '0')
70-
hex_str += h
66+
hex_str = b_str.hex()
7167
m_start = 29 * 2
7268
e_start = 159 * 2
7369
m_len = 128 * 2
@@ -82,50 +78,50 @@ def rsa_encrypt(string, pubkey):
8278
modulus = int(key[0], 16)
8379
exponent = int(key[1], 16)
8480
rsa_pubkey = rsa.PublicKey(modulus, exponent)
85-
crypto = rsa.encrypt(string, rsa_pubkey)
81+
crypto = rsa.encrypt(string.encode(), rsa_pubkey)
8682
return base64.b64encode(crypto)
8783

8884

8985
def get_stok(url, username, password):
9086
# get key nonce
91-
print "-get rsa and nonce"
87+
print("-get rsa and nonce")
9288
j = post_data(url, json.dumps({"method": "do", "login": {}}))
9389
key = unquote(j['data']['key'])
9490
nonce = str(j['data']['nonce'])
95-
print "rsa: " + key
96-
print "nonce: " + nonce
91+
print("rsa: ", key)
92+
print("nonce: ", nonce)
9793

9894
# encrypt tp
99-
print "--encrypt password by tp"
95+
print("--encrypt password by tp")
10096
tp_password = tp_encrypt(password)
10197
tp_password += ":" + nonce
102-
print "tp_password: " + tp_password
98+
print("tp_password: ", tp_password)
10399

104100
# rsa password
105-
print "--encrypt password by rsa"
101+
print("--encrypt password by rsa")
106102
rsa_password = rsa_encrypt(tp_password, key)
107-
print "rsa_password: " + rsa_password
103+
print("rsa_password: ", rsa_password)
108104

109105
# login
110106
d = {
111107
"method": "do",
112108
"login": {
113109
"username": username,
114110
"encrypt_type": "2",
115-
"password": rsa_password
111+
"password": rsa_password.decode()
116112
}
117113
}
118-
print "--login"
114+
print("--login")
119115
j = post_data(url, json.dumps(d))
120116
stok = j["stok"]
121117
return stok
122118

123119

124120
def post_data(base_url, data, stok=""):
125121
url = base_url + (("/stok=" + stok + "/ds") if stok else "")
126-
print "post: " + url + " data: " + data
122+
print("post: ", url, " data: ", data)
127123
r = requests.post(url, data)
128-
print "response: " + str(r.status_code) + " " + str(r.json())
124+
print("response: ", str(r.status_code), " ", str(r.json()))
129125
return r.json()
130126

131127

@@ -134,8 +130,8 @@ def post_data(base_url, data, stok=""):
134130
password = str(sys.argv[2])
135131
base_url = str(sys.argv[3])
136132
data = str(sys.argv[4])
137-
print "username: " + username
138-
print "password: " + password
139-
print "base_url: " + base_url
140-
print "data: " + data
141-
post_data(base_url, data, get_stok(base_url, username, password))
133+
print("username: ", username)
134+
print("password: ", password)
135+
print("base_url: ", base_url)
136+
print("data: ", data)
137+
post_data(base_url, data, get_stok(base_url, username, password))

0 commit comments

Comments
 (0)