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

3619 Commits

Author SHA1 Message Date
John Reiser
73b854874e Defend against junk PT_DYNAMIC
https://github.com/upx/upx/issues/390
	modified:   p_lx_elf.cpp
2020-07-23 04:14:34 -07:00
John Reiser
0016512df1 Unpack: Phdrs must be within expansion of first compressed block
https://github.com/upx/upx/issues/388
	modified:   p_lx_elf.cpp
2020-07-22 19:34:27 -07:00
John Reiser
527139978a DT_HASH chains might be trimmed (64-bit, too)
https://github.com/upx/upx/issues/383
	modified:   p_lx_elf.cpp
2020-06-08 12:37:53 -07:00
John Reiser
47bc68fa6b DT_HASH chains might be trimmed
https://github.com/upx/upx/issues/383
	modified:   p_lx_elf.cpp
2020-06-07 19:35:49 -07:00
John Reiser
972b670a64 Set .b_extra for hdr, especially for Mach-o for 'go'.
https://github.com/upx/upx/issues/222
	modified:   p_unix.cpp
2020-06-06 17:11:32 -07:00
John Reiser
d7c416f243 More DPRINTF debugging
modified:   stub/src/amd64-darwin.macho-main.c
2020-06-06 17:10:53 -07:00
John Reiser
3ace7a0468 Documentation only
modified:   stub/src/amd64-darwin.macho-main.c
2020-06-06 15:32:45 -07:00
John Reiser
d305023f5e Sync testsuite checksums for "ELF pageholes" feature
modified:   .github/travis_testsuite_1-expected_sha256sums.sh
2020-05-30 13:56:12 -07:00
John Reiser
963392a5ae De-compress (upx -d) for ELF pageholes
modified:   p_lx_elf.cpp
2020-05-30 13:54:11 -07:00
John Reiser
2f453acf5d use UPX_RSIZE_MAX_MEM
modified:   p_mach.cpp
2020-05-28 15:45:07 -07:00
John Reiser
4ae1576726 Mach-o LC_SEGMENTs not monotonic in file (__DWARF for 'go')
https://github.com/upx/upx/issues/222  go-1.14 (but not go-1.14.3 ?)
	modified:   ../p_mach.cpp
	modified:   ../p_mach.h
	modified:   ../p_unix.cpp
	modified:   ../p_unix.h
	modified:   ../stub/src/amd64-darwin.macho-main.c

	modified:   ../stub/amd64-darwin.macho-fold.h
	modified:   ../stub/arm.v5a-darwin.macho-fold.h
	modified:   ../stub/arm64-darwin.macho-fold.h
	modified:   ../stub/tmp/amd64-darwin.macho-fold.map
	modified:   ../stub/tmp/arm.v5a-darwin.macho-fold.map
	modified:   ../stub/tmp/arm64-darwin.macho-fold.map
2020-05-30 02:54:09 -07: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
Markus F.X.J. Oberhumer
a1ad1aee99 Use "python2" instead of "python". 2020-05-23 20:07:23 +02:00
John Reiser
a817ed0692 uintptr_t for MSVC
modified:   p_lx_elf.cpp
2020-05-23 11:02:46 -07:00
John Reiser
828a6cf07b invert_pt_dynamic() more checking
https://github.com/upx/upx/issues/378
https://github.com/upx/upx/issues/379
	modified:   p_lx_elf.cpp
2020-05-23 10:51:03 -07:00
John Reiser
962c35aa08 More checking of DT_GNU_HASH and DT_HASH tables
https://github.com/upx/upx/issues/381
	modified:   p_lx_elf.cpp
2020-05-23 10:04:38 -07:00
John Reiser
b327645e64 More checking of DT_GNU_HASH and DT_HASH tables
https://github.com/upx/upx/issues/380
	modified:   p_lx_elf.cpp
2020-05-23 09:41:41 -07:00
John Reiser
e1b42616a2 workaround: MIPS.r3000 early uClibc forgot memset(,0,) of local array
ldso/ldso/ldso.c: _dl_get_ready_to_run()
    _dl_memset(app_tpnt, 0, sizeof(*app_tpnt));
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S

	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
2020-05-26 14:49:25 -07:00
John Reiser
f96638c42a MIPS32 works: ELF layout for page holes
modified:   stub/src/include/linux.h
	modified:   stub/src/mipsel.r3000-linux.elf-entry.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S

	modified:   stub/mips.r3000-linux.elf-entry.h
	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-entry.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
	modified:   stub/tmp/mips.r3000-linux.elf-entry.bin.dump
	modified:   stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   stub/tmp/mipsel.r3000-linux.elf-entry.bin.dump
	modified:   stub/tmp/mipsel.r3000-linux.elf-fold.map
2020-05-25 14:13:01 -07:00
John Reiser
6272152dfe phdr[C_BASE].p_memsz for ET_EXEC
modified:   p_lx_elf.cpp
2020-05-25 14:11:46 -07:00
John Reiser
030a200c08 clarity; no functional change
modified:   stub/src/powerpc-linux.elf-entry.S
2020-05-25 14:07:58 -07:00
John Reiser
994da63b4d DPRINTF the munmap
modified:   stub/src/i386-linux.elf-main.c
2020-05-25 14:05:58 -07:00
John Reiser
2315bff280 powerpc64 works: ELF layout for page holes
modified:   stub/src/powerpc64le-linux.elf-entry.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S

	modified:   stub/powerpc64-linux.elf-entry.h
	modified:   stub/powerpc64-linux.elf-fold.h
	modified:   stub/powerpc64le-linux.elf-entry.h
	modified:   stub/powerpc64le-linux.elf-fold.h
	modified:   stub/tmp/powerpc64-linux.elf-entry.bin.dump
	modified:   stub/tmp/powerpc64-linux.elf-fold.map
	modified:   stub/tmp/powerpc64le-linux.elf-entry.bin.dump
	modified:   stub/tmp/powerpc64le-linux.elf-fold.map
2020-05-23 11:18:32 -07:00
John Reiser
98dddf93d8 powerpc32 works: ELF layout for page holes
modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S

	modified:   stub/powerpc-linux.elf-entry.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/tmp/powerpc-linux.elf-entry.bin.dump
	modified:   stub/tmp/powerpc-linux.elf-fold.map
2020-05-23 08:00:35 -07:00
John Reiser
fd2939e18d i386 works: ELF layout for page holes
modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-main.c

	modified:   stub/arm.v4a-linux.elf-fold.h
	modified:   stub/arm.v5a-linux.elf-fold.h
	modified:   stub/armeb.v4a-linux.elf-fold.h
	modified:   stub/i386-linux.elf-entry.h
	modified:   stub/i386-linux.elf-fold.h
	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/src/include/linux.h
	modified:   stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   stub/tmp/i386-linux.elf-entry.bin.dump
	modified:   stub/tmp/i386-linux.elf-fold.map
	modified:   stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   stub/tmp/powerpc-linux.elf-fold.map
2020-05-15 16:05:26 -07:00
John Reiser
80c27e0822 arm.v4a works: ELF layout for page holes
modified:   p_lx_elf.cpp
	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S

	modified:   stub/arm.v4a-linux.elf-entry.h
	modified:   stub/arm.v4a-linux.elf-fold.h
	modified:   stub/arm.v5a-linux.elf-entry.h
	modified:   stub/arm.v5a-linux.elf-fold.h
	modified:   stub/armeb.v4a-linux.elf-entry.h
	modified:   stub/armeb.v4a-linux.elf-fold.h
	modified:   stub/i386-linux.elf-fold.h
	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/tmp/arm.v4a-linux.elf-entry.bin.dump
	modified:   stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   stub/tmp/arm.v5a-linux.elf-entry.bin.dump
	modified:   stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   stub/tmp/armeb.v4a-linux.elf-entry.bin.dump
	modified:   stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   stub/tmp/i386-linux.elf-fold.map
	modified:   stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   stub/tmp/powerpc-linux.elf-fold.map
2020-05-14 15:10:40 -07:00
John Reiser
b463f24eda arm64 works: ELF layout for page holes
modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S

	modified:   stub/arm64-linux.elf-entry.h
	modified:   stub/arm64-linux.elf-fold.h
	modified:   stub/tmp/arm64-linux.elf-entry.bin.dump
	modified:   stub/tmp/arm64-linux.elf-fold.map
2020-05-10 09:18:06 -07:00
John Reiser
2a849444db un-debug
modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/tmp/amd64-linux.elf-fold.map
2020-05-09 09:46:51 -07:00
John Reiser
69e106c0c5 unmap C_TEXT
modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/tmp/amd64-linux.elf-fold.map
2020-05-09 09:45:02 -07:00
John Reiser
926481dace ELF layout for page holes when runtime PAGE_SIZE < .p_align
amd64 works
	modified:   p_lx_elf.cpp
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   Makefile
	modified:   stub/amd64-linux.elf-entry.h
	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/amd64-linux.shlib-init.h
	modified:   stub/arm64-linux.elf-fold.h
	modified:   stub/powerpc64-linux.elf-fold.h
	modified:   stub/powerpc64le-linux.elf-fold.h
	modified:   stub/src/amd64-linux.shlib-init.S
	modified:   stub/tmp/amd64-linux.elf-entry.bin.dump
	modified:   stub/tmp/amd64-linux.elf-fold.map
	modified:   stub/tmp/amd64-linux.shlib-init.bin.dump
	modified:   stub/tmp/arm64-linux.elf-fold.map
	modified:   stub/tmp/powerpc64-linux.elf-fold.map
	modified:   stub/tmp/powerpc64le-linux.elf-fold.map
2020-05-09 08:05:05 -07:00
John Reiser
a3b2cde58d max_bucket versus symbias
modified:   p_lx_elf.cpp
2020-04-17 17:09:47 -07:00
John Reiser
30f37d2cc6 DT_GNU_HASH check the buckets
https://github.com/upx/upx/issues/365
	modified:   p_lx_elf.cpp
2020-04-17 16:49:54 -07:00
John Reiser
c4d61dd9fe --preserve-build-id for ET_EXEC
https://github.com/upx/upx/issues/371
	modified:   p_lx_elf.cpp
2020-04-17 16:17:29 -07:00
John Reiser
210870f840 invert_pt_dynamic() DT_GNU_HASH trims hash array for Rust and Android
https://github.com/upx/upx/issues/369
	modified:   p_lx_elf.cpp
2020-04-15 17:29:03 -07:00
John Reiser
4cb4bd38eb check_pt_dynamic() checks PT_DYNAMIC.p_memsz
https://github.com/upx/upx/issues/368
	modified:   p_lx_elf.cpp
2020-04-15 14:24:05 -07:00
John Reiser
58c6d19f7c unpack() checks PT_DYNAMIC.p_filesz
https://github.com/upx/upx/issues/367
	modified:   p_lx_elf.cpp
2020-04-15 14:12:06 -07:00
John Reiser
f99ae94747 More checking .e_shstrndx
https://github.com/upx/upx/issues/366
	modified:   p_vmlinx.cpp
2020-04-15 13:44:35 -07:00
John Reiser
6868ca7953 getElfSections concentrates on _Shdr[.e_shstrndx]
https://github.com/upx/upx/issues/363
	modified:   p_vmlinx.cpp
2020-04-15 13:29:01 -07:00
John Reiser
87a5a4ef32 WIP but should concentrate on section .e_shstrndx instead.
modified:   p_vmlinx.cpp
2020-04-15 13:13:45 -07:00
John Reiser
c67a5d677c More bounds checking for DT_INIT (etc.) in shlib
https://github.com/upx/upx/issues/364
	modified:   p_lx_elf.cpp
2020-04-13 17:08:49 -07:00
bitraid
1ce6f0e6f4 Fix unpacking of ASLR enabled PE files 2020-04-12 03:19:57 +03:00
John Reiser
740b4ff865 ELF shared lib: PT_DYNAMIC might be below xct_off, such as MIPS
https://github.com/upx/upx/issues/298
	modified:   p_lx_elf.cpp
2020-02-15 15:04:44 -08:00
John Reiser
1059f62566 MIPS stub mprotect() suffered from [non-]inlining.
https://github.com/upx/upx/issues/342
https://github.com/upx/upx/issues/339
	modified:   src/stub/src/include/linux.h
   consequences:
	modified:   .github/travis_testsuite_1-expected_sha256sums.sh
	modified:   src/stub/mips.r3000-linux.elf-fold.h
	modified:   src/stub/mipsel.r3000-linux.elf-fold.h
	modified:   src/stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   src/stub/tmp/mipsel.r3000-linux.elf-fold.map
2020-02-08 19:55:08 -08:00
Markus F.X.J. Oberhumer
df3193c1ee Use new ASCII art logo. 2020-01-23 00:21:44 +01:00
Jonas Zeitler
67860e3704 fix kerning on ascii art logo 2019-01-11 17:22:56 +01:00
Markus F.X.J. Oberhumer
35fbb1ecb6 Update testsuite checksums caused by version bump. 2020-01-22 23:26:41 +01:00
Markus F.X.J. Oberhumer
c63a71ad42 Prepare for switch to semantic versioning. 2020-01-22 23:24:00 +01:00
Markus F.X.J. Oberhumer
f33645f739 Post-release version bump. 2020-01-22 23:11:13 +01:00
Markus F.X.J. Oberhumer
d7ba31cab8 Bump release date. 2020-01-22 22:29:58 +01:00
John Reiser
342b1b7d6c EM_PPC64 forgot get_te16(&...) for ehdri.e_machine
So compression on big-endian host was not correct.
https://github.com/upx/upx/issues/334
	modified:   p_lx_elf.cpp
2020-01-19 18:48:50 -08:00