John Reiser
e64555aca0
hacking PackLinuxElf64amd
2006-07-14 19:43:38 -07:00
John Reiser
44f20782fd
cleanup after merge; AMD64 ElfLinker
2006-07-12 11:42:03 -07:00
John Reiser
0b8825fecb
i386 conversion stub conversion; nrv2b_d32_2.ash etc.
2006-07-12 11:15:14 -07:00
John Reiser
b76118802a
ElfLinkerPpc32
2006-07-09 19:52:23 -07:00
John Reiser
ab0c349261
workaround ElfLinker not handling addSection(,,) from dynamic block
2006-07-09 17:29:22 -07:00
John Reiser
d5e0e66426
PackLinuxElf32x86::newLinker()
2006-07-09 16:59:41 -07:00
John Reiser
1a0a64e4de
::addStubEntrySections() with default ELFMAINX
2006-07-09 08:48:06 -07:00
John Reiser
6bd9805bcc
start converting PackLinuxElf64amd to ElfLinker
2006-07-09 08:14:04 -07:00
John Reiser
0a10334f1b
more *BSD, especially do_xmap() for OpenBSD
2006-07-04 08:59:00 -07:00
John Reiser
0d7255158a
OpenBSD "pro-active security" causes headaches
2006-07-03 16:35:21 -07:00
John Reiser
18fe124696
::generateElfHdr() sets .e_ident[Elf32_Ehdr::EI_OSABI]
2006-07-03 05:51:45 -07:00
John Reiser
ea3a3b6e1c
Elf32_Ehdr::ELFOSABI_LINUX
2006-07-03 05:47:01 -07:00
John Reiser
32ce83475d
more *BSD arrangements
2006-07-02 21:54:44 -07:00
John Reiser
75294b9146
FreeBSD, NetBSD, OpenBSD on equal footing
2006-07-02 19:27:08 -07:00
John Reiser
68dadabc29
BSD/elf386
2006-07-02 16:25:31 -07:00
Markus F.X.J. Oberhumer
7b77491c06
Refactoring: move fields ui_pass and ui_total_passes from class
...
Packer into class UiPacker.
2006-06-29 14:37:01 +02:00
John Reiser
89e25657d8
fix cross-platform endian trouble with ELF headers
2006-06-27 13:07:31 -07:00
John Reiser
4eb505755e
lzma for ELF
2006-06-24 14:00:41 -07:00
John Reiser
1a51451ec2
ELF stub uses getSizeForCompression()
2006-06-23 19:32:29 -07:00
John Reiser
28d56bab04
Merge
2006-06-22 21:30:59 -07:00
John Reiser
2500eff90d
more LZMA debugging for Linux i386 ELF
2006-06-22 21:25:18 -07:00
Markus F.X.J. Oberhumer
153446b3a1
Fixed debugging code.
2006-06-23 05:40:35 +02:00
John Reiser
03910d67c3
M_LZMA bug tracking: decompress fails but says OK
2006-06-22 17:18:17 -07:00
John Reiser
b13f7366cf
freezeLoader() sooner in PackLinuxElf32x86::buildLinuxLoader()
2006-06-21 17:08:58 -07:00
Markus F.X.J. Oberhumer
bf5cbfffc2
Start major refactoring.
2006-06-19 19:20:50 +02:00
John Reiser
fd2b9a6e21
filter 0x51 (ARM call trick, big-endian at compress time)
2006-06-16 06:49:37 -07:00
John Reiser
fa702b48e3
unify PackLinuxElf32arm...::pack1()
2006-06-15 15:41:00 -07:00
John Reiser
299dcf6686
Merge
2006-06-15 12:21:01 -07:00
Markus F.X.J. Oberhumer
d3323d6550
Major refactoring of src/stub directory.
2006-06-15 08:17:50 +02:00
John Reiser
ebed0b9f20
allow brev() in-place
2006-06-14 20:21:39 -07:00
John Reiser
f654a453dc
ARM_pack3() unifies big/little endian and HostPolicy
2006-06-14 16:06:50 -07:00
John Reiser
10decf94cc
fix delete[] file_image
2006-06-14 11:41:49 -07:00
John Reiser
96dd4817f1
unify PackLinuxElf32...::canPack(); also ARM buildLinuxLoader()
2006-06-14 11:33:16 -07:00
Markus F.X.J. Oberhumer
7daf63fd3f
Merge.
2006-06-14 11:48:44 +02:00
John Reiser
4fc0a32572
Do not brev() strings in stub for PackLinuxEl32armBe.
2006-06-13 18:55:26 -07:00
John Reiser
dcc704a357
debug PackLinuxElf32armBe. Also unify subroutines.
2006-06-13 15:51:29 -07:00
John Reiser
bd8acbde97
PackLinuxElf32armBe (Linux ARM big-endian)
2006-06-13 11:48:54 -07:00
John Reiser
112b10c19d
avoid randomness for progid in Elf
2006-06-13 08:53:41 -07:00
John Reiser
d89e561a85
PackLinuxElf32armLe, PackLinuxElf32armBe
2006-06-13 08:51:02 -07:00
John Reiser
49c1da79c8
PackLinuxElf32arm ==> PackLinuxElf32armLe
2006-06-13 08:27:14 -07:00
Markus F.X.J. Oberhumer
d8748f4270
Introduced MemBuffer::getSizeForCompression().
2006-06-12 13:18:55 +02:00
Markus F.X.J. Oberhumer
c34daf1a35
Make code -Wshadow warning free.
2006-06-11 12:25:19 +02:00
Markus F.X.J. Oberhumer
d461b53235
Renamed variable clen to c_len and ulen to u_len.
2006-06-11 12:13:37 +02:00
Markus F.X.J. Oberhumer
f1ba0c0aa7
More lzma stuff.
2006-06-09 18:36:53 +02:00
Markus F.X.J. Oberhumer
34ae413607
Initial lzma support.
2006-06-07 04:42:15 +02:00
John Reiser
1f18050930
elf32arm escape hatch: avoid Elf32_Ehdr if possible
2006-06-02 08:51:02 -07:00
John Reiser
17ecfc9765
new class PackLinuxElf32arm : PackLinuxElf32Le;
...
Unify some functions in leaf classes by moving to parent class.
2006-06-01 06:37:44 -07:00
John Reiser
504deeff42
ET_DYN cannot be old format for decompression
2006-05-24 13:15:39 -07:00
John Reiser
51536a7acd
decompression PackLinuxElf32x86.ET_DYN
2006-05-23 17:42:35 -07:00
John Reiser
d2718e99a4
Change class PackLinuxI386elf : public PackLinuxI386
...
into class PackLinuxElf32x86 : public PackLinuxElf32Le : public PackLinuxElf32
which makes the code for compressing ELF (for direct-to-memory decompression)
cleaner because ELF has some of the class tree to itself.
This assumes PROT_EXEC|PROT_WRITE ought to work.
This is checked at runtime, and if it fails then
give a message on stderr and exit(127).
Modify --force-execve so that runtime avoids PROT_EXEC|PROT_WRITE.
Then executables compressed with --force-execve will run under
PaX, grSecurity, and strict SELinux.
2006-05-21 13:58:24 -07:00