forked from BR903/ELFkickers
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Changelog
158 lines (111 loc) · 5.6 KB
/
Changelog
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
* November 2016: version 3.1
It's been five years since the last version, and a handful of bug
fixes (and one feature) have accumulated over that time. A quick
rundown:
- objres: Added --reference option to improve non-x86 support.
- elftoc: Make signed chars explicit where needed.
- elftoc: Bug fix in ELF header version check.
- elfls: Bug fix in handling Elf32 on a 64-bit system.
- Various changes to the Makefiles.
- Fixes for some typos in the documentation and comments.
Thanks to German Zyuzin, Lars Lindqvist, Douglas Mencken, Aapo
Rantalainen, and Steven Honeyman (in no particular order) for bug
reports and patches.
* November 2011: version 3.0a
This is a very minor update.
Sofian Brabez supplied me with information to help ELF Kickers
compile under FreeBSD. I've gratefully incorporated his changes.
Raphaël Huck reported that sstrip's alteration to the e_shentsize
field is flagged as invalid by file(1). This has been fixed.
infect now attempts to reset the infected file's mtime. Not
important, but why not.
* May 2011: version 3.0
After a decade hiatus, I finally took the plunge and updated this
package. With some effort I've managed to get a new version out in
time for the ten-year anniversary of the last update.
The most important change: All the programs (except ebfc) have
been updated to deal equally well with 32-bit and 64-bit ELF
files. This has been a long time coming (though it had to wait
until I had a 64-bit machine of my own to test on).
A very simple library, elfrw, has been added which hides many of
the differences between 32-bit and 64-bit ELF files, allowing the
smaller programs to support both types of files without
significant code changes.
The program objres has been added to the collection.
The sample program infect has been added to the collection.
All of the old programs have been cleaned up to avoid the new gcc
warnings, use getopt_long, and in general brought more in line
with my current programming style.
elftoc in particular has had several sections rewritten. The most
important change is that the build process reads the local copy of
elf.h to find out which ELF macros are available on the current
installation, instead of relying on a hard-coded list included in
the distribution. elftoc also required lots of nearly-duplicate
code in order to support both 32-bit and 64-bit ELF files.
Man pages have been added for the utilities that didn't have them,
for the sake of consistency if nothing else.
The tiny programs have been removed from ELF kickers. Not because
I don't love them any less, but they tend to suffer more quickly
than the rest of the code from changes to Linux. In the last ten
years I've had to modify nearly all of them at least once to keep
them working with current kernels.
(ebfc is the only utility that has not been updated for 64-bit. I
intend to remedy this in the near future.)
* May 2001: version 2.0a
Two small bug fixes, reported to me by people who downloaded
version 2.0, the details of which are lost to history.
* April 2001: version 2.0
I began spelunking in the system header files <elf.h> and
<linux/elf.h> again, and discovered a large number of new
definitions. I realized that the ELF standard could be going
through major changes, and that having a version number is really
necessary.
elftoc updated to understand some of these new additions, and
elsewhere restructured so as to make it easier to update it again
once I understand the rest of them.
Fixes for elftoc bugs that I noticed during the rewrite.
elfls updated similarly to elftoc.
Minor rewrite of sstrip to make the code more airtight and
aesthetically pleasing.
* March 2001
rebind added to ELF Kickers.
date and snake added to the tiny collection.
cat removed from the tiny collection (too uninteresting).
Cleaned up all tiny programs and made them more stylistically
consistent.
Minor bug fix in elftoc.
Documentation cleanups.
* February 2001
Five of the tiny programs did not work under 2.2.17 and later 2.2
kernels due to a change in how Linux checks the ELF header.
(Thanks to Francois-Rene Rideau, who pointed this out to me. Oddly
enough, this new restriction does not seem to have made it into
the 2.4.0 kernel. I am unsure if the change is confined to the 2.2
versions, or if it will resurface in a later kernel.) I succeeded
in fixing two of the programs without sacrificing compatibility
with 2.0 kernels or increasing the size. For the other three, I
added new versions specifically for 2.2.17 (et al).
* January 2001
keepalive added to the tiny collection.
Removed -W option from the Makefile for ebfc (I thought I had done
this already).
New feature added to ebfc -- namely, the acceptance of compressed
source files -- just for the heck of it.
This file added.
* August 2000
After installing a 2.2 kernel, I discovered that changes to the
system header files and a new warning in gcc 2.95.2 caused several
of the programs to generate numerous compiler warnings and errors.
The errors were caused by a benign redefinition of a macro, and
were suppressed by changing the inclusion order of the system
header files in question. The warnings were due to my taking
advantage of of the standard feature of omitting trailing
initializers in the definition of a structure, and were suppressed
by omitting the -W gcc option in the Makefiles, leaving just
-Wall.
ls added to the tiny collection.
Bug fixes and minor improvements to the documentation.
* July 1999
Initial release. Main programs: elfls, elftoc, sstrip, ebfc. In
the tiny collection: true/false, hello, fgconsole, hexdump, cat,
factor.