Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wasm逆向 #194

Open
wsxk opened this issue Jun 19, 2024 · 0 comments
Open

wasm逆向 #194

wsxk opened this issue Jun 19, 2024 · 0 comments

Comments

@wsxk
Copy link
Owner

wsxk commented Jun 19, 2024

https://wsxk.github.io/wasm_re/

  1. 概述

    1.1 wasm文件类型

  2. wasm静态分析

  3. wasm动态调试
    references

  4. 概述
    WebAssembly,俗称wasm 是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。
    它设计的目的不是为了手写代码而是为诸如 C、C++ 和 Rust 等低级源语**言提供一个高效的编译目标。
    只能说跟asm很像,wasm速来就有运行在浏览器的汇编的说法。
    它有很多新的特性

    二进制格式: wasm是一种基于栈式虚拟机的二进制指令集(和JVM很像),这使得它更紧凑、更快速地加载和解析。

    跨平台: wasm是一个跨平台的执行格式,可以在不同体系结构和操作系统上运行,而不受特定编程语言或硬件的限制。道理也很简单,毕竟它运行在浏览器上,只能你的系统装了浏览器,它就能跑~

    性能: wasm被设计为在现代硬件上实现高性能,因此它通常比传统的JavaScript执行更快。

    安全:wasm被设计在sandbox里运行,增加了安全性。它通过强制执行严格的类型检查和内存访问限制来减少安全漏洞的风险。

1.1 wasm文件类型
这里不过多分析wasm文件的文件格式是什么,有兴趣的同学可以自行官网搜索~
总的来说,wasm文件类型设计两种:.wasm和.wat
其中
.wasm就是可以直接在浏览器上运行的程序,而.wat是人类可读的.wasm代码的转换
可以看一下.wat的文件长什么样:
(module
(type $type0 (func (param i32)))
(type $type1 (func))
(func $import0 (import

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant