Skip to content

A Neovim plugin for disassembling and decompiling C code directly in Neovim.

License

Notifications You must be signed in to change notification settings

IIIBreakeRIII/ReCursion.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ReCursion.nvim

A Neovim plugin for disassembling and decompiling C code directly in Neovim.
Uses objdump for disassembly and retdec for decompilation.


πŸ“¦ Installation

Lazy.nvim

{
  "IIIBreakeRIII/ReCursion.nvim",
  config = function()
    require("ReCursion").setup()
  end,
}

Packer.nvim

use {
  "IIIBreakeRIII/ReCursion.nvim",
  config = function()
    require("ReCursion").setup()
  end,
}

⚑ Requirements

  • gcc (for compilation with debug symbols)
  • objdump (for assembly output)
  • retdec (for C decompilation, requires retdec-decompiler CLI)

Ensure these are available in your PATH.


πŸš€ Usage

" Disassemble current C file
:ReCDisasm

" Decompile current C file
:ReCDecompile

" Close result buffer
;bd

The output opens in a vertical split with syntax highlighting.


πŸ“‚ How It Works

  1. Saves the current buffer to /tmp/recursion_code.c.
  2. Compiles with -g -O0 -fno-builtin to preserve debug info and disable built-ins.
  3. Runs objdump -d -l -S (or otool -tvV on macOS) for disassembly, or retdec-decompiler for decompilation in JSON-human mode.
  4. Reconstructs and displays results in a scratch buffer inside Neovim.

πŸ“œ License

MIT

About

A Neovim plugin for disassembling and decompiling C code directly in Neovim.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages