Menu

Tree [29d741] master /
 History

HTTPS access


File Date Author Commit
 doc 2015-09-13 James Oakley James Oakley [02ce03] Updated manpage for setcap instructions
 misc 2013-08-31 James Oakley James Oakley [12f5a2] update for compatibility with newer autoconf ve...
 real_tests unknown
 src 2018-01-27 James Oakley James Oakley [29d741] Fix typo
 tests unknown
 .dir-locals.el unknown
 .eproject unknown
 .gitignore 2015-12-06 James Oakley James Oakley [bbfb3e] updated gitignore
 AUTHORS 2017-12-17 James Oakley James Oakley [0b10d4] Remove my Dartmouth email, it is no longer valid
 COPYING unknown
 ChangeLog unknown
 INSTALL unknown
 LICENSE unknown
 Makefile.am unknown
 Makefile.in 2015-04-07 James Oakley James Oakley [9fe21c] update Makefile.in files from a fresh run of au...
 README 2018-01-27 James Oakley James Oakley [3cc3e3] Minor updates to README
 aclocal.m4 2015-04-07 James Oakley James Oakley [1da8e4] keep aclocal.m4 in source control so people wit...
 apache_test.sh unknown
 compile 2015-04-07 James Oakley James Oakley [9fe21c] update Makefile.in files from a fresh run of au...
 config.guess unknown
 config.h.in unknown
 config.sub unknown
 configure unknown
 configure.ac 2014-11-17 James Oakley James Oakley [5b38da] Do not use -Werror and re-run automake. Add _DE...
 depcomp 2015-04-07 James Oakley James Oakley [9fe21c] update Makefile.in files from a fresh run of au...
 install-sh 2015-04-07 James Oakley James Oakley [9fe21c] update Makefile.in files from a fresh run of au...
 missing unknown
 notes unknown
 patch_unit_tests 2015-12-06 James Oakley James Oakley [228144] added warning about cap_sys_ptrace
 run_dwarf_tests.sh unknown
 run_tests.py unknown
 setcap_katana.sh 2015-12-06 James Oakley James Oakley [d639a8] moved setcap_katana
 tar-excludes unknown
 test-driver 2015-04-07 James Oakley James Oakley [9fe21c] update Makefile.in files from a fresh run of au...
 validator.py 2015-12-06 James Oakley James Oakley [0aa7b1] addressed issues if breakpoint is needed in the...

Read Me

This is a preliminary version of Katana, a toolchain-oriented
hotpatching system for userland (in contrast to kernel-patching
systems such as KSplice) and a (somewhat) general-purpose ELF and
DWARF manipulation tool. More complete documentation will reside in
./doc, although such is currently in a very early state


DEPENDENCIES
libelf
  widely available with a couple different implementations. I
  recommend the one from Red Hat at
  https://fedorahosted.org/elfutils/. The FSF version
  (http://directory.fsf.org/project/libelf/) which is the default
  available to gentoo users, does not seem to be fully compatible.
libdwarf
  you can get the latest version of libdwarf from
  http://reality.sgiweb.org/davea/dwarf.html. 
libunwind
  http://www.nongnu.org/libunwind/
libreadline
  http://www.gnu.org/software/readline/
bison
  http://www.gnu.org/software/bison/
flex
  http://flex.sourceforge.net/

BUILDING
./configure
make

Note that flex and bison (as well as gcc, of course) are required to
build Katana.

make
./install libdwarf.so DEST

TESTING
To make sure katana works:
make check

USAGE
  Katana presently has two main functions
  HOTPATCHING
    To generate a patch file, run
    katana -g [-o OUT_FULE] OLD_OBJECT_TREE NEW_OBJECT_TREE EXEC
    (EXEC is the name of the executable file whose process will be patched)

    To patch a process run
    katana -p PATCH_FILE PID

  ELF/DWARF Manipulation
    See the shell commands at http://katana.nongnu.org/doc/katana.html#sec-2.1        
    Further documentation has not yet been written. Email
    electron100@gmail.com if you are interested in seeing this expanded
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.