futo-org/ret
GitHub: futo-org/ret
基于 WebAssembly 的轻量级浏览器端汇编/反汇编/模拟工具,支持 x86、ARM64、ARM32、RISC-V 和 PowerPC 多架构,无需服务器即可快速验证指令行为。
Stars: 50 | Forks: 2
# ret:逆向工程工具
这是一款快速且易于使用的汇编器/反汇编器/模拟器工具,通过 WebAssembly 在浏览器中运行。
它非常适合用于学习新的 CPU 架构、快速反汇编字节码,或在汇编语言中验证想法。
# 功能
- 汇编、反汇编和运行 X86、ARM64、ARM32、RISC-V 和 PowerPC
- 智能十六进制解析器和格式化器 - 输出为字节、32位整数或 C 数组
- 通过 WebAssembly 完全在浏览器*客户端*运行,无需服务器
- 极其轻量 - 没有多余的 JS 框架、静态资源或 cookies
- 可定制且支持自托管 - 将静态资源的 zip 包解压到你的 Web 服务器即可
## 编译 WASM
安装 emscripten(`sudo apt install emscripten`)。在 Debian/Ubuntu 系统上,它通常会被安装在 `/usr/share/emscripten`。
如果没有,你可以手动安装 emsdk 并使用 [工具链文件](https://github.com/emscripten-core/emscripten/blob/main/cmake/Modules/Platform/Emscripten.cmake)。
```
cmake -G Ninja -B build -DSUPPORT_ALL=ON -DCMAKE_TOOLCHAIN_FILE=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake
cmake --build build
```
在模拟部署环境的 Web 服务器中运行它:
```
python3 tool.py --serve
```
## 编译 CLI
```
cmake -G Ninja -B buildcli -DSUPPORT_ALL=ON
cmake --build buildcli
```
# 致谢
- Unicorn: https://github.com/unicorn-engine/unicorn/blob/master/COPYING
- Capstone: https://github.com/capstone-engine/capstone/blob/next/LICENSES/LICENSE.TXT
- Keystone: https://github.com/keystone-engine/keystone/blob/master/COPYING
- CodeJar: https://github.com/antonmedv/codejar/blob/master/LICENSE
- Highlight.js: https://github.com/highlightjs/highlight.js/blob/main/LICENSE
- Google Fonts icons: https://fonts.google.com/ (Apache License)
- Tinycpp: https://github.com/rofl0r/tinycpp
标签:AI工具, ARM32, ARM64, Bash脚本, C++, Capstone, CMake, CPU架构, C数组, Emscripten, Keystone, PowerPC, RISC-V, Unicorn, WebAssembly, X86, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 十六进制解析, 反汇编器, 字节码, 客户端加密, 客户端工具, 快速连接, 指令集, 数据可视化, 数据擦除, 无服务端, 汇编器, 汇编语言, 浏览器工具, 离线工具, 系统底层, 网络安全, 自我托管, 轻量级应用, 逆向工程, 隐私保护, 静态分析