Commit Graph

234 Commits

Author SHA1 Message Date
Markus F.X.J. Oberhumer
7f0545cae7 Check result of hdr compression. 2006-05-20 13:37:34 +02:00
Markus F.X.J. Oberhumer
68f35deb86 Fixed a rare boundary problem in Packer::compressWithFilters().
The comparision if an update might be possible later was using
"<" instead of "<=" which resulted in missing calls to
findOverlapOverhead() and buildLoader().

Also, the comparision had not been updated for the newly added
hdr_clen fields.

This fixes sf.net bug #1477825.
2006-05-20 13:29:01 +02:00
László Molnár
fec602362b added new virtual function createLinker()
committer: ml1050 <ml1050> 1146153290 +0000
2006-04-27 15:54:50 +00:00
Markus F.X.J. Oberhumer
df04e8183d Filter parameters should be called "ft" instead of "fp".
committer: mfx <mfx> 1142301730 +0000
2006-03-14 02:02:10 +00:00
John Reiser
70ba662574 Avoid overwrite of obuf when hdr_buf and non-first method.
committer: jreiser <jreiser> 1141327368 +0000
2006-03-02 19:22:48 +00:00
John Reiser
af7de75ad4 Allow unfilter when verifyOverlappingDecompression, for convenience
in end-to-end checksum.
	packer.h packer.cpp p_unix.cpp

committer: jreiser <jreiser> 1141252960 +0000
2006-03-01 22:42:40 +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
cdd117bfb9 Rearranged debug options.
committer: mfx <mfx> 1139916141 +0000
2006-02-14 11:22:21 +00:00
Markus F.X.J. Oberhumer
69eaaa4177 Revert previous checkin.
committer: mfx <mfx> 1139914479 +0000
2006-02-14 10:54:39 +00:00
Markus F.X.J. Oberhumer
452ac52fcb Added an overloaded addLoader() method.
committer: mfx <mfx> 1139913550 +0000
2006-02-14 10:39:10 +00:00
Markus F.X.J. Oberhumer
5b2f1b6d8b Introduced UPX_VERSION_YEAR.
committer: mfx <mfx> 1139826163 +0000
2006-02-13 10:22:43 +00:00
Markus F.X.J. Oberhumer
af05296631 Made ps1/exe work again.
committer: mfx <mfx> 1139776798 +0000
2006-02-12 20:39:58 +00:00
Markus F.X.J. Oberhumer
fbb60f5191 Refactored a new mem_replace() function.
committer: mfx <mfx> 1138984802 +0000
2006-02-03 16:40:02 +00:00
Markus F.X.J. Oberhumer
899e7d2f39 Added internal debugging options '--fake-stub-version=X.XX' and
'--fake-stub-year=XXXX'.

These might prove useful for building up a test suite which is able to
check binary identity of compressed executables between UPX releases
where the implementation of a specific format has not changed.

committer: mfx <mfx> 1138960010 +0000
2006-02-03 09:46:50 +00:00
Markus F.X.J. Oberhumer
75ef603308 Linker updates from Laszlo. Needs some testing.
committer: mfx <mfx> 1109669078 +0000
2005-03-01 09:24:38 +00:00
John Reiser
f0148c3161 prepare for M_CL1B
committer: jreiser <jreiser> 1108940729 +0000
2005-02-20 23:05:29 +00:00
Markus F.X.J. Oberhumer
63b9ee61d2 Prepare UPX 1.93 release.
committer: mfx <mfx> 1107804731 +0000
2005-02-07 19:32:11 +00:00
Markus F.X.J. Oberhumer
df9aa9ac32 Misc updates.
committer: mfx <mfx> 1090256162 +0000
2004-07-19 16:56:02 +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
570b195ed6 Fixed cdecl.
committer: mfx <mfx> 1062472677 +0000
2003-09-02 03:17:57 +00:00
Markus F.X.J. Oberhumer
9e154e33c3 Win64 updates.
committer: mfx <mfx> 1060086924 +0000
2003-08-05 12:35:24 +00:00
Markus F.X.J. Oberhumer
51c28020de Use a MemBuffer instead of a pointer.
committer: mfx <mfx> 1043693800 +0000
2003-01-27 18:56:40 +00:00
Markus F.X.J. Oberhumer
6962da718c Added some calls to MemBuffer::checkState().
committer: mfx <mfx> 1042580584 +0000
2003-01-14 21:43:04 +00:00
Markus F.X.J. Oberhumer
a709b38065 Use new file+MemBuffer methods.
committer: mfx <mfx> 1042576321 +0000
2003-01-14 20:32:01 +00:00
Markus F.X.J. Oberhumer
2162a01848 Enter 2003.
committer: mfx <mfx> 1042478199 +0000
2003-01-13 17:16:39 +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
46ae6e1c2a Fixed typo in comment.
committer: mfx <mfx> 1036855554 +0000
2002-11-09 15:25:54 +00:00
Markus F.X.J. Oberhumer
565360a3f2 Cleanups.
committer: mfx <mfx> 1034942507 +0000
2002-10-18 12:01:47 +00:00
Markus F.X.J. Oberhumer
ac245b39d5 Re-synced `identtiny' from 1.2 branch.
committer: mfx <mfx> 1034741770 +0000
2002-10-16 04:16:10 +00:00
Markus F.X.J. Oberhumer
8d37bb4469 Cleanups.
committer: mfx <mfx> 1034719891 +0000
2002-10-15 22:11:31 +00:00
Markus F.X.J. Oberhumer
6779559ba2 Default to NRV2E instead of NRV2D.
committer: mfx <mfx> 1034649545 +0000
2002-10-15 02:39:05 +00:00
Markus F.X.J. Oberhumer
1ba9ce283b Added largefile support under Linux.
committer: mfx <mfx> 1034637175 +0000
2002-10-14 23:12:55 +00:00
Markus F.X.J. Oberhumer
e225d77146 Bumped version in getVersion() for all formats.
committer: mfx <mfx> 1031846916 +0000
2002-09-12 16:08:36 +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
6b74aa2673 Small updates.
committer: mfx <mfx> 1031793636 +0000
2002-09-12 01:20:36 +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
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
Markus F.X.J. Oberhumer
069417499f Moved the Packer's filter handling into the new source file packerf.cpp.
committer: mfx <mfx> 983452951 +0000
2001-03-01 13:22:31 +00:00
Markus F.X.J. Oberhumer
401567f852 Removed the optional `off' parameter from the [gs]et_[bl]e{16,24,32} functions.
committer: mfx <mfx> 981982200 +0000
2001-02-12 12:50:00 +00:00
Markus F.X.J. Oberhumer
4d64bd7e66 Added UPX_VERSION_STRING4, so that the size of the stubs is not affected
by versions like "x.yy.zz beta".

committer: mfx <mfx> 981702627 +0000
2001-02-09 07:10:27 +00:00
Markus F.X.J. Oberhumer
c9a1173698 Detabified.
committer: mfx <mfx> 981585982 +0000
2001-02-07 22:46:22 +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
47168972da Added class BeLinker.
committer: mfx <mfx> 978797683 +0000
2001-01-06 16:14:43 +00:00
Markus F.X.J. Oberhumer
9a00a9027d Cleanups.
committer: mfx <mfx> 978706067 +0000
2001-01-05 14:47:47 +00:00
Markus F.X.J. Oberhumer
266d992017 Cleanups.
committer: mfx <mfx> 978636047 +0000
2001-01-04 19:20:47 +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
ca7c07e817 Added some debug print statements.
committer: mfx <mfx> 978563773 +0000
2001-01-03 23:16:13 +00:00
Markus F.X.J. Oberhumer
df4726eb95 Removed Packer::addSection().
committer: mfx <mfx> 978539327 +0000
2001-01-03 16:28:47 +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
a8177201ef Added new field PackHeader::overlap_overhead.
committer: mfx <mfx> 978190533 +0000
2000-12-30 15:35:33 +00:00
Markus F.X.J. Oberhumer
d2625d8607 *** empty log message ***
committer: mfx <mfx> 977924664 +0000
2000-12-27 13:44:24 +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
9fc785199a Only #include "version.h" in files that actually need it.
committer: mfx <mfx> 977430123 +0000
2000-12-21 20:22:03 +00:00
Markus F.X.J. Oberhumer
f4f70634a1 Made PackHeader::magic a constant.
committer: mfx <mfx> 977428640 +0000
2000-12-21 19:57:20 +00:00
Markus F.X.J. Oberhumer
046df6da76 Added Packer::checkAlreadyPacked().
committer: mfx <mfx> 977427988 +0000
2000-12-21 19:46:28 +00:00
Markus F.X.J. Oberhumer
1e1a078808 Cleaned up Packer::readPackHeader().
committer: mfx <mfx> 977342419 +0000
2000-12-20 20:00:19 +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
f3a52a7bff Fixed patch-length sizes.
committer: mfx <mfx> 976882947 +0000
2000-12-15 12:22:27 +00:00
Markus F.X.J. Oberhumer
cb7b0e93cf Changed the parameter list of Packer::patchFilter32(), for consisitency
with the other patch and filter methods.

committer: mfx <mfx> 976879665 +0000
2000-12-15 11:27:45 +00:00
László Molnár
afcbf46519 patchFilter32 added.
committer: ml1050 <ml1050> 976877022 +0000
2000-12-15 10:43:42 +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
d266c6bff1 Added Packer::getLoaderSectionStart(), where the size of the section
is allowed to be zero.

committer: mfx <mfx> 976719893 +0000
2000-12-13 15:04:53 +00:00
Markus F.X.J. Oberhumer
ddaad37503 A check in getLoaderSection() was too strict.
committer: mfx <mfx> 976602702 +0000
2000-12-12 06:31:42 +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
a8eac4f2f8 Added some checks about bad loaders.
committer: mfx <mfx> 976593293 +0000
2000-12-12 03:54:53 +00:00
Markus F.X.J. Oberhumer
b2e0f807f2 All find*() and patch*() routines now return the buffer offset as an `int'.
committer: mfx <mfx> 976592518 +0000
2000-12-12 03:41:58 +00:00
Markus F.X.J. Oberhumer
546f561bd3 The patch_*() functions now return the buffer offset.
committer: mfx <mfx> 976587711 +0000
2000-12-12 02:21:51 +00:00
Markus F.X.J. Oberhumer
6ed8f2fd7b Improved error message.
committer: mfx <mfx> 975558083 +0000
2000-11-30 04:21:23 +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
690499b2c0 Removed a wrong assertion.
committer: mfx <mfx> 974918108 +0000
2000-11-22 18:35:08 +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
8df72ace1f Updated the UI system.
committer: mfx <mfx> 974916150 +0000
2000-11-22 18:02:30 +00:00
Markus F.X.J. Oberhumer
bd7d18d046 Added optional buffer offset parameters to compressWithFilters().
committer: mfx <mfx> 974485183 +0000
2000-11-17 18:19:43 +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
591e99438a Fixed a typo.
committer: mfx <mfx> 973826479 +0000
2000-11-10 03:21:19 +00:00
Markus F.X.J. Oberhumer
591127457d Renamed some cryptic types and vars in the filters.
committer: mfx <mfx> 968641496 +0000
2000-09-11 03:04:56 +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
László Molnár
cd67fc817e Fixed a MemBuffer handling error.
committer: ml1050 <ml1050> 965602159 +0000
2000-08-06 22:49:19 +00:00
Markus F.X.J. Oberhumer
3980081a5a Some cleanups.
committer: mfx <mfx> 962208107 +0000
2000-06-28 16:01: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
convert-repo
1a9128a473 Initial commit (from git) 2000-05-19 16:04:55 +00:00