本文主要是介绍Python爬虫系列之某信para加密算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python爬虫系列之某信para加密算法
为维护网络绿色健康发展,代码仅供学习交流,请勿用于非法用途,加密部分已省略,如有疑问,请点击这里与我交流
文章目录
- Python爬虫系列之某信para加密算法
- 一、逆向分析
- 二、部分代码
- 三、结果截图
一、逆向分析
随便提交一个请求,发现请求带了一个para加密字段
搜索加密关键词,找到疑似参数点
这个比较简单,没做混淆和打包之类的,分析下来直接找到加密点
看到有两个加密点,名称可见一个是老版本oldutil,一个是新版,表达式可见,调用的前者,进入打上断点
发现核心加密点,剩下的就是简单的抠代码,然后封装,这里直接封装的python的,仅供学习交流,核心算法就不展示了,下面是代码点
二、部分代码
import json
import requests
import execjsjscode = '''
function ensFuc(ens){var dxJS = require("./dx.js");return dxJS.ensFuc(ens)
}
'''jtx = execjs.compile(jscode)def ensFuc(ens):return jtx.call("ensFuc", ens)url = "http://wapjs.189.cn/zt-login/login/getRandomNumberCode"
headers = {"Accept": "text/plain, */*; q=0.01","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8","Cache-Control": "no-cache","Connection": "keep-alive","Content-Length": "2565","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","Cookie": "","Host": "wapjs.189.cn","Origin": "http://wapjs.189.cn","Pragma": "no-cache","Referer": "http://wapjs.189.cn/tysh/pages/passwordServices/index.html?ztInterSource=100003&platform=wap&callback=608930","User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1","X-Requested-With": "XMLHttpRequest"
}
ens = "accNbr=**********;PathCode=login-00008;;PathCode=login-00008;actionCode=jsztActionCode_logingetRandomNumberCode;channelCode_common=100003;pubAreaCode=025;pushUserId=jszt_230206;coachUser=;userLogAccNbrType=;userLogAccNbr=;userTokenAccNbrType=2;ztVersion=4.0;ztInterSource=100003;pubToken=undefined;";
para = ensFuc(ens)
data = {"para": para}
print("---------- wapjs.189.cn para加密 ----------")
print("明文:" + ens)
print("密文:" + para)
res = requests.post(url, headers=headers, data=data)
print("响应状态:" + str(res.status_code))
print("响应内容:" + str(res.json()))
代码部分仅供参考,为维护网络绿色环境,就不提供具体算法源码了。
三、结果截图
python封装执行运行正常
这篇关于Python爬虫系列之某信para加密算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!