news 2026/1/9 16:52:03

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/1/5 22:50:01

Rust语言BM算法实现(从零开始掌握Boyer-Moore字符串搜索算法)

在文本处理、搜索引擎、代码编辑器等众多场景中,快速查找子字符串是一项基础而关键的操作。Rust 作为一种内存安全且高性能的系统编程语言,非常适合实现高效的字符串搜索算法。本文将带你从零开始,用 Rust 实现经典的 Boyer-Moore&#xff08…

作者头像 李华
网站建设 2026/1/9 7:03:14

高效计算欧拉函数(Rust语言实现详解)

在数论和密码学中,欧拉函数(Eulers Totient Function)是一个非常重要的概念。它用于计算小于或等于某个正整数 n 的正整数中,与 n 互质的数的个数。本文将带你使用 Rust语言 一步步实现欧拉函数,并深入理解其背后的数学…

作者头像 李华
网站建设 2026/1/5 20:13:08

cms系统JAVA分块上传功能的教程分享

《一个菜鸟程序员的文件上传血泪史》 开篇:来自大三老学长的自白 各位学弟学妹们好!我是一名来自山西某高校的计算机专业"资深"学渣(毕竟挂了3科还没补考),眼瞅着要毕业了,突然发现简历比我的钱…

作者头像 李华
网站建设 2026/1/3 23:24:42

基于Spark的南昌房价数据分析系统的设计与实现_45i0b357

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

作者头像 李华