https://github.com/gitgnu/gnu_katana
https://github.com/gitgnu/gnu_katana
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gitgnu/gnu_katana
- Owner: gitGNU
- License: other
- Created: 2017-05-05T14:55:26.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-05T14:55:33.000Z (about 9 years ago)
- Last Synced: 2025-04-04T01:14:15.056Z (about 1 year ago)
- Language: Makefile
- Size: 11.3 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
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
Note that at present this only tests the hotpatching features of katana
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
Documentation has not yet been written. Email
electron100@gmail.com if you are interested in this.