吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1056|回复: 4
上一主题 下一主题
收起左侧

[Web逆向] [原创]Scrape spa14 wasm加密过程分析

[复制链接]
跳转到指定楼层
楼主
ZenoMiao 发表于 2025-6-10 17:34 回帖奖励
本次分析网站为aHR0cHM6Ly9zcGExNC5zY3JhcGUuY2VudGVyL3BhZ2UvMw==

已知本网站加密为wasm实现的


直接打开网站, 然后F12抓包看看哪个是加密参数!!!!  很明显就是sign了


知道sign是加密参数后  直接全局搜sign: 定位加密位置(如果搜sign不行那就加个冒号 再不行加等号, 此方法在普通网站中挺好用, 但是在一些故意隐藏变量名的就不好使了)


找到了加密地点后 发现两个参数n, e. n参数明显是当前页码 - 1 * 10. 10为固定数
e参数是用wasm加密的, 分别传入了n参数和一个10位数的向上取整的时间戳, 他的源代码为
[JavaScript] 纯文本查看 复制代码
parseInt(Math.round((new Date).getTime() / 1e3).toString())

其实改成这个也一样
[JavaScript] 纯文本查看 复制代码
Math.round((new Date).getTime() / 1e3).toString()


好了分析完了(毕竟wasm代码我也看不懂, 直接调用就算了) 直接开撸
首先先构建n参数
[Python] 纯文本查看 复制代码
n = (i - 1) * 10


然后导入python的wasmer包, 顺便构建instance实例
[Python] 纯文本查看 复制代码
from wasmer import Instance, Store, engine, Module
from wasmer_compiler_cranelift import Compiler

store = Store(engine.JIT(Compiler))
module = Module(store, open('spa14.wasm', 'rb').read())
instance = Instance(module)


然后通过刚才构建的wasm实例来进行参数加密
[Python] 纯文本查看 复制代码
sign = instance.exports.encrypt(n, math.ceil(time.time()))


打完收工! 核心代码都在上面了 , 完整的代码就不贴了, 提高自己动手能力嘛

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wanfon + 1 + 1 热心回复!
xiaoqiang3544 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
xjtpolice 发表于 2025-6-10 17:59
膜拜大佬,学习了
3#
大白baymax 发表于 2025-6-10 18:25
4#
 楼主| ZenoMiao 发表于 2025-6-10 20:32 |楼主
5#
rongedsion 发表于 2025-6-12 08:10
膜拜大佬,学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-6-15 12:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表