1
0
mirror of https://github.com/upx/upx synced 2025-10-05 19:20:23 +08:00
Commit Graph

149 Commits

Author SHA1 Message Date
László Molnár
d2c36eefc9 pe: fixed unpack problem in rebuildImports() 2006-06-23 11:17:26 +02:00
Markus F.X.J. Oberhumer
4c5b1a6ff4 Added some assertions to track down a win32/pe unpack problem which
shows up on 64-bit machines.
2006-06-22 16:47:10 +02:00
Markus F.X.J. Oberhumer
28f019d672 Merge. 2006-06-19 19:21:23 +02:00
Markus F.X.J. Oberhumer
bf5cbfffc2 Start major refactoring. 2006-06-19 19:20:50 +02:00
László Molnár
fe021e7c51 w32/pe: added Virtualloc and VirtualFree to the import list 2006-06-19 15:05:28 +02:00
Markus F.X.J. Oberhumer
d3323d6550 Major refactoring of src/stub directory. 2006-06-15 08:17:50 +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
László Molnár
2eb91f9b91 do not assume osection[0].rawdataptr > 0 during decompression 2006-06-08 16:52:54 +02:00
Markus F.X.J. Oberhumer
b7785b64cf Small cleanups to keep p_armpe & p_w32pe in sync. 2006-05-24 19:21:26 +02:00
László Molnár
f914cb6858 pe: added support for empty resource section 2006-05-24 17:14:09 +02:00
László Molnár
3dfe0ad478 pe: fined grain control over resource compression 2006-05-18 15:20:37 +02:00
László Molnár
78579b1103 pe: do not crash on out of bounds bogus relocation records 2006-05-18 15:19:55 +02:00
László Molnár
7d50344512 pe: fixed a memory leak in the resource handling code 2006-05-18 15:19:13 +02:00
László Molnár
2eb6e3b0ea arm/pe & w32/pe: disable filters for files with broken headers
committer: ml1050 <ml1050> 1145356307 +0000
2006-04-18 10:31:47 +00:00
László Molnár
4cb2a3eebe show image size change in info mode
committer: ml1050 <ml1050> 1144941392 +0000
2006-04-13 15:16:32 +00:00
László Molnár
d23d7e8775 removed unneeded entry point address check
committer: ml1050 <ml1050> 1144745835 +0000
2006-04-11 08:57:15 +00:00
Markus F.X.J. Oberhumer
d4a3f11dbb Whitespace changes.
committer: mfx <mfx> 1144318755 +0000
2006-04-06 10:19:15 +00:00
Markus F.X.J. Oberhumer
2680aabe06 Removed bogus __attribute_packed from struct udll.
committer: mfx <mfx> 1142607440 +0000
2006-03-17 14:57:20 +00:00
Markus F.X.J. Oberhumer
d5c0533b74 Allow the PE sections to cross a page boundary.
committer: mfx <mfx> 1142603590 +0000
2006-03-17 13:53:10 +00:00
László Molnár
6c9c67f6c5 DEP hack: it seems we need to patch the flags of section "UPX1" too
committer: ml1050 <ml1050> 1142508181 +0000
2006-03-16 11:23:01 +00:00
Markus F.X.J. Oberhumer
a4d79d7375 Small cosmetic changes.
committer: mfx <mfx> 1142302586 +0000
2006-03-14 02:16:26 +00:00
Markus F.X.J. Oberhumer
c43c484a62 Re-synced both files a little bit.
committer: mfx <mfx> 1142301586 +0000
2006-03-14 01:59:46 +00:00
Markus F.X.J. Oberhumer
cc4ef1944d Make sure we only touch exactly one page. Update comments.
committer: mfx <mfx> 1139928961 +0000
2006-02-14 14:56:01 +00:00
László Molnár
fd181673cd a little more comments on the DEP hack stuff
committer: ml1050 <ml1050> 1139927444 +0000
2006-02-14 14:30:44 +00:00
László Molnár
62c9547c4e added some comments on the DEP hack stuff
committer: ml1050 <ml1050> 1139918135 +0000
2006-02-14 11:55:35 +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
304ba57dad Clear the dirty stack on win32/pe.
committer: mfx <mfx> 1139914965 +0000
2006-02-14 11:02:45 +00:00
Markus F.X.J. Oberhumer
891d6be4a6 Removed options_t::win32_pe::strip_loadconf.
For compatibility reasons the option is still accepted (but
ignored) during commandline parsing.

committer: mfx <mfx> 1139866279 +0000
2006-02-13 21:31:19 +00:00
László Molnár
a5f79204ce set use_dep_hack to true
committer: ml1050 <ml1050> 1139404812 +0000
2006-02-08 13:20:12 +00:00
László Molnár
e322613d84 workaround added for a msvc runtime "protection"
committer: ml1050 <ml1050> 1139393823 +0000
2006-02-08 10:17:03 +00:00
László Molnár
8e2aa07747 load config support for win32/pe dlls
committer: ml1050 <ml1050> 1138878465 +0000
2006-02-02 11:07:45 +00:00
László Molnár
aacfb8820e better load_conf directory support. still needs some work.
committer: ml1050 <ml1050> 1132077577 +0000
2005-11-15 17:59:37 +00:00
Markus F.X.J. Oberhumer
7371c195ff Allocate larger xtrasize based on ih.datasize.
committer: mfx <mfx> 1110936001 +0000
2005-03-16 01:20:01 +00:00
Markus F.X.J. Oberhumer
0866a1996b Added two checks for buffer overflows as suggested by Giovanni Bajo.
committer: mfx <mfx> 1110732210 +0000
2005-03-13 16:43:30 +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
Markus F.X.J. Oberhumer
9110517893 Check for .NET (win32/net) files.
committer: mfx <mfx> 1090256077 +0000
2004-07-19 16:54:37 +00:00
Markus F.X.J. Oberhumer
cbf1dbe2cb Added new win32/pe option `--strip-loadconf'.
committer: mfx <mfx> 1089630382 +0000
2004-07-12 11:06:22 +00:00
Markus F.X.J. Oberhumer
f412b5e0cd Fixed Win64 warnings.
committer: mfx <mfx> 1088804606 +0000
2004-07-02 21:43:26 +00:00
Markus F.X.J. Oberhumer
5349bd0b2a Stricter check of some PE values.
committer: mfx <mfx> 1088532595 +0000
2004-06-29 18:09:55 +00:00
Markus F.X.J. Oberhumer
6a7d555ad7 Recompute tlsindex in buildLoader() as suggested by Laszlo.
committer: mfx <mfx> 1088101947 +0000
2004-06-24 18:32:27 +00:00
Markus F.X.J. Oberhumer
e06722d121 Finally fixed long-standing reloc bug.
committer: mfx <mfx> 1080194776 +0000
2004-03-25 06:06:16 +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
66565f7238 Some portab fixes.
committer: mfx <mfx> 1058450658 +0000
2003-07-17 14:04:18 +00:00
Markus F.X.J. Oberhumer
48ec581539 Renamed the options sub-structs for more consistency. Some portab fixes.
committer: mfx <mfx> 1058221575 +0000
2003-07-14 22:26:15 +00:00
Markus F.X.J. Oberhumer
a3bb8f00fd Updates for latest ACC changes.
committer: mfx <mfx> 1058050328 +0000
2003-07-12 22:52:08 +00:00
Markus F.X.J. Oberhumer
b2949259c5 Portability updates.
committer: mfx <mfx> 1054071025 +0000
2003-05-27 21:30:25 +00:00
Markus F.X.J. Oberhumer
f19c91243a Cleanups.
committer: mfx <mfx> 1044346802 +0000
2003-02-04 08:20:02 +00:00
Markus F.X.J. Oberhumer
ac4b8f8617 Use MemBuffer.clear().
committer: mfx <mfx> 1043693892 +0000
2003-01-27 18:58:12 +00:00
Markus F.X.J. Oberhumer
e96ad21db1 Added support for Intel C++ 7.0.
committer: mfx <mfx> 1042686101 +0000
2003-01-16 03:01:41 +00:00
Markus F.X.J. Oberhumer
42575d9f57 Use NULL instead of 0.
committer: mfx <mfx> 1042580552 +0000
2003-01-14 21:42:32 +00:00
Markus F.X.J. Oberhumer
992ceee52b CLeanups.
committer: mfx <mfx> 1042480204 +0000
2003-01-13 17:50:04 +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
b6c84d19ab Cleanups.
committer: mfx <mfx> 1036860405 +0000
2002-11-09 16:46:45 +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
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
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
4a142f35f5 Renamed MemBuffer::free() to dealloc() in order to better support
malloc debugging libraries like mpatrol.

committer: mfx <mfx> 983109777 +0000
2001-02-25 14:02:57 +00:00
Markus F.X.J. Oberhumer
6a95c11cf9 Updated from UPX 1.07 release.
committer: mfx <mfx> 982687495 +0000
2001-02-20 16:44:55 +00:00
Markus F.X.J. Oberhumer
8675f378b6 Small cleanups - no functional changes.
committer: mfx <mfx> 981586753 +0000
2001-02-07 22:59:13 +00:00
László Molnár
79aff4c12d Corrected tls callback handling.
Fixed a rare bug in relocation handling.
Filters need an addvalue for this format.
Experimental fix for SizeOfHeaders > 0x1000.
Check for superfluous data between sections.

committer: ml1050 <ml1050> 981241024 +0000
2001-02-03 22:57:04 +00:00
Markus F.X.J. Oberhumer
2a55ac04ce Disable TLS callback check for now.
committer: mfx <mfx> 980615053 +0000
2001-01-27 17:04:13 +00:00
Markus F.X.J. Oberhumer
7371c219b1 Updated from 1.05 release.
committer: mfx <mfx> 980367939 +0000
2001-01-24 20:25:39 +00:00
László Molnár
d5dd445a06 refuse compressing files which have tls callbacks
committer: ml1050 <ml1050> 980113870 +0000
2001-01-21 21:51:10 +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
7766b08f08 Cleanups.
committer: mfx <mfx> 978563615 +0000
2001-01-03 23:13:35 +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
c0bbc2216e Always call buildLoader() directly after compress().
committer: mfx <mfx> 978181874 +0000
2000-12-30 13:11:14 +00:00
Markus F.X.J. Oberhumer
0b01be7b29 Consistency cleanups.
committer: mfx <mfx> 978180862 +0000
2000-12-30 12:54:22 +00:00
Markus F.X.J. Oberhumer
82698fb4b0 Enabled compressWithFilters(). Added some assertions.
committer: mfx <mfx> 978108380 +0000
2000-12-29 16:46:20 +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
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
77b63fdbe9 Fixed a parameter in call to patchFilter32().
committer: mfx <mfx> 977048371 +0000
2000-12-17 10:19:31 +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
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
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
b3411ff0c6 Moved some string support functions from p_w32pe.cpp to util.h.
committer: mfx <mfx> 976588093 +0000
2000-12-12 02:28:13 +00:00
László Molnár
2afc76f0e9 fixed a rare bug in the relocation handling code.
committer: ml1050 <ml1050> 976488481 +0000
2000-12-10 22:48:01 +00:00
Markus F.X.J. Oberhumer
f26380b110 Added some debug print statements.
committer: mfx <mfx> 975558043 +0000
2000-11-30 04:20:43 +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
3be1f60c59 Disabled compressWithFilters() for now.
committer: mfx <mfx> 974490371 +0000
2000-11-17 19:46:11 +00:00
Markus F.X.J. Oberhumer
7a9bcb10ef Use compressWithFilters().
committer: mfx <mfx> 974485324 +0000
2000-11-17 18:22:04 +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
e6d847b8e0 Finally really fixed the compress-icons logic.
committer: mfx <mfx> 968848523 +0000
2000-09-13 12:35:23 +00:00
Markus F.X.J. Oberhumer
3fb744b7e9 Reverted my last patch.
committer: mfx <mfx> 968824700 +0000
2000-09-13 05:58:20 +00:00
Markus F.X.J. Oberhumer
559af47a23 Rewrote the compress-icon fix to be less confusing.
committer: mfx <mfx> 968823731 +0000
2000-09-13 05:42:11 +00:00
Markus F.X.J. Oberhumer
d9248a58af Small compress-icons fix from Laszlo.
committer: mfx <mfx> 968822264 +0000
2000-09-13 05:17:44 +00:00
Markus F.X.J. Oberhumer
075461e4ff Throw an exception in case of bad header.
committer: mfx <mfx> 968541141 +0000
2000-09-09 23:12:21 +00:00
László Molnár
8c7835fd33 Better check for hacked upx headers in canUnpack().
committer: ml1050 <ml1050> 965602273 +0000
2000-08-06 22:51:13 +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
87a1b66847 Added stricter header check during unpacking.
committer: mfx <mfx> 962126470 +0000
2000-06-27 17:21:10 +00:00
convert-repo
1a9128a473 Initial commit (from git) 2000-05-19 16:04:55 +00:00