某网站请求数据与返回数据JS逆向解密,这种类型的加密比较少见,难度倒是不高,适合练手。
视频教程地址:
https://www.bilibili.com/video/BV1Sv4y1g7gB/
视频相关代码:
# -*- coding: utf-8 -*-
# @Author: Null119 微信公众号/网站:治廷君
# @Desc: { 有鱼 }
# @Date: { 2022/6/19 }
import requests,base64,urllib3
from Crypto.Cipher import AES
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def pad_byte(b):
bytes_num_to_pad = 16 - (len(b) % 16)
byte_to_pad = bytes([bytes_num_to_pad])
padding = byte_to_pad * bytes_num_to_pad
padded = b + padding
return padded
def aesEcbEncode(data, key):
padded = pad_byte(data.encode('utf-8'))
key = bytes(key, encoding='utf-8')
naes = AES.new(key, AES.MODE_ECB)
en_text = naes.encrypt(padded)
return base64.b64encode(en_text).decode()
def aesEcbDecode(data,key):
decrpytBytes = base64.b64decode(data)
key = bytes(key, encoding='utf-8')
naes = AES.new(key, AES.MODE_ECB)
return naes.decrypt(decrpytBytes).decode('utf-8')
def getLoginCode(phone):
url='https://sdk.youyu.art/login/verifyCode/send'
headers={
"Accept":"application/json, text/plain, */*",
"Gray-Version":"false",
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.44",
"Content-Type":"application/json",
"Origin":"https://h5sdkcdn.youyu.art",
"Referer":"https://h5sdkcdn.youyu.art/"
}
pdata='{"smsType":"LOGIN","mobile":"'+phone+'","aes":1,"common":{"packageName":"com.tencent.tmgp.xyjjzy"}}'
print(f'formdata: {pdata}')
endata=aesEcbEncode(pdata,'088c80bf980469c3') # 1:aesEncode
print(f'aesEncode: {endata}')
endata=base64.b64decode(endata.encode("utf-8")) # 2:base64dDecode
print(f'debase64: {endata}')
resp=requests.post(url,data=endata,headers=headers,verify=False)
print(f'response: {resp.content}')
respde=str(base64.b64encode(resp.content), "utf-8") # 1: base64Decode
print(f'base64Encode: {respde}')
print(f'response: {aesEcbDecode(respde,"088c80bf980469c3")}') # 2: aesDecode
if __name__ == '__main__':
getLoginCode('13666666668')
声明:①本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。②本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。③本站为非盈利性站点,VIP功能仅仅作为用户喜欢本站捐赠打赏功能,不开通VIP同样可以通过每日签到免费获取积分下载所有软件资源,本站不贩卖软件,所有内容不作为商业行为。