chenzhuoyu/iasm

GitHub: chenzhuoyu/iasm

iasm 是一个纯 Go 实现的 x86_64 交互式汇编引擎,既可嵌入程序作为动态汇编器用于 JIT 和编译器后端,也可独立运行作为静态汇编器和 REPL 工具。

Stars: 68 | Forks: 16

# 项目已转移至 [https://github.com/cloudwego/iasm],请改用该地址 # `IASM` -- Go 的交互式汇编器。 用纯 Golang 编写的双用途汇编引擎。 `x86_64` 包是从 Python 模块 [`PeachPy`](https://github.com/Maratyszcza/PeachPy) 移植而来,并针对 Go 语言特性进行了一些适配。 **目前,IASM 仅支持 x86_64,因为这是我唯一非常熟悉的架构。** ### 它可以用作动态汇编器 这可用于实现: * JIT 引擎 * 编译器后端 * 以及更多功能! 有关更多信息,请参见 `x86_64/program_test.go`。 ### 它也可以用作静态汇编器 对于 `macOS`: ``` git clone https://github.com/chenzhuoyu/iasm cd iasm go build ./cmd/iasm ./iasm -h ./iasm -f macho -D __Darwin__ -o helloworld example/helloworld.s ./helloworld ``` ### 它还包含一个交互式 REPL shell 只需在没有任何参数的情况下运行 IASM。 ``` ./iasm ```
标签:Go语言, JIT引擎, x86_64架构, 后端开发, 日志审计, 汇编器, 程序破解, 编译器后端