JS逆向-某头条jsvmp解法

前言

该文章为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系作者删除~

需求

目标网站
aHR0cHM6Ly93d3cudG91dGlhby5jb20v

步骤

正文

全局搜_signature:就可以定位到加密位置

在这里插入图片描述
_signature = n
n = I(F.getUri(e), e)

进入I方法可以看到:
在这里插入图片描述

(null === (n = window.byted_acrawler) || void 0 === n || null === (a = n.sign) || void 0 === a ? void 0 : a.call(n, o)) || “”

改写一下,即:

window.byted_acrawler.sign(o) 就是我们的_signature参数

o是我们的请求地址url

我们进入这个方法内部,会跳到另外一个JS文件,我们在头部可以看到有明显的jsvmp的标记

鉴于js的第一句判断了window是否=undefined,如果=undefined则glb=global(node环境global是全局变量),否则glb=window(浏览器window是全局变量),所以我们先补个window象(有两种方法,①本地js先用sdom补充一个window,②window=global),本次采用window=global的方法;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把整个代码复制下来并且调用下方法,会报
Cannot read properties of undefined (reading ‘referrer’)
把对应环境补上
在这里插入图片描述

第二次运行报错如下,缺少sign这个函数

js文件检测了是否是node环境,如exports只在node环境下存在,但是浏览器是undefined,所以我们直接把"undefined" != typeof exports ? exports : void 0 替换成浏览器输出的结果undefined

第三次报错需要补充 href

location = {}
location.href = ‘https://www.toutiao.com/’

在这里插入图片描述
把这些环境补齐就可以执行了

最后

欢迎联系作者交流更多

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值