Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2102字,纯文字阅读大概需要4分钟。
内容图文
今日份的网站
aHR0cDovL3d3dy5kZGt5LmNvbS9jb21tb2RpdHkuaHRtbD9kZGt5Y2FjaGU9YTdiMTllODc5ZDJmMmYyNzlkMzU2ZjVhZmE2ZDVjZmY=
这个网站的加密比较简单,是那种新手做过一遍就对 JS 逆向充满信心的小练手。
分析请求
先分析请求,看看需要的参数有没什么搞头【图1-1】
图1-1
比较明显的是 sign 其他的参数好像没有什么特别的地方。
先定位 sign 的位置【图1-2】
图1-2
直接搜索参数就看到结果了,点击搜索的结果文件在文件内再搜索一次,可以看到有 3 个结果。【图1-3】
图1-3
到这里就看到 sign 的加密了。
接下来继续分析逻辑,这里的 sign 值是 y,y的值是通过MD5(f)获取的,而f又是t.get("method") + p + r的结果,经过一通分析,可以的得到下面的逻辑:
var l = t.keys().sort(), p = "";
l.length;
for (var g in l) {
var m = l[g];
p += m + t.get(m)
}
sign = md5(t.get("method") + p + r)
接下来只需要把我们不知道的值通过断点的方式调试出来,这个加密我们就完成解密了。
所以先给不知道的值打上断点,不清楚就打上断点不要怕麻烦,像【图1-4】这样。
图1-4
重新请求一下,就进入到我们打的断点里了,我们可以通过在 console 中打印变量的值来理解逻辑。【图1-5】
图1-5
明白需要的变量的值之后,我们就可以开始扣取 JS 或者用 Python 复写加密的逻辑了。
因为这次的加密比较简单,我们试试用 Python 复写一遍加密。(主要是 Python 的 md5 用起来蛮舒服的)
这里的逻辑比较简单没啥好分析的,我就直接上代码了。
import time
from hashlib import md5
def get_sign():
timeStamp = time.time()
localTime = time.localtime(timeStamp)
strTime = time.strftime("%Y-%m-%d %H:%M:%S", localTime)
l = ["method", "orderTypeId", "orgcode", "pageNo", "pageSize", "plat", "platform", "shopId", "t", "v",
"versionName"]
t = {
'method': 'ddsy.product.query.orgcode.product.list.b2c',
'orderTypeId': '0',
'orgcode': '010502,010503,010504,010505,010506,010507',
'pageNo': '1',
'pageSize': '100',
'plat': 'H5',
'platform': 'H5',
'shopId': '-1',
# 't': '2019-9-23 22:4:16',
't': '{}'.format(strTime),
'v': '1.0',
'versionName': '3.2.0'
}
p = ''
for i in range(0, 11):
m = l[i]
p += m + t.get(m)
f = t['method'] + p + '6C57AB91A1308E26B797F4CD382AC79D'
print(f)
sign = md5value(f).upper()
print(sign)
return sign
def md5value(s):
a = md5(s.encode()).hexdigest()
return a
到这里其实就没有什么难度了,直接带入 sign 请求就完事了。
[图1-6]
图1-6
EOF
内容总结
以上是互联网集市为您收集整理的Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写全部内容,希望文章能够帮你解决Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。