distorm3
Nim wrapper for distorm3 - Powerful Disassembler Library For x86/AMD64
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:25 |
Tags
Installation
nimble install distorm3
choosenim install distorm3
git clone https://github.com/ba0f3/distorm3.nim
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| distorm3 | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/ba0f3/distorm3.nim |
|---|---|
| Homepage | https://github.com/ba0f3/distorm3.nim |
| Registry Source | nimble_official |
README
distorm3
distorm3 disassembler wrapper for Nim
Installation
# nimble install distorm3
Usage
import distorm3
var
decodedInstructionsCount = 0'u32
decodedInsts: array[10, DInst]
buf = [byte 0xe9, 0x51, 0x34, 0x12, 0x00]
ci = CodeInfo(
codeOffset: 0x0,
code: addr buf,
codeLen: sizeof(buf),
dt: Decode64Bits,
features: DF_STOP_ON_RET
)
let res = distorm_decompose(addr ci, addr decodedInsts[0], sizeof(dInsts).uint32, addr decodedInstructionsCount)
assert res == DECRES_SUCCESS
for i in 0..<decodedInstructionsCount:
echo decodedInsts[i].opcode