Skip to content
rbakbashevPublic

About

ELF visualizer. Generates HTML files from ELF binaries.

Resources

Stars

995 stars

Watchers

12 watching

Forks

Latest commit

 

History

222 Commits

Folders and files

Repository files navigation

elfcat - ELF visualizer. Generates HTML files from ELF binaries.

  1. How do I install and use it?

    $ cargo install elfcat
    $ elfcat path/to/file
    
  2. What does it look like?

    This is what the following small example ELF file looks like:

    http://rbakbashev.github.io/elfcat/hello_world.html

    Steps to create it:

    $ cat hello_world.s
    global _start
    
    section .text
    _start:
        mov rax, 1
        mov rdi, 1
        mov rsi, msg
        mov rdx, len
        syscall
    
        mov rax, 60
        xor rdi, rdi
        syscall
    
    section .data
        msg db "Hello, world!", 0xA
        len equ $ - msg
    
    $ cat link.ld
    ENTRY(_start)
    
    SECTIONS {
        . = 0x10080; /* vm.mmap_min_addr + p_offset of first segment */
    
        .text : {
            * (.text)
        }
    
        .data : {
            * (.data)
        }
    }
    
    $ nasm hello_world.s -f elf64
    $ ld hello_world.o -o hello_world -n -T link.ld
    $ elfcat hello_world
    $ xdg-open hello_world.html
    
  3. License?

    Zlib.

  4. Upcoming features?

    • Better text renderer to fix bad performance when opening big files

    • Ability to tune the width instead of hardcoded 16 bytes

    • Visualization of virtual memory mappings

    • Dark theme

    • Highlight bytes in ASCII column

  5. Addendum

About

ELF visualizer. Generates HTML files from ELF binaries.

Resources

Stars

995 stars

Watchers

12 watching

Forks

Releases

Contributors

Languages