squeeze  ] [  sid  ]
[ Source: eresi  ]

Package: elfsh (1:0.8a25-2)

The ELF shell

The ELF shell is an interactive, modular, and scriptable ELF (Executable & Linking Format) machine for static binary instrumentation of executable files, shared libraries and relocatable ELF objects. Its innovative features make it usable by reverse engineers and security analysts for embedded analysis using compiled C code extensions of binary programs. It features execution flow redirection that allows for dynamic analyzers generation and binary-level testing. ELFsh is compatible with kernel hardening patches : It can perform operational modifications on non-executable stack and heap based systems, and this for multiple architectures.

The main features of the ELF shell are :

 * Injection of new compiled C code into a binary executable or dynamic
   library file.
 * Function redirection for all kind of functions.
 * Relinking of dynamic or static binary files to add all sorts of
   dependences without moving the original address space.
 * Full access in read/write mode to the ELF data structures from the
   scripting language, including but not limited to:
  - The Global Offset Table (.got) section
  - The dynamic linking section (.dynamic)
  - The constructors (.ctors) and destructors (.dtors) array
  - The ELF GNU version tables
  - The ELF interpreter (.interp) section
  - ELF dynamic and static symbol tables (.dynsym and .symtab)
  - ELF relocation tables (.rel(a).*)
  - ELF Hash table (.hash)
  - All other sections in raw read/write mode using hexadecimal strings

Tags: Software Development: Testing and QA, User Interface: Command Shell, Role: Program, Scope: Utility, Interface Toolkit: Ncurses TUI

Other Packages Related to elfsh

  • depends
  • recommends
  • suggests
  • dep: libasm0
    Disassembling engine provided to the ERESI framework
  • dep: libaspect0
    The ERESI aspect library
  • dep: libc6 (>= 2.5-5) [m68k]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6-udeb
    dep: libc6 (>= 2.7-1) [not alpha, ia64, m68k]
  • dep: libc6.1 (>= 2.7-1) [alpha, ia64]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6.1-udeb
  • dep: libedfmt0
    The ERESI debug format library
  • dep: libelfsh0
    The ELF shell library
  • dep: libetrace0
    The ERESI tracer library
  • dep: libmjollnir0
    Flow analysis and fingerprinting component of the ERESI framework
  • dep: libncurses5 (>= 5.6+20071006-3)
    shared libraries for terminal handling
  • dep: libreadline5 (>= 5.2)
    GNU readline and history libraries, run-time libraries
  • dep: librevm0
    The Reverse Engineering Vector Machine
  • dep: libstderesi0
    The ERESI standard library
  • dep: libui0
    The ERESI user interface

Download elfsh

Download for all available architectures
Architecture Package Size Installed Size Files
alpha 10.4 kB92 kB [list of files]
amd64 10.1 kB48 kB [list of files]
hppa 10.2 kB84 kB [list of files]
i386 9.3 kB40 kB [list of files]
ia64 11.5 kB100 kB [list of files]
m68k (unofficial port) 9.2 kB76 kB [list of files]
mips 9.4 kB84 kB [list of files]
mipsel 9.4 kB84 kB [list of files]
powerpc 12.1 kB92 kB [list of files]
s390 10.4 kB84 kB [list of files]
sparc 9.8 kB84 kB [list of files]