
一个小说网站文字内容加密,不用说,肯定也是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 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!