summaryrefslogtreecommitdiffstats
path: root/devel/elfkickers/DETAILS
blob: c46e9def529cc2104d95a8c8e654df02b5699b06 (plain) (blame)
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
38
39
40
41
42
43
44
45
46
47
           SPELL=elfkickers
	  SPELLX=ELFkickers
         VERSION=3.0a
          SOURCE="$SPELLX-$VERSION.tar.gz"
   SOURCE_URL[0]=http://www.muppetlabs.com/~breadbox/pub/software/$SOURCE
     SOURCE_HASH=sha512:c90a763e5b60069f9cb67fd5c114da753184ff466c3db1dd9a44e86de9408a4384a3ac00a8c67191ca9a6556fd0db11058542361e987710f9b5bedabaec2717c
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELLX-$VERSION"
        WEB_SITE="http://www.muppetlabs.com/~breadbox/software/$SPELL.html"
      LICENSE[0]="GPLv2+"
         ENTERED=20140916
        KEYWORDS=""
           SHORT="Kickers of ELF"
cat << EOF
This distribution is a collection of programs that are generally unrelated,
except in that they all deal with ELF files.

The main purpose of these programs is to be illustrative and educational --
to help fellow programmers understand ELF files and something of how they
work under the Linux platform.

Each program is independent. There is very little shared code between them,
and in fact they all take slightly different approaches to handling ELF files.

The distribution includes:

* sstrip: a small utility that removes a few bytes from an executable
  that strip leaves behind.

* objres: a "compiler" for including arbitrary binary resources in object
  files.

* elftoc: a program that takes an ELF file and generates C code that defines a
  struct with the same memory image, using the structs and preprocessor
  symbols defined in <elf.h>.

* elfls: a utility that displays an ELF file's program and/or section header
  tables, which serve as a kind of global roadmap to the file's contents.

* rebind: a small utility that alters the binding of selected symbols in an
  object file.

* ebfc: a compiler for a tiny programming language. The compiler can generate
  ELF executables, object files, and shared libraries.

* infect: an example of how to modify an executable without affecting its
  original program.
EOF