news 2026/6/15 13:28:57

26-WASM介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
26-WASM介绍

WASM是一种低级的编程语言,旨在提高网页运行效率,现在作为反爬手段,它的代码偏底层,我们不学代码的语法,只用学怎么补这种代码即可

网页加载过程

1.创建Wasm模块

  • 用C/C++、Rust等语言编写代码,并编译成Wasm文件

2.加载Wasm模块

  • 使用JavaScript的fetchAPI获取WASM文件,并用WebAssembly.instantiate或WebAssebly.instantiateStreaming进行加载

3.调用WASM导出函数

  • 通过实例化WASM模块,可调用导出的函数并于JavaScript进行交互

Fetch模块

简洁版ajax,代码如下:

fetch('https://...').then(response=>response.json()).then(data=>console,log(data)).catch(error=>console.error('Error:',error));

默认不带cookie,需要手动配置

WebAssebly模块

webassebly.instantiate使用:

WebAssebly.instantiate(bytes,importObject)

代码运行后返回的是一个异步,然后通过instance.exports获取模块,根据加密逻辑再调用模块即可,代码如下:

WebAessbly.instantiate(读取的WASM文件内容,{WASM文件运行所需的参数}).then(res=>{console.log(res.instance.exports.加密逻辑所需函数(需要加密的参数);})

读取WASM所需的模块

fs模块可以读取WASM文件,代码如下:

varfs=require('fs')varwasm_code=fs.readFileSync('文件地址')// 调用wasm中的函数进行加密WebAessbly.instantiate(wasm_code,{...}

小结

本文看完可能会有些蒙,下一文进行实操,你会发现代码就这么简单,本文如有什么问题发出来交流讨论,加油加油

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:05:04

域名交易为什么一定要看WHOIS历史?

在域名交易中,很多新手只关注域名是否好记、价格是否合适,却忽略了一个极其关键的信息——WHOIS历史。实际上,一个域名过去经历过什么,往往直接决定了它值不值得买、能不能安全使用。一、什么是WHOIS历史?WHOIS历史&am…

作者头像 李华
网站建设 2026/6/15 12:19:32

重新定义网络安全:解读2025年必须重视的三大底层逻辑与核心价值

随着互联网的普及和数字化进程的加速,网络安全已经成为我们生活中不可或缺的一部分。然而,很多人对于网络安全的概念仍然模糊不清。 那么,什么是网络安全?它究竟有多重要呢? 一、网络安全的定义 网络安全是指保护网…

作者头像 李华
网站建设 2026/6/15 12:18:52

游学考察:知行合一的沉浸式成长与交流模式

游学考察是一种学游相融、知行合一的特色活动,核心是将理论学习与实地实践深度结合,让参与者在行走中拓视野、长见识,在体验中悟认知、增本领,兼具“游”的体验感与“学”的专业性,是区别于单纯旅游和课堂学习的沉浸式…

作者头像 李华
网站建设 2026/6/14 5:51:09

【AI×实时Linux:极速实战宝典】C++推理 - 基于 LibTorch(PyTorch C++)构建强实时的深度学习推理应用

简介在人工智能和实时系统领域,深度学习模型的推理性能对于系统的实时性和可靠性至关重要。Python 作为深度学习的主要开发语言,虽然提供了丰富的库和工具,但在实时性要求极高的场景中,其性能和内存管理能力可能受到限制。LibTorc…

作者头像 李华