一个小说网站文字内容加密,不用说,肯定也是js加密,加密特征也比较明显,尤其是适合新人学习js加密逆向分析数据和内容,算是比较简单,只需要扣取代码,直接用获取的加密参数运行即可获取数据内容。
网址:
aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0
特征:
ChapterContent 字段加密数据
网页中无正文内容,该内容由js文件加密生成,需解密逆向获取!
2.获取加密特征,关键字
加密特征还是比较好找的
3.搜索关键字 ChapterContent
很明显在第二个结果,js文件中
4.打开查看,继续搜索关键字 ChapterContent
5.打开至面板断点调试
6.可以看到正文文本内容已经生成成功了
7.查看代码,分析加密函数
8.不放心的话,可以继续打断点验证
9.可以看到加密过程
10.抠出代码,本地js文件调试
本地运行效果:
使用Python 调用js 文件获取数据效果:
def get_data():
url = "https://c13.shuqireader.com/pcapi/chapter/contentfree/?"
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
}
#bid=6813923&cid=674176 c0620af99d56f4c831be13ca48a797e9
params={
"bookId": 6813923,
# "chapterId": 674174,
"chapterId": 674176,
"ut": 1472714703,
"num": 1,
"ver": 1,
"aut": 1703482389,
# "sign": "2beaa574d3d8109b797e42126e5d19b6"
"sign": "c0620af99d56f4c831be13ca48a797e9"
}
response=requests.get(url=url,headers=headers,params=params,timeout=6)
encrypted_data=response.json()['ChapterContent']
print(encrypted_data)
with open("aliwx.js",'r',encoding="utf-8") as f:
al=f.read()
data=execjs.compile(al).call('s',encrypted_data)
print(data)
return data
还是一个同样的报错,“gbk”字符编码报错
解决方案:
import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding='utf-8')
# import execjs导入之前执行 修改encoding
声明
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系立即删除!
参考来源:
Python爬虫进阶必备 | XX文学加密分析实例-咸鱼学Python
https://mp.weixin.qq.com/s/LorUKbrS2gZigiMiJq6zEg
·················END·················
本文分享自 Python与SEO学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!