起因
我想按照 MitmProxy API 写个加密的中转转发脚本。却无奈发现无法载入其他包。

环境
mitmproxy version : 4.0.4
system: windows10
代码
import base64
import mitmproxy.http
import pyDes
import random
# 加密
def encrypt_str(key,data):
# 加密方法
method = pyDes.des(key, pyDes.ECB,pad=None, padmode=pyDes.PAD_PKCS5)
# 执行加密码
k = method.encrypt(data)
# 转 base64 编码并返回
return base64.b64encode(k)
# 解密
def decrypt_str(key,data):
method = pyDes.des(key, pyDes.ECB,pad=None, padmode=pyDes.PAD_PKCS5)
# 对 base64 编码解码
k = base64.b64decode(data)
# 再执行 Des 解密并返回
return method.decrypt(k)
class Counter:
def __init__(self):
pass
def request(self, flow: mitmproxy.http.HTTPFlow):
key = str(random.randint(10000000,99999999))
flow.request.headers['key'] = key
#print(key)
#print(encrypt_str(key.encode(encoding="utf-8"),flow.request.content))
def response(self,flow: mitmproxy.http.HTTPFlow):
key = flow.response.headers['key']
# print(key)
# print(decrypt_str(key.encode(encoding="utf-8"),flow.response.content))
addons = [
Counter()
]
备注
- 确定该模块已经正确安装在 python3 中。
- 一些系统自带的包却没有问题。列如 base64,json 等