【JS逆向】某旗网加密数据生成JS加密逆向分析探索!

一个小说网站文字内容加密,不用说,肯定也是js加密,加密特征也比较明显,尤其是适合新人学习js加密逆向分析数据和内容,算是比较简单,只需要扣取代码,直接用获取的加密参数运行即可获取数据内容。

网址:

aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0

特征:

ChapterContent 字段加密数据

978305cf128c9bdcea30ce1c3c638c25.png

网页中无正文内容,该内容由js文件加密生成,需解密逆向获取!

5d9a63694a27e637ce59e233534125df.png

5d0c906ff89ca11de790d91aed3e7108.png

  1. 打开页面,查找加密特征

5dac7dfefb6533ef377130bc93b5cc29.png

2.获取加密特征,关键字

3fedfda7b58d6cfdfff1f63d71bc2f27.png

加密特征还是比较好找的

3.搜索关键字 ChapterContent

1d567c7509df64692ff60fb5fb251940.png

很明显在第二个结果,js文件中

4.打开查看,继续搜索关键字 ChapterContent

4583ebc53640c7e9af51a25d3629f28d.png

5.打开至面板断点调试

551ad3754bc1a5ecafb4dabbeedca12c.png

6.可以看到正文文本内容已经生成成功了

6ee419ba7f585e6751d2f9946f46e761.png

7.查看代码,分析加密函数

682f1df203ec420d8d99bf9c3147bbbb.png

8.不放心的话,可以继续打断点验证

a0c02d1524f4c59d93293514ecd96548.png

9.可以看到加密过程

2d74d413c618b0649e10a579a137de29.png

10.抠出代码,本地js文件调试

本地运行效果:

c4222194b8b28b46fcf9a101669c8018.png

使用Python 调用js 文件获取数据效果:

5e7ec1cba6264fddbf4666c2e27fed7f.png

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”字符编码报错

9e8f9429842105493b3a7faea95332bc.png

解决方案:

import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding='utf-8')
# import execjs导入之前执行  修改encoding

对了,还有一个 sign 签名 ,直接页面源码获取即可!

完整代码获取 

请关注本渣渣公众号

df8cf7072f6db67a7a541a519d0ab174.jpeg

后台回复“某旗”

声明 

本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系立即删除!

参考来源:

Python爬虫进阶必备 | XX文学加密分析实例-咸鱼学Python

https://mp.weixin.qq.com/s/LorUKbrS2gZigiMiJq6zEg

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

180e2c34208a6fa873bb51dcea2706c7.jpeg

4ef9e58560355364e5e215e652d46d72.png

关注我的都变秃了

说错了,都变强了!

不信你试试

31f2270982ec737a7408ea2e25fd8784.jpeg

扫码关注最新动态

公众号ID:eryeji

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值