1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00
Commit Graph

366 Commits

Author SHA1 Message Date
Markus F.X.J. Oberhumer
d822b4a62a Store shentsize in target byte-order. 2006-11-18 18:25:11 +01:00
Markus F.X.J. Oberhumer
be235ddc38 Removed unused Packer::freezeLoader(). Changed return type of
buildLoader() from "int" to "void".
2006-11-12 20:57:08 +01:00
John Reiser
829e2d6c5d set e_shentsize to work around bug in binutils [mostly cosmetic] 2006-10-24 09:43:50 -07:00
Markus F.X.J. Oberhumer
c2e5e45c84 Fix UINT64_MAX. 2006-10-06 08:42:12 +02:00
John Reiser
014236c861 amd64 stub: fix length of move for non-small programs 2006-10-04 08:38:06 -07:00
Markus F.X.J. Oberhumer
d6f4480a4f Removed debugging leftover. 2006-10-04 09:17:59 +02:00
Markus F.X.J. Oberhumer
28a6ac09ad Initialize a field in constructor. 2006-10-04 09:14:13 +02:00
John Reiser
86e4d24476 avoid circularity of sz_pack2 in PackLinuxElf64amd::defineSymbols() 2006-10-03 20:21:36 -07:00
John Reiser
913a697ab2 Remove dead code and uses of sz_pack2 from PackLinuxElf32::ARM_defineSymbols() 2006-10-03 19:28:08 -07:00
Markus F.X.J. Oberhumer
a61457b422 Added some debugging support via Linker::dumpSymbols(). 2006-10-03 23:48:19 +02:00
John Reiser
6c59b73ae5 PackLinuxElf64::generateElfHdr() .p_flags are only 32 bits 2006-09-06 10:36:50 -07:00
John Reiser
4ffde4db98 8-byte align LZMA_DEC20 2006-08-27 10:03:12 -07:00
Markus F.X.J. Oberhumer
0c61ca1a6b Renamed addLinkerSymbols() to defineSymbols(). 2006-08-23 11:20:06 +02:00
John Reiser
1846fa1f54 PackLinuxElf start loader at 0 mod 8 2006-08-22 21:22:49 -07:00
John Reiser
579ce20cad remove patchFilter32() 2006-08-22 20:49:28 -07:00
John Reiser
12e4bcba5d Elf64 sets .p_flags for 0-length .bss 2006-08-22 11:23:55 -07:00
Markus F.X.J. Oberhumer
601cd95277 Removed Packer::getIdentstr(). 2006-08-21 19:57:43 +02:00
John Reiser
c19ffafd8d i386-linux.elf decompress does not need cto8 2006-08-20 11:19:37 -07:00
Markus F.X.J. Oberhumer
aab984618d Fix newLinker() for mach/ppc32. 2006-08-19 14:29:40 +02:00
John Reiser
6a7066ac2f Avoid linker->setLoaderAlignOffset(). 2006-08-14 19:21:15 -07:00
Markus F.X.J. Oberhumer
3ad5cb8a23 Merge. 2006-08-14 08:44:58 +02:00
John Reiser
0d1f12e31a Use better name osabi_note. 2006-08-13 20:14:14 -07:00
John Reiser
a8ddf8f66d Detect PT_NOTE for NetBSD, OpenBSD. 2006-08-13 20:00:44 -07:00
Markus F.X.J. Oberhumer
c15b8d71bc Removed trailing whitespace. 2006-08-13 14:47:24 +02:00
John Reiser
5f622efb77 nrv2e PackLinuxElf32armLe works 2006-07-21 19:10:48 -07:00
John Reiser
52e8326d54 work on PackLinuxElf32arm; add nrv2b_d8.S 2006-07-21 13:11:02 -07:00
John Reiser
98942f5528 work on PackLinuxElf32arm, including nrv2d and lzma 2006-07-19 17:29:17 -07:00
John Reiser
b8b983dded nrv2d decompressor for PackLinuxElf64amd 2006-07-17 15:02:37 -07:00
John Reiser
d6a6673971 nrv2d decompressor for PackLinuxElf32ppc 2006-07-17 13:23:49 -07:00
John Reiser
efdee11d5a lzma PackLinuxElf32ppc works! 2006-07-17 08:05:31 -07:00
John Reiser
49f277192c hacking lzma PackLinuxElf32ppc 2006-07-16 22:32:55 -07:00
John Reiser
b34e204676 PackLinuxElf32ppc conversion; alignment in *::Section 2006-07-16 15:04:16 -07:00
John Reiser
755d990dfd unify buildLinuxLoader using addStubEntrySections and addLinkerSymbols 2006-07-16 09:48:22 -07:00
John Reiser
3843ec1e02 lzma for PackLinuxElf64amd 2006-07-15 16:01:53 -07:00
John Reiser
cfc5631d5d PackLinuxElf64amd works (except for lzma) 2006-07-15 13:46:37 -07:00
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
László Molnár
0ca8ae17d4 updated my email address 2006-05-17 21:05:46 +02:00
John Reiser
b739bd3d79 Work better with SELinux. We still require allow_execmem.
p_lx_elf.cpp
	stub/fold_elfppc32.h
	stub/l_lx_elfppc32.h
	stub/l_lx_elfppc32.S
	stub/m_lx_elfppc32.c

committer: jreiser <jreiser> 1145666524 +0000
2006-04-22 00:42:04 +00:00
John Reiser
c264750924 Adapt better to SELinux. We still need allow_execmem.
p_lx_elf.cpp
	stub/a_lx_elf64.c
	stub/l_lx_elf64amd.h
	stub/l_lx_elf64amd.lds
	stub/l_lx_elf64amd.S
	stub/fold_elf64amd.h

committer: jreiser <jreiser> 1145657332 +0000
2006-04-21 22:08:52 +00:00
John Reiser
fb1181ed26 Allow executables >=3MB on elf64amd; -r1.69 on 2005-11-12 forgot to remove check.
committer: jreiser <jreiser> 1145139994 +0000
2006-04-15 22:26:34 +00:00
Markus F.X.J. Oberhumer
90b1817e92 Undef PAGE_{MASK,SIZE} in conf.h.
committer: mfx <mfx> 1143454717 +0000
2006-03-27 10:18:37 +00:00
John Reiser
f95e171e11 Workaround linux-2.6.14 binfmt_elf.c: SIGKILL if (0==.p_memsz) on a page boundary.
p_lx_elf.cpp p_lx_exc.cpp

committer: jreiser <jreiser> 1143057770 +0000
2006-03-22 20:02:50 +00:00
Markus F.X.J. Oberhumer
1810440355 Added __attribute__((__sentinel__)) to Packer::addLoader(). This is
a new gcc-4.1 feature.

committer: mfx <mfx> 1142035833 +0000
2006-03-11 00:10:33 +00:00
John Reiser
366a708f3a Generalize to more than 2 PT_LOAD using find_LOAD_gap; needed for linux/ElfAMD.
Also simplifies, and applies to both ::pack and ::unpack.
	p_lx_elf.cpp p_lx_elf.h

committer: jreiser <jreiser> 1141348876 +0000
2006-03-03 01:21:16 +00:00
John Reiser
b389abd99f PackLinuxElf64amd::getCompressionMethods allows both nrv2b and nrv2e
committer: jreiser <jreiser> 1141326792 +0000
2006-03-02 19:13:12 +00:00
John Reiser
268e322e1c Extra parameter for compressWithFilters and packExtent,
to fix 2-pass problem with --brute on linux/elf386.
Only one decompression method is allowed, chosen by
smallest output for .text; but Elf headers come first.
	packer.cpp packer.h p_unix.cpp p_unix.h p_lx_elf.cpp

committer: jreiser <jreiser> 1140241030 +0000
2006-02-18 05:37:10 +00:00
Markus F.X.J. Oberhumer
8b7ebcf040 Enter 2006.
committer: mfx <mfx> 1139778883 +0000
2006-02-12 21:14:43 +00:00
Markus F.X.J. Oberhumer
51ac5172f5 #undef PAGE_{MASK,SIZE} to fix build problems on some machines.
committer: mfx <mfx> 1139743226 +0000
2006-02-12 11:20:26 +00:00
John Reiser
ce33ffb62a handle compressed executables larger than 3MB on Elf64amd
committer: jreiser <jreiser> 1131833508 +0000
2005-11-12 22:11:48 +00:00
John Reiser
75bba319de tuning, and prepare for large executables (>3MB compressed)
p_lx_elf.cpp stub/a_lx_elf64.c stub/amd_d_nrv2e.S
	stub/fold_elf64amd.S stub/l_lx_elf64amd.S

committer: jreiser <jreiser> 1131824655 +0000
2005-11-12 19:44:15 +00:00
John Reiser
f78e9261f3 Do initLoader() properly, instead of relying on the amount of stack space
that is in use when ::buildLinuxLoader is called.

committer: jreiser <jreiser> 1131597922 +0000
2005-11-10 04:45:22 +00:00
John Reiser
6737a3ae09 PackLinuxElf64amd
p_lx_elf.h p_lx_elf.cpp packmast.cpp

committer: jreiser <jreiser> 1131570778 +0000
2005-11-09 21:12:58 +00:00
John Reiser
0c328372b5 Allow __uClibc_main and __uClibc_start_main like __libc_start_main.
committer: jreiser <jreiser> 1127269046 +0000
2005-09-21 02:17:26 +00:00
John Reiser
3f7b642c7d Linux i386 allow compression of position-independent main executables (gcc -pie).
p_elf.h p_lx_elf.cpp p_lx_elf.h p_lx_exc.cpp
	stub/fold_elf86.asm stub/fold_elf86.h stub/l_lx_elf.c
	stub/l_lx_elf86.asm stub/l_lx_elf86.h stub/l_lx_elf86.lds
	stub/linux.hh

committer: jreiser <jreiser> 1126886896 +0000
2005-09-16 16:08:16 +00:00
Markus F.X.J. Oberhumer
6b7c7f755c Avoid warnings about unused vars.
committer: mfx <mfx> 1119613814 +0000
2005-06-24 11:50:14 +00:00
John Reiser
d339ee3135 PackLinuxElf32::unpack forgot several get_native32()
committer: jreiser <jreiser> 1114229735 +0000
2005-04-23 04:15:35 +00:00
John Reiser
14b0527e79 fix compiler waring
committer: jreiser <jreiser> 1108941316 +0000
2005-02-20 23:15:16 +00:00
John Reiser
664a82e7c9 Start re-organizing the packing of Elf, by making Elf32 come first,
with Big endian and Little endian derived from it.
I386 still uses the old way, but PowerPC (both Linux and Darwin [Mac])
use the new way.
	p_elf.h p_lx_elf.cpp p_lx_elf.h p_lx_exc.cpp p_lx_exc.h
	p_unix.cpp p_unix.h p_vmlinx.cpp p_vmlinx.h p_vmlinz.cpp

committer: jreiser <jreiser> 1108940224 +0000
2005-02-20 22:57:04 +00:00
Markus F.X.J. Oberhumer
18ef55ac14 Final updates for upx-1.91.
committer: mfx <mfx> 1088566877 +0000
2004-06-30 03:41:17 +00:00
John Reiser
1555be40b7 fix alignment of loader after packing multiple blocks
p_lx_elf.h p_lx_elf.cpp

committer: jreiser <jreiser> 1080880623 +0000
2004-04-02 04:37:03 +00:00
Markus F.X.J. Oberhumer
5f87e9891b Enter 2004.
committer: mfx <mfx> 1074623868 +0000
2004-01-20 18:37:48 +00:00
Markus F.X.J. Oberhumer
97153e8e09 Compile fixes for PGI C++.
committer: mfx <mfx> 1071917829 +0000
2003-12-20 10:57:09 +00:00
Markus F.X.J. Oberhumer
e387c6bc56 Portability updates.
committer: mfx <mfx> 1042930101 +0000
2003-01-18 22:48:21 +00:00
Markus F.X.J. Oberhumer
8f25c72085 Consistently use const Class &' instead of Class const &'.
committer: mfx <mfx> 1042741665 +0000
2003-01-16 18:27:45 +00:00
Markus F.X.J. Oberhumer
2162a01848 Enter 2003.
committer: mfx <mfx> 1042478199 +0000
2003-01-13 17:16:39 +00:00
John Reiser
12c6cd8021 Comment on current state of stub/fold* vs decompress, and independent unfilter.
p_lx_elf.cpp p_lx_exc.cpp

committer: jreiser <jreiser> 1037072124 +0000
2002-11-12 03:35:24 +00:00
Markus F.X.J. Oberhumer
7802257700 Portability fixes.
committer: mfx <mfx> 1037058393 +0000
2002-11-11 23:46:33 +00:00
Markus F.X.J. Oberhumer
d7e795a731 Set blocksize in canPack().
committer: mfx <mfx> 1036984678 +0000
2002-11-11 03:17:58 +00:00
Markus F.X.J. Oberhumer
f66d8f98c9 Changed year to 2002.
committer: mfx <mfx> 1036971635 +0000
2002-11-10 23:40:35 +00:00
Markus F.X.J. Oberhumer
a94a3e9741 If testOverlappingDecompression() fails, just treat the block as
non-compressible.

committer: mfx <mfx> 1036971145 +0000
2002-11-10 23:32:25 +00:00
John Reiser
5ac2eed3d9 ::unpackExtent() honors per-block filter if newer 12-byte b_info
committer: jreiser <jreiser> 1036876078 +0000
2002-11-09 21:07:58 +00:00
John Reiser
7cbf7af6e8 cleanup ui pass count
committer: jreiser <jreiser> 1036816411 +0000
2002-11-09 04:33:31 +00:00
John Reiser
7f69f5937a be gentler, use throwAlreadyPackedByUPX()
committer: jreiser <jreiser> 1036784004 +0000
2002-11-08 19:33:24 +00:00
John Reiser
e0ad859eef pack1() re-allocates ibuf after setting blocksize
committer: jreiser <jreiser> 1036733697 +0000
2002-11-08 05:34:57 +00:00
Markus F.X.J. Oberhumer
565360a3f2 Cleanups.
committer: mfx <mfx> 1034942507 +0000
2002-10-18 12:01:47 +00:00
John Reiser
69cec874a1 checkPatch() resets
p_lx_elf.cpp p_lx_exc.cpp p_unix.cpp

committer: jreiser <jreiser> 1034906580 +0000
2002-10-18 02:03:00 +00:00
John Reiser
a9bb95fefd prefer filters 0x49,0x46 until problems with 0x2Y and 0x3Y are diagnosed
committer: jreiser <jreiser> 1034794465 +0000
2002-10-16 18:54:25 +00:00
Markus F.X.J. Oberhumer
05db38225a Disabled the untested filters for now.
committer: mfx <mfx> 1034617837 +0000
2002-10-14 17:50:37 +00:00
John Reiser
124cdfda37 new option "--ptinterp" for linux/elf386 compressing PT_INTERP file
p_lx_elf.cpp options.h main.cpp

committer: jreiser <jreiser> 1032629299 +0000
2002-09-21 17:28:19 +00:00
Markus F.X.J. Oberhumer
9b079b371d Resynced with upx 1.2 branch.
committer: mfx <mfx> 1031577224 +0000
2002-09-09 13:13:44 +00:00
Markus F.X.J. Oberhumer
666e8c2f2f Big re-sync with UPX 1.2 branch.
committer: mfx <mfx> 1026835258 +0000
2002-07-16 16:00:58 +00:00
John Reiser
ead8daf26c beware PT_LOAD.p_filesz==0
committer: jreiser <jreiser> 1009776680 +0000
2001-12-31 05:31:20 +00:00
John Reiser
a63b02ab69 make "upx -d" decompression backward compatible to 8-byte b_info
p_lx_elf.h p_lx_elf.cpp p_unix.cpp

committer: jreiser <jreiser> 981752402 +0000
2001-02-09 21:00:02 +00:00
John Reiser
2ff824e631 get rid of PT_DYNAMIC: not worth the space; instead, use "upx -d" then ldd
p_lx_exc.h p_lx_elf.cpp p_lx_exc.cpp p_lx_sh.cpp
	stub/l_lx_elf.c stub/l_lx_elf86.lds stub/fold_elf86.asm

committer: jreiser <jreiser> 981747384 +0000
2001-02-09 19:36:24 +00:00
John Reiser
e866b2231f move b_len from PackHeader to PackUnix
packer.h p_unix.h p_unix.cpp p_lx_elf.cpp p_lx_exc.cpp

committer: jreiser <jreiser> 981741734 +0000
2001-02-09 18:02:14 +00:00
Markus F.X.J. Oberhumer
3ba4cd5919 Avoid a compiler warning.
committer: mfx <mfx> 981585719 +0000
2001-02-07 22:41:59 +00:00
John Reiser
40fddf1715 Put upx stub loader at high end of ELF output file on linux,
and allow for block-by-block specification of filter and parameters.
	linker.cpp linker.h mem.cpp mem.h p_elf.h
	p_lx_elf.cpp p_lx_elf.h
	p_lx_exc.cpp p_lx_exc.h
	p_lx_sh.cpp  p_lx_sh.h
	p_unix.cpp p_unix.h
	packer.cpp packer.h
	stub/fold_elf86.asm stub/fold_exec86.asm stub/fold_sh86.asm
	stub/l_lx_elf.c  stub/l_lx_elf86.asm  stub/l_lx_elf86.lds
	stub/l_lx_exec.c stub/l_lx_exec86.asm stub/l_lx_exec86.lds
	stub/l_lx_sh.c   stub/l_lx_sh86.asm   stub/l_lx_sh86.lds
	stub/linux.hh

committer: jreiser <jreiser> 981084316 +0000
2001-02-02 03:25:16 +00:00
John Reiser
df9db96bd1 filters for unix(linux)
Modified Files:
	filteri.cpp filter/ctojr.h linker.cpp linker.h mem.cpp mem.h
	p_lx_elf.cpp p_lx_elf.h
	p_lx_exc.cpp p_lx_exc.h
	p_lx_sh.cpp  p_lx_sh.h
	p_unix.cpp packer.cpp packer.h packhead.cpp
	stub/Makefile    stub/macros.ash
	stub/l_lx_elf.c  stub/l_lx_elf86.asm  stub/l_lx_elf86.lds
	stub/l_lx_exec.c stub/l_lx_exec86.asm stub/l_lx_exec86.lds
	                 stub/l_lx_sh86.asm   stub/l_lx_sh86.lds
Added Files:
	filter/ctok.h
	stub/fold_elf86.asm stub/fold_exec86.asm stub/fold_sh86.asm

committer: jreiser <jreiser> 979796725 +0000
2001-01-18 05:45:25 +00:00
Markus F.X.J. Oberhumer
d8baf6d1e8 Added PackUnix::writePackHeader().
committer: mfx <mfx> 979754833 +0000
2001-01-17 18:07:13 +00:00
John Reiser
ce1b58d293 filters for linux/elf386;
filter.cpp filter.h p_lx_elf.cpp p_lx_elf.h filter/ctojr.h
	stub/l_lx_elf.c stub/l_lx_elf86.asm

committer: jreiser <jreiser> 978846586 +0000
2001-01-07 05:49:46 +00:00
Markus F.X.J. Oberhumer
f96955b9f0 Updated my email address.
committer: mfx <mfx> 978625825 +0000
2001-01-04 16:30:25 +00:00
Markus F.X.J. Oberhumer
597143df7f Added some more header checks.
committer: mfx <mfx> 978531825 +0000
2001-01-03 14:23:45 +00:00
Markus F.X.J. Oberhumer
572082ac2b Implemented Packer::verifyOverlappingDecompression().
committer: mfx <mfx> 978465508 +0000
2001-01-02 19:58:28 +00:00
Markus F.X.J. Oberhumer
aa540f85fa Big merge of my working tree: Added options `--all-methods', new
Packer::getCompressionMethods(), improved Packer::compressWithFilters().

committer: mfx <mfx> 978449945 +0000
2001-01-02 15:39:05 +00:00
Markus F.X.J. Oberhumer
11ee8627b8 Improved some ELF header checks.
committer: mfx <mfx> 978099239 +0000
2000-12-29 14:13:59 +00:00
Markus F.X.J. Oberhumer
85920ea8b1 Use the new macro COMPILE_TIME_ASSERT() instead of several assert().
committer: mfx <mfx> 978092937 +0000
2000-12-29 12:28:57 +00:00
Markus F.X.J. Oberhumer
c3ec6b73e5 Use UPX_MAGIC_LE32 instead of PackHeader::magic.
committer: mfx <mfx> 977922670 +0000
2000-12-27 13:11:10 +00:00
Markus F.X.J. Oberhumer
d168d85650 Some ELF related cleanups.
committer: mfx <mfx> 977488389 +0000
2000-12-22 12:33:09 +00:00
Markus F.X.J. Oberhumer
dbbc47a334 Added option `--force-execve' which forces the use of the generic
linux/386 format.

committer: mfx <mfx> 977486503 +0000
2000-12-22 12:01:43 +00:00
Markus F.X.J. Oberhumer
1d948c839d Moved the generic linux/386 format into the new p_lx_exc.{h,cpp} files.
committer: mfx <mfx> 977423460 +0000
2000-12-21 18:31:00 +00:00
Markus F.X.J. Oberhumer
5d74b7252d Cleaned up the use of upx_compress(), use delete[] where needed.
committer: mfx <mfx> 977422374 +0000
2000-12-21 18:12:54 +00:00
Markus F.X.J. Oberhumer
06dc67da49 Added some more checks to canPack(), throw an exception in case
of crippled ELF headers.

committer: mfx <mfx> 977393134 +0000
2000-12-21 10:05:34 +00:00
Markus F.X.J. Oberhumer
a24af0ce74 Final 1.10 patches.
committer: mfx <mfx> 977313794 +0000
2000-12-20 12:03:14 +00:00
Markus F.X.J. Oberhumer
fa772703d4 Prepared for 1.10 release.
committer: mfx <mfx> 977233750 +0000
2000-12-19 13:49:10 +00:00
Markus F.X.J. Oberhumer
8ef3beb6c6 Added Packer::checkFinalCompressionRatio().
committer: mfx <mfx> 976775892 +0000
2000-12-14 06:38:12 +00:00
Markus F.X.J. Oberhumer
c6481575f9 Rewrote PackHeader handling. In particuliar, Packer::putPackHeader()
was renamed to patchPackHeader(), and it is now under control of
the usual checkPatch() patch-order.

committer: mfx <mfx> 976601615 +0000
2000-12-12 06:13:35 +00:00
Markus F.X.J. Oberhumer
c350efb3d0 Renamed pass and total_passes to ui_pass and ui_total_passes in class Packer.
committer: mfx <mfx> 975421199 +0000
2000-11-28 14:19:59 +00:00
Markus F.X.J. Oberhumer
2e6c03690f Swapped the parameters in Packer::checkCompressionRatio() - all functions
now have the uncompressed size before the compressed size in the
parameter list.

committer: mfx <mfx> 974917952 +0000
2000-11-22 18:32:32 +00:00
Markus F.X.J. Oberhumer
abc15a398c Updated the file headers.
committer: mfx <mfx> 974118160 +0000
2000-11-13 12:22:40 +00:00
Markus F.X.J. Oberhumer
31c91fbc0e Cleaned up blocksize handling.
committer: mfx <mfx> 973826681 +0000
2000-11-10 03:24:41 +00:00
Markus F.X.J. Oberhumer
65601b5c26 Avoid some compiler warnings.
committer: mfx <mfx> 968567027 +0000
2000-09-10 06:23:47 +00:00
Markus F.X.J. Oberhumer
51c6566092 Packer::canUnpack() now can return -1.
committer: mfx <mfx> 962126554 +0000
2000-06-27 17:22:34 +00:00
Markus F.X.J. Oberhumer
51b162f069 Cleaned up the Linux C stub loaders by putting more stuff into linux.hh.
committer: mfx <mfx> 962045590 +0000
2000-06-26 18:53:10 +00:00
John Reiser
08057f2a85 fix memory leak of phdri
committer: jreiser <jreiser> 958968535 +0000
2000-05-22 04:08:55 +00:00
John Reiser
6bb104b39f Compress the compiled C code in the stub on lx_exec86 (saves 157 bytes).
Also make 'fold_begin' processing more robust.
	p_lx_elf.cpp p_lx_sh.cpp p_unix.cpp
	stub/Makefile stub/l_lx_exec86.asm

committer: jreiser <jreiser> 958923851 +0000
2000-05-21 15:44:11 +00:00
John Reiser
fdebd78d50 MemBuffer instead of 'new'
committer: jreiser <jreiser> 958865724 +0000
2000-05-20 23:35:24 +00:00
convert-repo
1a9128a473 Initial commit (from git) 2000-05-19 16:04:55 +00:00