aboutsummaryrefslogtreecommitdiff
blob: 23eaee7b2e04ec33c5ebf67967acbc7a60264b23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Utilities to modify Elf binaries to work with PaX hardened kernel.
There are several utilities in here, to help you navigate:

Directories src/ scripts/ doc/ test/ are integral parts of the elfix package.
These are distributed as one source tarball with `make dist` run in the top
diretory.
* paxctl-ng - C utility for doing XT_PAX and/or PT_PAX markings.
* pypaxctl - python utility for doing XT_PAX and/or PT_PAX markings.  Depends on pax.so.
* migrate-pax - python utility for migrating from XT_PAX flags to PT_PAX.  Depends on pax.so.
* revdep-pax - python utility for mapping ELF libraries to/from the ELF objects that link
  against them and migrating PAX flags between them.  Depends on pax.so.
* paxmark.sh - Bash script that does intelligent pax-marking like the pax-utils.eclass.
* paxmodule.c - C code for python module pax.so

Directories under misc/ are independant packages from one another and from the
elfix package.  They are NOT distributed with elfix when running `make dist` in
the top directory.  Each directory supplies its own build system.
* install-xattr - C wrapper to coreutils' install which preserves file system extended attributes.
* fix-gnustack - query or clear any ELF GNU_STACK executable flag

Directory pocs/ - Very experimental stuff.
* change-interp - C utility to the dynamic linker, INTERP as reported by `readelf -l`.
* eclass - a local copy of the pax-utils.eclass
* elf-manipulate - some dirty utilities to
* * clear-dt-path.c - remove RPATH and RUNPATH
* * parse-elf.c - print out the ELF header, sections headers and program headers.
* * print-sections.c - print out the contents of the section headers
* * remove-ptpax.c - change a PT_PAX_FLAGS phdr to PT_NULL
* ldd - python script to reproduce ldd's output using pyelftools
* link-maps - use VDB information to produce a full linkage map of the system
* mangle-paxflags - printout old EI_PAX flags and PT_PAX flags
* paxmark-libs - test how PAX flags migrate from libraries and plugins to their consumers
* revdep-pax-ng - same as revdep-pax but using information obtained from `ldd` and
  not VDB information.

## Build Status
[![Repoman Status](https://travis-ci.org/gentoo/elfix.png)](https://travis-ci.org/gentoo/elfix)