bitraid
1518e5bc98
PE: fix SizeOfHeaders value of Optional Header field
2021-03-25 21:41:49 +02:00
John Reiser
ba5c77c9e5
Reject if MZ and PE headers overlap
...
Overlap ('leanify', etc.) causes headaches.
https://github.com/upx/upx/issues/231
modified: p_w32pe.cpp
modified: p_w64pep.cpp
modified: pefile.cpp
2021-03-14 15:20:15 -07:00
Markus F.X.J. Oberhumer
d86d5314ba
Modernize libc usage: more cleanups.
2021-01-05 22:03:29 +01:00
Markus F.X.J. Oberhumer
700c8730cf
Modernize libc usage: stop using off_t, use modern printf.
...
C++ 14 is here, and old versions of MSVC and MSVCRT have
haunted us long enough.
2021-01-05 18:52:05 +01:00
Markus F.X.J. Oberhumer
9131d5216f
Welcome 2021.
2021-01-01 20:39:22 +01:00
Markus F.X.J. Oberhumer
f7e2266c3f
Start using some C++ 14 features.
2020-12-08 05:40:17 +01:00
John Reiser
bb1df15958
Use 'mb_' prefix on instances of MemBuffer
...
modified: pefile.cpp
modified: pefile.h
2020-12-05 13:53:14 -08:00
Liam Murphy
249431f45f
tweak formatting to reduce diff
2020-11-26 03:00:21 +00:00
Liam Murphy
cbe129795e
migrate to MemBuffer class from New() to remove leak
2020-11-26 00:14:00 +00:00
John Reiser
2a135e245b
Prefer MemBuffer instead of New()+delete
...
https://github.com/upx/upx/issues/428
modified: pefile.cpp
modified: pefile.h
2020-12-05 13:44:19 -08:00
Markus F.X.J. Oberhumer
f218812858
Fix spelling of some constants.
2020-12-03 01:46:30 +01:00
Markus F.X.J. Oberhumer
8a7b980fc0
Avoid a MSVC warning.
2020-12-03 01:44:09 +01:00
John Reiser
10df93536e
Yet another attempt to suppress MSVC C4245
...
https://github.com/upx/upx/issues/435
modified: pefile.cpp
2020-11-29 00:01:22 -08:00
John Reiser
6cad27896f
Another attempt to suppress MSVC C4245
...
https://github.com/upx/upx/issues/435
modified: pefile.cpp
2020-11-28 23:53:49 -08:00
John Reiser
052392d97b
Attempt workaround for MSVC C4245 signed/unsigned mismatch in template 'argument'
...
https://github.com/upx/upx/issues/435
modified: pefile.cpp
2020-11-28 20:23:01 -08:00
Matthijs Lavrijsen
4f3054f07d
PE: only add a TLS relocation if tls_handler_offset_reloc != 0
2020-09-08 11:44:56 +02:00
bitraid
0d7bd52e21
Only pack w/ -f PE files that force integrity check
2020-10-31 19:53:33 +02:00
John Reiser
7c105d7af5
omemmove exactly as much
...
Fix 14992260c60b8d6677a677a9cdfae98b11353df7; revealed by testsuite
modified: pefile.cpp
2020-11-05 15:05:52 -08:00
John Reiser
143049922b
Beware overlap when rebuildImports
...
Based on a hint from a little bird.
modified: pefile.cpp
2020-09-20 14:10:24 -07:00
Mattiwatti
89d0fda9fa
Make PE load config directory address dword aligned
2020-01-21 16:03:40 +01:00
bitraid
6a85bab5da
Don't pack Cotrol Flow Guard PE files
2020-07-28 17:36:13 +03:00
bitraid
17bd0b3248
Don't use --strip-reloc with -d
...
Always restore the relocation section of Portable Executables on
unpacking, if it exists in the compressed image.
2020-04-13 21:38:22 +03:00
bitraid
1ce6f0e6f4
Fix unpacking of ASLR enabled PE files
2020-04-12 03:19:57 +03:00
Markus F.X.J. Oberhumer
d1174385ef
Welcome 2020.
2020-01-08 04:13:28 +01:00
Markus F.X.J. Oberhumer
c2aa5c35f7
Silence a gcc-4.6 compiler warning.
2019-02-25 13:41:54 +01:00
Markus F.X.J. Oberhumer
3667fa4e44
Welcome 2019.
2019-02-15 11:04:09 +01:00
John Reiser
70ed2d0d03
Allow Load Configuration directory > 256, with info().
...
https://github.com/upx/upx/issues/245
modified: pefile.cpp
2019-01-26 07:51:16 -08:00
John Reiser
b711d2f750
TLS callbacks: one entry only
...
https://github.com/upx/upx/issues/186 [partial, incomplete]
(Laszlo hints there is more, but meanwhile this does fix some.)
modified: pefile.cpp
2018-04-06 13:44:24 -07:00
Mattiwatti
2c2e108301
PE: fix comparison against a constant value
...
... due to size always being assigned to right before this comparison,
and instead check against the RVA and size of the export directory
from the header. (note: this is still stricter than the Windows loader
which ignores all of these except the directory RVA, but if the name RVA
is invalid the PE was probably tampered with).
Change 'offset' to 'RVA' in exception message; this field is always an RVA
Author: Mattiwatti <mattiwatti@gmail.com >
modified: pefile.cpp
2018-04-02 09:07:29 -07:00
John Reiser
563165e6ae
Defensive patches from hints by Sean Williams <rootkit@google.com>
...
modified: pefile.cpp
2018-03-29 16:55:21 -07:00
John Reiser
e4b23f7a47
Merge branch 'devel' of https://github.com/upx/upx into devel
2018-01-21 10:30:42 -08:00
John Reiser
f056ecdcd5
pefile: Allow overlap of MZ header and PE header (h.nexepos==0x10)
...
https://github.com/upx/upx/issues/169
This means .codebase is aliased to .nexepos, with both equal to 0x10.
modified: pefile.cpp
2018-01-21 10:29:17 -08:00
Markus F.X.J. Oberhumer
9248f02557
Silence some gcc-8-snapshot compiler warnings.
2018-01-19 14:13:58 +01:00
Markus F.X.J. Oberhumer
021c8db58a
Welcome 2018.
2018-01-19 10:55:32 +01:00
John Reiser
ab35b685d4
Fix pefile.cpp bad range checking for reloc type 3 and 10
...
modified: pefile.cpp
2018-01-18 11:11:19 -08:00
John Reiser
969efe687d
MSVC pecadillos
...
modified: p_lx_elf.cpp
modified: pefile.cpp
2018-01-11 12:01:00 -08:00
John Reiser
143f0accef
PeFile check MZ offset to PE header
...
modified: pefile.cpp
2017-11-21 13:07:42 -08:00
John Reiser
7a0514d9b4
PeFile more checks for Section table
...
modified: pefile.cpp
2017-11-12 21:47:47 -08:00
John Reiser
7e7565299e
PeFile check Section table
...
https://github.com/upx/upx/issues/132
modified: pefile.cpp
2017-11-12 21:02:52 -08:00
László Molnár
ed34a089c6
minor update for a memory derefencing check
2017-11-12 16:19:40 +01:00
John Reiser
d14a2c5282
PeFile fix the recently-added interval checking.
...
https://github.com/upx/upx/issues/143
modified: pefile.cpp
2017-11-09 21:58:25 -08:00
John Reiser
58771ecca6
PeFile: better checking for import descriptors
...
modified: pefile.cpp
2017-11-08 12:38:54 -08:00
John Reiser
5d9dcb634b
PeFile: Defend against bad crafted import descriptors
...
https://github.com/upx/upx/issues/143
modified: pefile.cpp
modified: pefile.h
2017-11-08 11:07:46 -08:00
Markus F.X.J. Oberhumer
c4da5e81fa
Welcome 2017.
2017-01-03 12:02:07 +01:00
Markus F.X.J. Oberhumer
bc80d81432
Silence a bogus scan-build warning.
2016-12-30 23:59:31 +01:00
László Molnár
c7cb036536
fixed data corruption in import handling (issue #32,#34)
2016-12-30 21:31:50 +01:00
Markus F.X.J. Oberhumer
0b4ac35bc9
Tune some MSVC warnings.
2016-12-19 22:57:43 +01:00
László Molnár
c51864ca39
fixed TLS callback handling for PE64
2016-12-18 23:34:27 +01:00
John Reiser
134b829d59
prevent warning C4319: '~': zero extending 'const unsigned int' to 'upx_uint64_t' of greater size
...
modified: linker.cpp
modified: p_lx_elf.cpp
modified: pefile.cpp
2016-11-19 16:46:01 -08:00
Markus F.X.J. Oberhumer
b0207ce524
Some refactoring. NFC.
2016-10-09 13:23:19 +02:00