首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >js逆向-猿人学(15-16)wasm-webpack

js逆向-猿人学(15-16)wasm-webpack

作者头像
李玺
发布2021-11-22 13:59:09
发布2021-11-22 13:59:09
7350
举报
文章被收录于专栏:爬虫逆向案例爬虫逆向案例

猿人学爬虫第十五题《备周则意怠-常见则不疑》

地址: http://match.yuanrenxue.com/match/15

逻辑很简单,但是到 instance.exports.encode 的时候搞不动了,发现引入了wasm

代码语言:javascript
复制
fetch('/static/match/match15/main.wasm').then(response =>
        response.arrayBuffer()
    ).then(bytes => WebAssembly.instantiate(bytes)).then(results)

wasm地址:http://match.yuanrenxue.com/static/match/match15/main.wasm

python调用wasm的库: https://www.cnpython.com/pypi/pywasm

instance = results.instance; window.q = instance.exports.encode;

用python生成m:

代码语言:javascript
复制
import math
import random,time
import pywasm

t = int(time.time())
t1 = int(t / 2)
t2 = int(t / 2 - math.floor(random.random() * 50 + 1))
wasm = pywasm.load("main.wasm")
sign = wasm.exec("encode", [t1, t2])
m = f"{sign}|{t1}|{t2}"
猿人学爬虫第十六题《webpack

地址: http://match.yuanrenxue.com/match/16

webpack之前遇到过很多次了,对于打了包的js,调试十分难受。

这个题还是给了我兴趣的,打开控制台就返回首页。

那么就用 XHR 来进行断点。因为访问接口是在跳转事件之前生成的,所以可以拦截并调试。

call stack 往下找 m参数

m = n[e(528)](btoa, p_s),

(btoa, p_s) 时间戳,先不看。

n[e(528)] = function(e, t)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 猿人学爬虫第十五题《备周则意怠-常见则不疑》
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档