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

204 Commits

Author SHA1 Message Date
John Reiser
8ad3d01d81 Prepare for ability to compress PT_INTERP program.
Also save 16 bytes at cost of incompatible with glibc-2.1.1 (1999-12-29).
	fold_elf86.asm l_lx_elf.c

committer: jreiser <jreiser> 1032625240 +0000
2002-09-21 16:20:40 +00:00
Markus F.X.J. Oberhumer
448baac0f4 Updated.
committer: mfx <mfx> 1031933579 +0000
2002-09-13 16:12:59 +00:00
Markus F.X.J. Oberhumer
74a2d9486b Initial NRV2E support. Pretty much untested.
committer: mfx <mfx> 1031841557 +0000
2002-09-12 14:39:17 +00:00
Markus F.X.J. Oberhumer
9f4a0fedbf Updated.
committer: mfx <mfx> 1031578030 +0000
2002-09-09 13:27:10 +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
ab229ac261 CVS test.
committer: mfx <mfx> 1028264330 +0000
2002-08-02 04:58:50 +00:00
Markus F.X.J. Oberhumer
ff2bbb7a31 New version from Jens.
committer: mfx <mfx> 1028263994 +0000
2002-08-02 04:53:14 +00:00
Markus F.X.J. Oberhumer
fd13f41294 New version from Jens.
committer: mfx <mfx> 1028128175 +0000
2002-07-31 15:09:35 +00:00
Markus F.X.J. Oberhumer
4b15d30c2a Adapted for new asm5900-mfx4.
committer: mfx <mfx> 1027601835 +0000
2002-07-25 12:57:15 +00:00
Markus F.X.J. Oberhumer
076d862ee0 Fixed syntax error.
committer: mfx <mfx> 1027598532 +0000
2002-07-25 12:02:12 +00:00
Markus F.X.J. Oberhumer
f7d66c8b50 Added a check for large file size.
committer: mfx <mfx> 1027598441 +0000
2002-07-25 12:00:41 +00:00
John Reiser
f1ccb85658 adapt to binutils-of-the-moment
committer: jreiser <jreiser> 1027548985 +0000
2002-07-24 22:16:25 +00:00
Markus F.X.J. Oberhumer
a08b3ee882 Restored revision 1.10.
committer: mfx <mfx> 1027541786 +0000
2002-07-24 20:16:26 +00:00
Markus F.X.J. Oberhumer
f0fafa3ba7 Temporarily commented out some code.
committer: mfx <mfx> 1027541308 +0000
2002-07-24 20:08:28 +00:00
Markus F.X.J. Oberhumer
f4aa80e6b4 Big re-sync with UPX 1.2 branch.
committer: mfx <mfx> 1026839174 +0000
2002-07-16 17:06:14 +00:00
Markus F.X.J. Oberhumer
14d22d29b1 Big re-sync with UPX 1.2 branch.
committer: mfx <mfx> 1026836316 +0000
2002-07-16 16:18:36 +00:00
Markus F.X.J. Oberhumer
789cfea682 Checked in psx/exe patches from Jens.
committer: mfx <mfx> 1026820270 +0000
2002-07-16 11:51:10 +00:00
John Reiser
2dfb82d5b9 Linux does not grow the stack below esp, so all accesses must be >= esp.
fold_elf86.asm fold_sh86.asm l_lx_sep86.asm

committer: jreiser <jreiser> 1006463120 +0000
2001-11-22 21:05:20 +00:00
John Reiser
83bcbb8299 internal calling sequences save 37 bytes (24 when compressed)
committer: jreiser <jreiser> 994972276 +0000
2001-07-12 21:11:16 +00:00
John Reiser
d85f48fb97 save 2 bytes when compressed
committer: jreiser <jreiser> 994968843 +0000
2001-07-12 20:14:03 +00:00
John Reiser
e4660b8608 need to search auxv for AT_PHDR
committer: jreiser <jreiser> 994946170 +0000
2001-07-12 13:56:10 +00:00
John Reiser
96141d82f4 Spend some bytes of code in stub to eliminate wasted stack space.
(Choose between this revision and previous, according to taste.)
	fold_elf86.asm l_lx_elf.c

committer: jreiser <jreiser> 994887023 +0000
2001-07-11 21:30:23 +00:00
John Reiser
ef17dc10ca Fix Elf_auxv table. upx was duplicating AT_PHDR (and others)
because Linux 2.4.5 supplies many more AT_ entries than before.
First noticed by Sebastian <scut@nb.in-berlin.de>.
	fold_elf86.asm fold_sh86.asm l_lx_sep86.asm
	l_lx_elf.c     l_lx_sh.c     l_lx_sep.c

committer: jreiser <jreiser> 994871296 +0000
2001-07-11 17:08:16 +00:00
John Reiser
caca5ffa12 keep zeroed stack as clean as possible (Sebastian <scut@nb.in-berlin.de>)
l_lx_sep86.asm fold_elf86.asm

committer: jreiser <jreiser> 994702928 +0000
2001-07-09 18:22:08 +00:00
Markus F.X.J. Oberhumer
e08d3858be Upgraded to ELFkickers 2.0.
committer: mfx <mfx> 987374332 +0000
2001-04-15 22:38:52 +00:00
Markus F.X.J. Oberhumer
0e063b9759 Whitespace changes.
committer: mfx <mfx> 984629032 +0000
2001-03-15 04:03:52 +00:00
Markus F.X.J. Oberhumer
6dbdef9d57 Split some string constants to avoid possible RCS keyword expansions.
committer: mfx <mfx> 983457621 +0000
2001-03-01 14:40:21 +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
Markus F.X.J. Oberhumer
1f1f03eaf4 Removed trailing whitespace.
committer: mfx <mfx> 981586094 +0000
2001-02-07 22:48:14 +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
Markus F.X.J. Oberhumer
c7f12f3a74 Compute an adler32 checksum.
committer: mfx <mfx> 980609412 +0000
2001-01-27 15:30:12 +00:00
Markus F.X.J. Oberhumer
99f0f0120b Updated.
committer: mfx <mfx> 980609373 +0000
2001-01-27 15:29:33 +00:00
Markus F.X.J. Oberhumer
b7f0187e9c Added a define to use the UPX 1.02 "blessed" stub code to avoid
problems with braindead virus scanners...

committer: mfx <mfx> 979849303 +0000
2001-01-18 20:21:43 +00:00
Markus F.X.J. Oberhumer
6447666284 Support VPATH builds.
committer: mfx <mfx> 979834754 +0000
2001-01-18 16:19:14 +00:00
Markus F.X.J. Oberhumer
94f7d49522 Make the stubs compile again.
committer: mfx <mfx> 979829197 +0000
2001-01-18 14:46:37 +00:00
Markus F.X.J. Oberhumer
bbf2938719 Avoid an app.pl warning.
committer: mfx <mfx> 979828878 +0000
2001-01-18 14:41:18 +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
bf52b5eb06 Small PackHeader update.
committer: mfx <mfx> 979756656 +0000
2001-01-17 18:37:36 +00:00
Markus F.X.J. Oberhumer
4322931d97 Added UPX_MAGIC2_LE32 as an additional magic number for the original
packheader as stored in the stubs.

committer: mfx <mfx> 979754722 +0000
2001-01-17 18:05:22 +00:00
Markus F.X.J. Oberhumer
8614bca405 Updated.
committer: mfx <mfx> 979237786 +0000
2001-01-11 18:29:46 +00:00
Markus F.X.J. Oberhumer
5f3bdaeebe Support VPATH builds.
committer: mfx <mfx> 979143860 +0000
2001-01-10 16:24:20 +00:00
Markus F.X.J. Oberhumer
fd81cd2ae0 Support VPATH builds.
committer: mfx <mfx> 979143221 +0000
2001-01-10 16:13:41 +00:00
Markus F.X.J. Oberhumer
9205d0be65 New version.
committer: mfx <mfx> 978973564 +0000
2001-01-08 17:06:04 +00:00
John Reiser
c9a36d51c4 refine pseudo-sections
committer: jreiser <jreiser> 978901287 +0000
2001-01-07 21:01:27 +00:00
John Reiser
7bffc86777 prepare for selective buildLoader
committer: jreiser <jreiser> 978897024 +0000
2001-01-07 19:50:24 +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
0979848bdc Added experimental app_68k.pl.
committer: mfx <mfx> 978635857 +0000
2001-01-04 19:17:37 +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
25a6da5638 dos/com and dos/sys: only add the `sbb bp,bp' section to the stub
if it is needed.

committer: mfx <mfx> 978538864 +0000
2001-01-03 16:21:04 +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
dc22e6f158 Changed a comment.
committer: mfx <mfx> 978108487 +0000
2000-12-29 16:48:07 +00:00
Markus F.X.J. Oberhumer
e5647cb0aa Disabled the new filter for now.
committer: mfx <mfx> 977230259 +0000
2000-12-19 12:50:59 +00:00
John Reiser
f275b12837 call+jmp trick filter: add Jxx with 32-bit displacement
src/fcto_ml.ch src/fcto_ml2.ch src/stub/macros.ash

committer: jreiser <jreiser> 977078022 +0000
2000-12-17 18:33:42 +00:00
John Reiser
f4e422290d CALLTR02 avoid stall for wide read after partial register write
committer: jreiser <jreiser> 976905329 +0000
2000-12-15 18:35:29 +00:00
Markus F.X.J. Oberhumer
e55feac192 Use `-O2' for compiling.
committer: mfx <mfx> 976878906 +0000
2000-12-15 11:15:06 +00:00
Markus F.X.J. Oberhumer
99715d19b6 Detabified.
committer: mfx <mfx> 976878882 +0000
2000-12-15 11:14:42 +00:00
László Molnár
376db3edca filtering support addded.
committer: ml1050 <ml1050> 976877290 +0000
2000-12-15 10:48:10 +00:00
Markus F.X.J. Oberhumer
04c3173ef3 Rewrote the new vmlinuz/i386 format in a more object-oriented way. This
should hopefully also help adding support for filters and other
things.

committer: mfx <mfx> 976723821 +0000
2000-12-13 16:10:21 +00:00
Markus F.X.J. Oberhumer
42d29038ca Added l_vmlinz.h.
committer: mfx <mfx> 976715829 +0000
2000-12-13 13:57:09 +00:00
László Molnár
de30026bbe vmlinuz/i386 support.
committer: ml1050 <ml1050> 976714560 +0000
2000-12-13 13:36:00 +00:00
Markus F.X.J. Oberhumer
c3b4fd723f Removed trailing whitespace.
committer: mfx <mfx> 976591488 +0000
2000-12-12 03:24:48 +00:00
Markus F.X.J. Oberhumer
8ea765516c Updated.
committer: mfx <mfx> 975557812 +0000
2000-11-30 04:16:52 +00:00
Markus F.X.J. Oberhumer
e14017fc8b Use "-=" instead of "+=" to ensure a value <= 127.
committer: mfx <mfx> 974915086 +0000
2000-11-22 17:44:46 +00:00
Markus F.X.J. Oberhumer
e15cc07e94 Updated the file headers.
committer: mfx <mfx> 974486775 +0000
2000-11-17 18:46:15 +00:00
Markus F.X.J. Oberhumer
b8b7812bc8 Changed info message.
committer: mfx <mfx> 974486670 +0000
2000-11-17 18:44:30 +00:00
Markus F.X.J. Oberhumer
b4f8fa125a Added a copyright header.
committer: mfx <mfx> 974485767 +0000
2000-11-17 18:29:27 +00:00
Markus F.X.J. Oberhumer
b586c35303 Corrected an URL.
committer: mfx <mfx> 974288553 +0000
2000-11-15 11:42:33 +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
7f3f4dad7d Added new macro CONST_CAST to avoid compiler warnings.
committer: mfx <mfx> 974103100 +0000
2000-11-13 08:11:40 +00:00
Markus F.X.J. Oberhumer
94071e4e5b Use `-Werror' for building the Linux stubs.
committer: mfx <mfx> 974103048 +0000
2000-11-13 08:10:48 +00:00
John Reiser
b66930fa04 default for AT_PHDR if no PT_PHDR (as in static upx)
l_lx_elf.c l_lx_sep.c; not needed in l_lx_sh.c

committer: jreiser <jreiser> 973888017 +0000
2000-11-10 20:26:57 +00:00
Markus F.X.J. Oberhumer
32f8f8a3f6 Misc updates.
committer: mfx <mfx> 973826395 +0000
2000-11-10 03:19:55 +00:00
Markus F.X.J. Oberhumer
30cd0816fd New atari/tos version. Requires UCL 0.92.
committer: mfx <mfx> 973825927 +0000
2000-11-10 03:12:07 +00:00
Markus F.X.J. Oberhumer
6a4d9475f2 Updated for latest ASL release.
committer: mfx <mfx> 973813228 +0000
2000-11-09 23:40:28 +00:00
Markus F.X.J. Oberhumer
c1b8cff796 Use basename in generated comment.
committer: mfx <mfx> 973813172 +0000
2000-11-09 23:39:32 +00:00
Markus F.X.J. Oberhumer
49ced271e8 Compile fixes for glibc 2.1.95.
committer: mfx <mfx> 972865311 +0000
2000-10-30 00:21:51 +00:00
Markus F.X.J. Oberhumer
65eb335d5a Initial version.
committer: mfx <mfx> 972865179 +0000
2000-10-30 00:19:39 +00:00
Markus F.X.J. Oberhumer
da89dfa63f Renamed some symbols to match the C version.
committer: mfx <mfx> 969537932 +0000
2000-09-21 12:05:32 +00:00
Markus F.X.J. Oberhumer
4fc354d959 Added / updated.
committer: mfx <mfx> 969533785 +0000
2000-09-21 10:56:25 +00:00
Markus F.X.J. Oberhumer
dd1a0f87bd Updated some comments.
committer: mfx <mfx> 969524491 +0000
2000-09-21 08:21:31 +00:00
Markus F.X.J. Oberhumer
5e4cf139f9 Added support for FreeMiNT.
committer: mfx <mfx> 969522282 +0000
2000-09-21 07:44:42 +00:00
Markus F.X.J. Oberhumer
536cd992be Changed warning messages.
committer: mfx <mfx> 969522092 +0000
2000-09-21 07:41:32 +00:00
Markus F.X.J. Oberhumer
400489aa55 Use "jmp near".
committer: mfx <mfx> 969274074 +0000
2000-09-18 10:47:54 +00:00
Markus F.X.J. Oberhumer
de0f0c92be We now use bin2h.pl to build stubify.h
committer: mfx <mfx> 968866969 +0000
2000-09-13 17:42:49 +00:00
Markus F.X.J. Oberhumer
31c9420613 Added explicit word' and dword' to several jumps.
committer: mfx <mfx> 968832694 +0000
2000-09-13 08:11:34 +00:00
Markus F.X.J. Oberhumer
95fa06f507 Upgraded to new ELFkickers from August 2000.
committer: mfx <mfx> 968636590 +0000
2000-09-11 01:43:10 +00:00
Markus F.X.J. Oberhumer
61d7c3beec Fixed the bad CVS "Id:" signature.
committer: mfx <mfx> 968540510 +0000
2000-09-09 23:01:50 +00:00
John Reiser
55b0533c80 change compile mode to save space instead of debugging time
committer: jreiser <jreiser> 963979818 +0000
2000-07-19 04:10:18 +00:00
John Reiser
c29270a018 ERR_LAB when saving space
committer: jreiser <jreiser> 962254262 +0000
2000-06-29 04:51:02 +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
Markus F.X.J. Oberhumer
957ef351c4 Updated to match new setfold.sh.
committer: mfx <mfx> 962042492 +0000
2000-06-26 18:01:32 +00:00
Markus F.X.J. Oberhumer
aba09d07c9 Make it compile again by adding a more portable setfold.sh script.
committer: mfx <mfx> 962038500 +0000
2000-06-26 16:55:00 +00:00
Markus F.X.J. Oberhumer
9be680108e Initial version.
committer: mfx <mfx> 962037446 +0000
2000-06-26 16:37:26 +00:00
John Reiser
b12a57aa44 Defend against SIGSEGV due to decompressor overrun of output.
committer: jreiser <jreiser> 959230562 +0000
2000-05-25 04:56:02 +00:00
John Reiser
f9c33255c5 use mmap()+munmap() for output during decompression; and squeeze hard!
p_unix.cpp stub/l_lx_exec.c

committer: jreiser <jreiser> 959142814 +0000
2000-05-24 04:33:34 +00:00
John Reiser
82a16bd4f2 Remove housekeeping file inadvertently checked in.
committer: jreiser <jreiser> 959051616 +0000
2000-05-23 03:13:36 +00:00
John Reiser
f443210ded avoid copying (faster for same instruction size)
committer: jreiser <jreiser> 958949861 +0000
2000-05-21 22:57:41 +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
0c99a3f72a munmap dead input pages after blocksize output
committer: jreiser <jreiser> 958861736 +0000
2000-05-20 22:28:56 +00:00
John Reiser
25ade0970b Extent for xread(); more args for upx_main()
l_lx_exec.c l_lx_exec86.asm

committer: jreiser <jreiser> 958847261 +0000
2000-05-20 18:27:41 +00:00
John Reiser
1c24a96864 tail order the args for better compressability;
special syscall1m for mmap because Z0 and Z1 don't work there.

committer: jreiser <jreiser> 958847154 +0000
2000-05-20 18:25:54 +00:00
John Reiser
7854a924c7 put overlay into PT_LOAD, in order to protect from /usr/bin/strip,
and prepare to discontinue use of /proc/exe by stub
	p_unix.cpp p_unix.h stub/Makefile
	stub/l_lx_exec86.lds

committer: jreiser <jreiser> 958837765 +0000
2000-05-20 15:49:25 +00:00
John Reiser
e6e9229942 Patch (output of diff -u) to bfd/elfcode.h so that programs such as
gdb, size, objdump will work with UPX-packed executables.

committer: jreiser <jreiser> 958752295 +0000
2000-05-19 16:04:55 +00:00
convert-repo
1a9128a473 Initial commit (from git) 2000-05-19 16:04:55 +00:00