All Projects → samth → disassemble

samth / disassemble

Licence: other
Disassembler for Racket

Programming Languages

scheme
763 projects
racket
414 projects

Projects that are alternatives of or similar to disassemble

java-class-tools
Read and write java class files in Node.js or in the browser.
Stars: ✭ 27 (-55.74%)
Mutual labels:  disassembler
ded
DOS Executable disassembler
Stars: ✭ 27 (-55.74%)
Mutual labels:  disassembler
go6502
6502 CPU emulator, assembler and disassembler written in Go
Stars: ✭ 31 (-49.18%)
Mutual labels:  disassembler
ida-bpf-processor
BPF Processor for IDA Python
Stars: ✭ 41 (-32.79%)
Mutual labels:  disassembler
semblance
Disassembler for Windows executables. Supports 16-bit NE (New Executable), MZ (DOS), and PE (Portable Executable, i.e. Win32) files.
Stars: ✭ 110 (+80.33%)
Mutual labels:  disassembler
BEFA-Library
High-level library for executable binary file analysis
Stars: ✭ 14 (-77.05%)
Mutual labels:  disassembler
sleigh
Unofficial CMake build for Ghidra SLEIGH
Stars: ✭ 54 (-11.48%)
Mutual labels:  disassembler
python-xdis
Python cross-version bytecode library and disassembler
Stars: ✭ 148 (+142.62%)
Mutual labels:  disassembler
fasmi
F# -> ASM disassembler
Stars: ✭ 168 (+175.41%)
Mutual labels:  disassembler
Dynzasm
X86/X64/ARM/MIPS Assembler/Disassembler/Decomposer Library
Stars: ✭ 21 (-65.57%)
Mutual labels:  disassembler
gas
A tool that transforms functions from object files into Go assembly. This repository has migrated to https://gitlab.com/opennota/gas
Stars: ✭ 18 (-70.49%)
Mutual labels:  disassembler
faucon
NVIDIA Falcon Microprocessor Suite
Stars: ✭ 28 (-54.1%)
Mutual labels:  disassembler
fadec
A fast and lightweight decoder for x86 and x86-64 and encoder for x86-64.
Stars: ✭ 44 (-27.87%)
Mutual labels:  disassembler
agsutils
contains utils for AGS: game extractor, repacker, disassembler and assembler
Stars: ✭ 30 (-50.82%)
Mutual labels:  disassembler
ethereum-dasm
An ethereum evm bytecode disassembler and static/dynamic analysis tool
Stars: ✭ 121 (+98.36%)
Mutual labels:  disassembler
juniEmu
Emulator interface for ARM 32-bit
Stars: ✭ 32 (-47.54%)
Mutual labels:  disassembler
pac-man-emulator
🕹 An emulator for the Pac-Man arcade machine (Zilog Z80 CPU) for Win/Mac/*nix and Xbox One.
Stars: ✭ 20 (-67.21%)
Mutual labels:  disassembler
MBBSDASM
MBBSDASM is an x86 Disassembler for 16-bit DOS / Windows 3.0 Segmented Executable (NE) EXE/DLL File Format with special features related to The MajorBBS & Worldgroup Modules
Stars: ✭ 34 (-44.26%)
Mutual labels:  disassembler
rair-core
RAIR: RAdare In Rust
Stars: ✭ 63 (+3.28%)
Mutual labels:  disassembler
pyc2bytecode
A Python Bytecode Disassembler helping reverse engineers in dissecting Python binaries by disassembling and analyzing the compiled python byte-code(.pyc) files across all python versions (including Python 3.10.*)
Stars: ✭ 70 (+14.75%)
Mutual labels:  disassembler

Build Status

A disassembler for JITed functions in Racket.

To install:

% raco pkg install disassemble

To use it, try something like this:

[samth@punge:~/sw/disassemble (master) plt] racket
Welcome to Racket v6.0.1.10.
> (require disassemble)
> (define (f x) 1)
> (disassemble f)
       0: 488943f8                       (mov (mem64+ rbx #x-8) rax)
       4: 4883c3f8                       (add rbx #xfffffffffffffff8)
       8: b803000000                     (mov eax #x3)
       d: 4c8b75c8                       (mov r14 (mem64+ rbp #x-38))
      11: 4883c428                       (add rsp #x28)
      15: 415d                           (pop r13)
      17: 415c                           (pop r12)
      19: 5b                             (pop rbx)
      1a: 5d                             (pop rbp)
      1b: c3                             (ret)
>

If you have ndisasm installed (and in your PATH) you can also try:

> (disassemble f #:program 'nasm)
00000000  488943F8          mov [rbx-0x8],rax
00000004  4883C3F8          add rbx,byte -0x8
00000008  B803000000        mov eax,0x3
0000000D  4C8B75C8          mov r14,[rbp-0x38]
00000011  4883C428          add rsp,byte +0x28
00000015  415D              pop r13
00000017  415C              pop r12
00000019  5B                pop rbx
0000001A  5D                pop rbp
0000001B  C3                ret

This works only on x86 or x86-64.

Also, the dump function writes the bytes of the machine code to a file:

> (dump const "file.bin")

Patches, uses, complaints, and suggestions are all welcome.

The disassembly code (when not using NASM) is taken from Göran Weinholt's Industria library.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].