当前位置:网站首页>对补wasm环境的一些测试
对补wasm环境的一些测试
2022-06-29 02:18:00 【黑剑客与剑】
前言
开始对网站wasm加密有研究过一段时间,后来有事,就没继续研究了,最近,没啥事,又来研究一下。
参考文章
https://www.52pojie.cn/thread-1533409-1-1.html
2.https://www.52pojie.cn/thread-1533409-1-1.html
3.https://www.52pojie.cn/home.php?mod=space&uid=730156
对某网站用wasm进行视频加密进行逆向
这种加密,上面参考文章的大佬,渔哥已经完成逆向了,而且有几种方法,逆向算法和补wasm环境和wasm转c。
这里,方法都非常好,但是需要一步一步断点找,找导入函数,导入表等。显得有些麻烦。有没有一种更简单的方法呢。既然wasm在浏览器里面运行了,那他环境肯定就补好了,能不能直接拿过来呢,不用改什么东西,直接用?
开始逆向
1.找到对应js
我们打开这个网站,进入开发者工具,点开视频,他会加载一个wasm文件。我们直接对这个wasm下断。看看是哪个js调用了它。

查看堆栈,找到对应的js,这个就是调用的js。
![]()
可以看到这里,其实是调用了一个wasm里面的get函数,来对视频进行解密。
2.下载js
我们将js下载下来,进行分析。
![]()

看到这里,我们可以发现,一个是webpack打包过来,箭头指的地方很容易发现是个 加载器。我们可以用渔哥的工具webpack自动扣代码脚本。来将wasm加载的函数扣下来。这里我没试,我直接手动把那个函数扣下来了。
3.扣wasm加载的js
这里我们主要找那个分发函数,断点跟一下,看一下关键词Module
这里,我们可以找到,这个14对应的函数,就是我们的要的wasm加载函数。我们就将这个函数扣下来。其他的都可以删掉。

这个函数最后返回的一个Module,就是我们要的函数,现在我们只要导出这个Module,这个导出方法很多,这个就不具体说了。
4.加个延时
module导出之后,我们直接输出console.log(Module.asm.f)会显示
undefined。这样就达不到我们导出的目的了。这个时候,我们要加个延时。setTimeout。这个就可以正常调用导出函数了。这一步非常重要。记得加延时。

这里我们看到,加了0.1秒的延时,就可以正常输出了。(非常的神奇)。接下来我们就可以调用这个f函数进行视频的解密了。这个其中省去了很多步骤,不需要断点找表,找导入的js函数等。直接拿别人补好的环境就行。相对其他方法来说。还是算比较简便的。
最后 学习交流群902854353
边栏推荐
- Which is the best billing method for okcc call center
- [high concurrency, high performance and high availability of massive data MySQL practice-10] - Implementation of mvcc in InnoDB
- chrome浏览器关闭更新弹窗
- Smart world 2030
- [redis] sortedset type
- 大智慧手机股票开户哪个券商更安全更方便?
- 110. 简易聊天室13:聊天室服务端
- 字符串替换
- [從零開始學習FPGA編程-49]:視野篇 - 芯片是如何被設計出來的?
- I have summarized some experiences from the whole process of R & D platform splitting
猜你喜欢

Use code binding DataGridView control to display tables in program interface

What is the dry goods microservice architecture? What are the advantages and disadvantages?

The 10 most commonly used gadgets for waterfall project management can be built and used freely

CTFHub-Web-密码口令-默认口令

【Redis】List类型
![[redis] list type](/img/c7/adec2aaea50d69a0aed95bfe683b9e.png)
[redis] list type

2022.02.15

学习太极创客 — MQTT 第二章(九)本章测试
![[redis] sortedset type](/img/7f/f5f1aa603c8994b669d52a435fed7e.png)
[redis] sortedset type

如何成为一名高级数字 IC 设计工程师(4-5)脚本篇:Shell 脚本实现的文件比较操作
随机推荐
项目研发,有哪些好用的免费脑图工具软件
B1009 irony
组合数据类型之元组小练习
Necessary technologies for chip manufacturers (1) Introduction
MySQL详解 --- 聚合与分组
e. Difference between target and e.currenttarget
KOA Quick Start
How to become a senior digital IC Design Engineer (6-5) digital IC Verification: coverage collection
QT basics tutorial: qstringlist
Smart world 2030
How to become a senior digital IC Design Engineer (4-3)
如何成为一名高级数字 IC 设计工程师(3-5)工具篇:SpyGlass 技术
Target detection - ADAS practice
[understanding of opportunity -33]: seeing is not necessarily true. Most of the time, "seeing is false"
【Redis】Key的层级结构
学习太极创客 — MQTT 第二章(九)本章测试
I'd like to ask you, where can I open an account in Zhongshan? Is it safe to open an account online?
How to use project Gantt chart to make project report
在按钮禁用时消除hover效果
Is it safe to contact the account manager online to open an account for stock speculation?