Liam Murphy
6ce625b535
fix build
2020-11-05 22:21:19 +00:00
Liam Murphy
4702f12818
tweaks: some extra checks on lengths
2020-11-05 04:43:40 +00: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
c3466f579c
fillPackHeader: revise and add yet more checks
...
https://github.com/upx/upx/issues/414
https://github.com/upx/upx/pull/415 revised
modified: packhead.cpp
2020-11-06 13:53:29 -08: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
924b229afb
fillPackHeader more checks
...
https://github.com/upx/upx/issues/414
modified: packhead.cpp
2020-11-03 01:58:39 -08:00
John Reiser
890d66ecf0
Avoid overlap when rebuild relocs.
...
Based on a hint from a little bird.
modified: packer.cpp
2020-09-20 15:08:39 -07: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
John Reiser
e6ccef2cf1
MSVC strikes again
...
modified: p_lx_elf.cpp
2020-09-05 19:19:11 -07:00
John Reiser
be61e9f584
Fix 64-bit ET_EXEC
...
https://github.com/upx/upx/issues/405
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: ../.github/travis_testsuite_1-expected_sha256sums.sh
modified: stub/amd64-linux.elf-fold.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/powerpc64-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-fold.map
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-09-04 10:21:14 -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
John Reiser
c1a55b063e
0==e_shnum obviates testing of e_shoff
...
modified: p_lx_elf.cpp
2020-07-26 20:00:05 -07:00
John Reiser
77c914bce5
Check de-compressed SHT_SYMTAB
...
https://github.com/upx/upx/issues/396
modified: p_lx_elf.cpp
2020-07-25 09:28:02 -07:00
John Reiser
cc60f03b2e
Check Shdr more
...
https://github.com/upx/upx/issues/395
modified: p_lx_elf.cpp
2020-07-25 08:19:45 -07:00
John Reiser
cc9ccdbbd1
Check .sh_offset and .sh_size in SHT_DYNAMIC and SHT_STRNDX
...
https://github.com/upx/upx/issues/394
modified: p_lx_elf.cpp
2020-07-25 07:41:43 -07:00
John Reiser
9dfc8f573c
Avoid 0==nbucket
...
https://github.com/upx/upx/issues/393
modified: p_lx_elf.cpp
2020-07-23 05:44:18 -07:00
John Reiser
4e2fdb464a
Defend against bad PT_DYNAMIC
...
https://github.com/upx/upx/issues/391
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2020-07-23 05:09:52 -07:00
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
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
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
John Reiser
936013f60c
Decompression escape hatch for ELF can require a new page.
...
If not enough room on last page of .text, and ElfXX_Ehdr not PF_X,
then the escape hatch must use a new page.
https://github.com/upx/upx/issues/308
modified: ../.github/travis_testsuite_1-expected_sha256sums.sh
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
Plus stub/*-linux.elf-fold.h and stub/tmp/*-linux.elf-fold.map
2020-01-19 13:25:55 -08:00
Markus F.X.J. Oberhumer
9172ae3d19
New ACC version.
2020-01-16 01:53:55 +01:00
John Reiser
e2f60adc95
Detect 0==DT_SYMTAB in invert_pt_dynamic()
...
https://github.com/upx/upx/issues/333
modified: p_lx_elf.cpp
2020-01-14 18:45:52 -08:00
John Reiser
1bb93d4fce
Detect bad e_shstrtab better.
...
https://github.com/upx/upx/issues/332
modified: p_lx_elf.cpp
2020-01-13 17:26:31 -08:00
John Reiser
eb90eab632
Detect bogus DT_SYMENT.
...
https://github.com/upx/upx/issues/331
modified: p_lx_elf.cpp
2020-01-13 17:10:02 -08:00
Markus F.X.J. Oberhumer
b5b1f06a11
Avoid some compilation warnings.
2020-01-08 06:04:21 +01:00
Markus F.X.J. Oberhumer
86f8eb0930
Fix shadowing global symbols.
2020-01-08 05:44:06 +01:00
Markus F.X.J. Oberhumer
91ad0e7572
Revert "Cleanup legacy symbols: basename, index"
...
This reverts commit 47ddace96a .
2020-01-08 05:41:56 +01:00
Markus F.X.J. Oberhumer
ded07f8781
Revert "MSVC lacks S_IXUSR"
...
This reverts commit 62a07df45e .
2020-01-08 05:38:44 +01:00
Markus F.X.J. Oberhumer
849bdd87e1
Revert "Option --assume-execute-permission"
...
This reverts commit 4484acf9d6 .
2020-01-08 05:38:19 +01:00
Markus F.X.J. Oberhumer
92f072cf70
Silence some compiler warnings.
2020-01-08 04:49:27 +01:00
Markus F.X.J. Oberhumer
6a6c6d84eb
Rebuild stubs.
2020-01-08 04:30:08 +01:00
Markus F.X.J. Oberhumer
08a689c81e
Bump tentative release date.
2020-01-08 04:21:30 +01:00
Markus F.X.J. Oberhumer
d1174385ef
Welcome 2020.
2020-01-08 04:13:28 +01:00
John Reiser
cb5f590e10
More hacking Android shlib.
...
https://github.com/upx/upx/issues/318
modified: p_elf_enum.h
modified: p_lx_elf.cpp
2019-12-12 20:23:33 -08:00
John Reiser
5ed9c66ed9
Hack Android shared libraries on arm64.
...
https://github.com/upx/upx/issues/318
modified: p_lx_elf.cpp
2019-12-12 17:05:50 -08:00
John Reiser
b8f52d14f4
user_init_va on AARCH64
...
https://github.com/upx/upx/issues/318 (work-in-progress)
modified: p_elf_enum.h
modified: p_lx_elf.cpp
2019-12-04 14:26:46 -08:00
John Reiser
5d295c24f0
DT_NEEDED can be duplicated
...
modified: p_lx_elf.cpp
2019-11-26 19:33:27 -08:00
John Reiser
8be9da8280
Avoid bogus values in PT_DYNAMIC segment.
...
Detect duplicate DT_*.
Detect out-of-bounds hashtab and gashtab.
Detect missing DT_REL, DT_RELA.
Detect out-of-bounds d_val.
https://github.com/upx/upx/issues/317
modified: p_lx_elf.cpp
2019-11-23 20:06:14 -08:00
John Reiser
819c33fee2
Detect malformed Mach-o file in ::canUnpack()
...
https://github.com/upx/upx/issues/314
https://github.com/upx/upx/issues/315
modified: p_mach.cpp
2019-11-15 21:32:06 -08:00
John Reiser
75a2cc4ecb
Sync testsuite (amd64, 32-bit ARM, 64-bit ARM)
...
modified: ../.github/travis_testsuite_1-expected_sha256sums.sh
modified: Makefile
2019-10-27 21:56:30 -07:00
John Reiser
e2833cf303
Message when /proc/self/exe lacks Read permission
...
Done: amd64, 32-bit ARM, 64-bit ARM. TODO: mips, PowerpC
https://github.com/upx/upx/issues/302
modified: stub/amd64-linux.elf-entry.h
modified: stub/arm.v4a-linux.elf-entry.h
modified: stub/arm.v5a-linux.elf-entry.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/armeb.v4a-linux.elf-entry.h
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/tmp/amd64-linux.elf-entry.bin.dump
modified: stub/tmp/arm.v4a-linux.elf-entry.bin.dump
modified: stub/tmp/arm.v5a-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/armeb.v4a-linux.elf-entry.bin.dump
2019-10-27 21:30:41 -07:00
John Reiser
801de73dbe
random assembler?
...
modified: ../stub/arm64-linux.elf-entry.h
2019-10-27 21:15:15 -07:00
John Reiser
6a53c0b3d4
[Append to previous commit message.]
...
https://github.com/upx/upx/issues/286
modified: p_vmlinx.cpp
2019-07-21 10:51:59 -07:00
John Reiser
58b122d97d
Better checking for malformed input
...
https://github.com/upx/upx/issues
modified: p_vmlinx.cpp
2019-07-21 10:48:50 -07:00
John Reiser
276b748aa6
Ignore malformed ElfXX_Shdr in search for .text or .note
...
https://github.com/upx/upx/issues/287
modified: p_vmlinx.cpp
2019-07-21 07:40:21 -07:00
John Reiser
23570097cf
MSVC barfs on {unsigned == long int) [because sizeof() is the same!]
...
https://github.com/upx/upx/issues/283
modified: p_lx_elf.cpp
2019-07-14 13:39:09 -07:00
John Reiser
62a07df45e
MSVC lacks S_IXUSR
...
modified: p_unix.cpp
2019-07-14 13:38:51 -07:00
John Reiser
593a69ce25
PT_LOAD[0] with ElfXX.Ehdr only
...
https://github.com/upx/upx/issues/283
modified: p_lx_elf.cpp
2019-07-14 13:08:56 -07:00
John Reiser
c33603e324
'bound' register was clobbered
...
modified: stub/src/arch/arm64/v8/lzma_d-arm.S
2019-07-14 13:05:52 -07:00
John Reiser
49766388bc
Fix compression and de-compression of Android shared libraries
...
Handle relocation (and DT_INIT_ARRAY[0]==NULL) when !DT_INIT.
Warn about missing --android-shlib if (ET_DYN && !DF_1_PIE && Arm*).
modified: p_lx_elf.cpp
modified: p_lx_elf.h
https://github.com/upx/upx/issues/265
https://github.com/upx/upx/issues/262
https://github.com/upx/upx/issues/259
https://github.com/upx/upx/issues/243
https://github.com/upx/upx/issues/229
https://github.com/upx/upx/issues/220
2019-04-14 19:59:08 -07:00
John Reiser
f23267bddd
Fix rotate+lop of PT_INTERP in shared library
...
Found while working on https://github.com/upx/upx/issues/262
but probably does not help that bug.
modified: p_lx_elf.cpp
2019-04-01 21:35:53 -07:00
John Reiser
4484acf9d6
Option --assume-execute-permission
...
modified: main.cpp
modified: options.h
modified: p_unix.cpp
https://github.com/upx/upx/issues/256
2019-03-31 10:25:06 -07:00
John Reiser
47ddace96a
Cleanup legacy symbols: basename, index
...
modified: conf.h
https://github.com/upx/upx/issues/257
2019-03-31 10:12:41 -07:00
John Reiser
8aadbcd786
Enable standalone compiling, to investigate size of compiled code
...
modified: stub/src/arch/arm64/v8/lzma_d-arm.S
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arch/arm64/v8/nrv2b_d32.S
modified: stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
2019-03-03 14:27:33 -08:00
John Reiser
517bc9db0b
PR_SET_MM (previous commit had typo) is from 7 years ago: 2012
...
modified: stub/src/include/linux.h
2019-03-03 14:26:20 -08:00
John Reiser
16bfa7b846
PT_SET_MM since 2012
...
modified: stub/src/include/linux.h
2019-03-02 16:12:14 -08:00
John Reiser
2653a0749a
de-tabify
...
modified: stub/src/arch/i386/bxx.S
2019-03-02 15:48:44 -08:00
John Reiser
3de0008543
i386-darwin.macho re-implementation, especially for MacOS <= 10.8.x (Mountain Lion)
...
[i386 will not be supported by new MacOS beginning fall 2019.]
https://github.com/upx/upx/issues/246
modified: p_mach.cpp
modified: stub/i386-darwin.macho-entry.h
modified: stub/i386-darwin.macho-fold.h
modified: stub/i386-darwin.macho-upxmain.exe
modified: stub/i386-darwin.macho-upxmain.h
new file: stub/src/arch/i386/bxx.S
new file: stub/src/arch/i386/nrv2b_d32-easy.S
new file: stub/src/arch/i386/nrv2d_d32-easy.S
new file: stub/src/arch/i386/nrv2e_d32-easy.S
modified: stub/src/i386-darwin.macho-entry.S
modified: stub/src/i386-darwin.macho-fold.S
modified: stub/src/i386-darwin.macho-main.c
modified: stub/src/i386-darwin.macho-upxmain.c
modified: stub/tmp/i386-darwin.macho-entry.bin.dump
modified: stub/tmp/i386-darwin.macho-fold.map
2019-03-02 15:39:30 -08:00
John Reiser
d4e2d7e8a8
arm64 (aarch64) and PAGE_SIZE > 4KiB
...
Future: use prctl(PR_SET_MM, PR_SET_MM_START_BRK, addr)
https://github.com/upx/upx/issues/254
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
2019-03-01 20:31:41 -08:00
John Reiser
a9c08c6f52
__MSYS2__ acts like UNIX but cannot handle --x permission
...
https://github.com/upx/upx/issues/256
modified: p_unix.cpp
2019-03-01 16:46:49 -08:00
Markus F.X.J. Oberhumer
c2aa5c35f7
Silence a gcc-4.6 compiler warning.
2019-02-25 13:41:54 +01:00
John Reiser
423f1a8758
pack4() "__TEXT".nsects can differ from prototype to actual
...
modified: p_mach.cpp
2019-02-18 14:41:43 -08:00
Markus F.X.J. Oberhumer
b6646d319a
Bump tentative release date.
2019-02-15 11:12:07 +01:00
Markus F.X.J. Oberhumer
3667fa4e44
Welcome 2019.
2019-02-15 11:04:09 +01:00
John Reiser
d1c80154f6
SHT_NOTE with ~SHF_ALLOC; as for 'gold' linker version
...
https://github.com/upx/upx/issues/243
modified: p_lx_elf.cpp
2019-02-12 21:13:24 -08:00
John Reiser
3c2bfc742e
g++ -Wsign-compare is not as picky as MSVC warning C4018: '<': signed/unsigned mismatch
...
https://github.com/upx/upx/issues/247
modified: p_lx_elf.cpp
2019-02-09 08:04:58 -08:00
John Reiser
d60fef753f
check_pt_load(); u32_t, u64_t; (off_t) is not unsigned!
...
https://github.com/upx/upx/issues/247
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2019-02-01 19:31:57 -08: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
9719a7dd56
MSVC pettiness
...
https://github.com/upx/upx/issues/238
modified: p_lx_elf.cpp
2018-12-26 18:38:30 -08:00
John Reiser
c097233bf3
Stronger checks for DT_HASH, DT_GNU_HASH
...
https://github.com/upx/upx/issues/238
modified: p_lx_elf.cpp
2018-12-26 13:00:20 -08:00
John Reiser
69a583281f
MemBuffer::subref() for 64-bit offsets; better diagnosis for bad .e_shoff
...
https://github.com/upx/upx/issues/235 (POC14)
modified: mem.cpp
modified: mem.h
modified: p_lx_elf.cpp
2018-12-16 16:00:15 -08:00
John Reiser
8e90c9af2b
Corner cases for e_shnum vs e_shstrndx
...
modified: p_lx_elf.cpp
2018-12-16 15:36:51 -08:00
John Reiser
a784284b7f
Check user_init_off. Also remove '\n' from error messages.
...
https://github.com/upx/upx/issues/235 POC11
modified: p_lx_elf.cpp
2018-12-16 12:14:22 -08:00
John Reiser
0509edf08d
ElfXX_Sym.st_name is always 32 bits
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-12-16 11:32:58 -08:00
John Reiser
7ca20f424f
Typos
...
modified: p_lx_elf.cpp
2018-12-15 21:17:26 -08:00
John Reiser
b74d51c2a8
More checking of e_shstrndx
...
https://github.com/upx/upx/issues/235 POC6
modified: p_lx_elf.cpp
2018-12-15 21:12:15 -08:00
John Reiser
58061cd121
Check .p_offset
...
https://github.com/upx/upx/issues/235 POC13
modified: p_lx_elf.cpp
2018-12-15 20:59:45 -08:00
John Reiser
b8f6be5389
More checking of DT_HASH and DT_GNU_HASH
...
https://github.com/upx/upx/issues/235 POC12
modified: p_lx_elf.cpp
2018-12-15 20:43:33 -08:00
John Reiser
7c766b3313
Check e_shstrndx and Shdr.st_name
...
https://github.com/upx/upx/issues/235 POC10
modified: p_lx_elf.cpp
2018-12-15 20:27:20 -08:00
John Reiser
91b81b587b
Abandon when outrageous Elf64_Dyn.d_tag
...
https://github.com/upx/upx/issues/235 POC8
modified: p_lx_elf.cpp
2018-12-15 19:35:13 -08:00
John Reiser
780a4347b8
Check DT_HASH and DT_GNU_HASH.
...
https://github.com/upx/upx/issues/235 POC2,POC4
Also cleanup checking of symbol number and .st_name
in POC1,POC3,POC5,POC7,POC9,POC11
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-12-15 19:16:14 -08:00
John Reiser
606ad08dd1
Check symbol number and .st_name
...
https://github.com/upx/upx/issues/235 POC1,POC3,POC7,POC9
modified: p_elf_enum.h
modified: p_lx_elf.h
modified: p_lx_elf.cpp
2018-12-14 21:32:49 -08:00
John Reiser
75c31dff1d
Use THUMB 'ret' when in THUMB mode.
...
https://github.com/upx/upx/issues/236
https://github.com/upx/upx/issues/229
modified: src/arm.v4t-linux.shlib-init.S
modified: arm.v5t-linux.shlib-init.h
modified: tmp/arm.v5t-linux.shlib-init.bin.dump
2018-12-13 20:14:14 -08:00
John Reiser
473b90419f
Mach-o for 'rust' has intermixed LC_SEGMENT64 "__DWARF" with 0==.vmsize
...
https://github.com/upx/upx/issues/222
modified: p_mach.cpp
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/amd64-darwin.macho-upxmain.c
also *-darwin.macho-fold.{h,map}
2018-10-13 21:06:37 -07:00
John Reiser
f88b85e126
MSVC error C4146: unary minus operator applied to unsigned type, result still unsigned
...
modified: p_lx_elf.cpp
2018-10-09 20:27:19 -07:00
John Reiser
b122f8e9d0
Optimize /proc/self/exe. Sync stubs.
...
See also commit 78b1da5c00 earlier today
for https://github.com/upx/upx/issues/225 .
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
also *.h, *.map, *.bin.dump
2018-10-09 20:11:34 -07:00
John Reiser
cb8b1595a1
Pay more attention to 0==.e_shnum
...
modified: p_lx_elf.cpp
2018-10-09 19:38:43 -07:00
John Reiser
1bee919276
cosmetic: developer quality-of-life
...
modified: packer.cpp
2018-10-09 19:35:03 -07:00
John Reiser
78b1da5c00
Avoid dcache==>icache trouble with mflg_data; heuristic cache_flush for 32-bit ARM
...
modified: arm.v4a-linux.elf-entry.S
modified: arm.v4a-linux.elf-fold.S
2018-10-09 19:24:50 -07:00
John Reiser
bb8239ccda
more DPRINTF
...
modified: amd64-linux.elf-main.c
2018-10-09 19:23:06 -07:00
John Reiser
2a594ad0a7
Better return value when de-compression method mismatches.
...
modified: arch/amd64/lzma_d.S
modified: arch/amd64/nrv2b_d.S
modified: arch/amd64/nrv2d_d.S
modified: arch/amd64/nrv2e_d.S
2018-10-07 10:15:48 -07:00
John Reiser
b05073550c
"pop %rcx", not %ecx
...
modified: amd64-darwin.macho-entry.S
modified: amd64-linux.elf-entry.S
2018-10-07 10:11:45 -07:00
John Reiser
37d6a34e58
MSVC is a nimrod. (All verions 10.0 through 14.1)
...
"(4074): error C4146: unary minus operator applied to unsigned type, result still unsigned"
So what? Many programmers are much better than the typical Microsoft coder.
The C standard GUARANTEES that unsigned arithmetic uses two's complement,
ignores overflow, and the result is what the hardware adder produces.
modified: p_lx_elf.cpp
2018-09-23 20:45:07 -07:00
John Reiser
4f0cba9bb6
/proc/self/exe mapping had wrong offset in stub for 32-bit ARM
...
https://github.com/upx/upx/issues/221
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
also arm*.*-linux.elf-*.{h,map}
2018-09-23 20:32:37 -07:00
John Reiser
4d1c754af9
Preserve Mach_segment_header.flags; fix non-PIE main programs on MacOS.
...
https://github.com/upx/upx/issues/222
modified: p_mach.cpp
modified: p_mach.h
modified: stub/src/amd64-darwin.macho-entry.S
also *.macho-*.h, *.macho-fold.map, amd64-darwin.macho-entry.bin.dump
2018-09-22 18:50:37 -07:00
John Reiser
c1cfde21d7
Map when .vmsize (not .filesize). More debugging DPRINTF;
...
modified: stub/src/amd64-darwin.macho-main.c
also *.macho-fold.h, *.macho-fold.map
2018-09-22 13:06:45 -07:00
John Reiser
bb1f9cdecd
Propagate pagezero_vmsize; fix overlay_offset.
...
modified: p_mach.cpp
2018-09-22 12:11:51 -07:00
John Reiser
b259b0ca28
Print failed syscalls to stderr
...
modified: stub/src/amd64-darwin.macho-fold.S
2018-09-22 12:09:22 -07:00
John Reiser
0051dfc84f
--android-shlib: Relocate ABS _edata etc.
...
https://github.com/upx/upx/issues/220
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-09-16 15:10:40 -07:00
John Reiser
9f294e6ce5
Fix "upx -d" de-compression when input is compressed Android shlib.
...
https://github.com/upx/upx/issues/220
modified: p_lx_elf.cpp
2018-09-16 13:09:43 -07:00
John Reiser
153ea8be03
MSVC signed/unsigned
...
modified: p_mach.cpp
2018-09-11 21:13:27 -07:00
John Reiser
f3f7f97f8d
MSVC signed/unsigned
...
modified: p_mach.cpp
2018-09-09 15:58:24 -07:00
John Reiser
9bb6854e64
Fix stub for MacOS El Capitan, which has "pre-linked" /usr/bin/dyld
...
https://github.com/upx/upx/issues/218
https://github.com/Homebrew/homebrew-core/pull/31846
modified: src/amd64-darwin.macho-main.c
also *-darwin.mach-fold.{h,map}
2018-09-09 15:37:54 -07:00
John Reiser
597e8fe407
Fix de-compression for Mach-O files (MacOS)
...
https://github.com/upx/upx/issues/219
modified: p_mach.cpp
modified: p_mach.h
2018-09-08 11:41:38 -07:00
John Reiser
0dac6b7be3
MacOS de-compression (upx -d)
...
https://github.com/upx/upx/issues/218
modified: p_mach.cpp
2018-09-04 20:52:17 -07:00
Markus F.X.J. Oberhumer
2fcc3f86c0
Introduce environment variable UPX_DISABLE_GITREV_WARNING.
2018-08-26 06:29:58 +02:00
Markus F.X.J. Oberhumer
56f4d781c1
Post-release version bump.
2018-08-26 06:08:40 +02:00
John Reiser
2923c0968e
Merge branch 'devel' of https://github.com/upx/upx into devel
...
Fix Conflicts:
.github/travis_testsuite_1.sh
2018-08-22 14:58:36 -07:00
John Reiser
bdd97fe0b2
build stubs
...
modified: amd64-linux.elf-fold.h
modified: arm64-linux.elf-fold.h
modified: i386-bsd.elf-fold.h
modified: i386-linux.elf.interp-fold.h
modified: i386-netbsd.elf-fold.h
modified: i386-openbsd.elf-fold.h
modified: powerpc64-linux.elf-fold.h
modified: powerpc64le-linux.elf-fold.h
modified: tmp/amd64-linux.elf-fold.map
modified: tmp/arm64-linux.elf-fold.map
modified: tmp/i386-bsd.elf-fold.map
modified: tmp/i386-linux.elf.interp-fold.map
modified: tmp/i386-netbsd.elf-fold.map
modified: tmp/i386-openbsd.elf-fold.map
modified: tmp/powerpc64-linux.elf-fold.map
modified: tmp/powerpc64le-linux.elf-fold.map
2018-08-22 14:48:15 -07:00
John Reiser
6b500bc83b
auxv_up() quit at AT_NULL, especially when AT_BASE has been omitted.
...
Based on contribution from Brian Geffon 'bgaff'
https://github.com/upx/upx/pull/215 ; bgaff
modified: amd64-linux.elf-main.c
modified: i386-bsd.elf-main.c
modified: i386-linux.elf.interp-main.c
modified: i386-openbsd.elf-main.c
2018-08-22 14:39:14 -07:00
Markus F.X.J. Oberhumer
04d79040f9
Bump tentative release date.
2018-08-22 13:15:50 +02:00
Markus F.X.J. Oberhumer
2f06de54c5
Cosmetic update.
2018-08-22 12:43:23 +02:00
John Reiser
6489ec9bba
Fix PT_LOAD for ELF shared library.
...
modified: p_lx_elf.cpp
2018-08-20 19:36:27 -07:00
John Reiser
8f9713ed53
Appease MSVC warning C4018: s/igned/unsigned mismatch
...
modified: p_lx_elf.cpp
2018-08-13 18:47:42 -07:00
John Reiser
90eb68b3b9
Adapt to 4 PT_LOAD in binutils-2.31 and gcc-8.2.1 (Fedora 29)
...
0: PF_R: .gnu.hash .dynsym .dynstr
1: PF_X | PF_R: .plt .plt.sec .text
2: PF_R: .rodata .hash
3: PF_W | PF_R: .data.rel.ro .dynamic .got .got.plt .data .bss
modified: p_lx_elf.cpp
https://github.com/upx/upx/issues/212 (partial, Fedora 29)
2018-08-13 17:36:56 -07:00
John Reiser
95fcbcb4f2
::PackLinuxElf64amd() sets lg2_page back to 12.
...
https://github.com/upx/upx/issues/212 (partial, Fedora 29)
modified: p_lx_elf.cpp
2018-08-10 20:28:40 -07:00
John Reiser
b97688d119
Stub updates AT_PHDR for 32-bit libmusl, particularly -fPIE
...
https://github.com/upx/upx/issues/200
modified: stub/src/i386-linux.elf-main.c
also *.elf-fold.h, *.elf-fold.map for arm, armeb, i386, mips, mipsel, powerpc
modified: ../.github/travis_testsuite_1.sh
2018-08-04 18:26:02 -07:00
John Reiser
d9288213ec
More checking of PT_DYNAMIC and its contents.
...
https://github.com/upx/upx/issues/206
modified: p_lx_elf.cpp
2018-05-17 21:48:26 -07:00
John Reiser
614c86fb7d
--force-pie inhibits treating as shared library (for 'rust', etc.)
...
https://github.com/upx/upx/issues/200
modified: main.cpp
modified: options.h
modified: p_lx_elf.cpp
2018-04-26 13:44:17 -07:00
John Reiser
9f651ee40f
Ignore ElfXX_Shdr if not CMD_COMPRESS; beware unpack when PT_DYNAMIC in other PT_LOAD
...
https://github.com/upx/upx/issues/200
modified: p_lx_elf.cpp
2018-04-26 08:34:58 -07:00
John Reiser
774c8c3fd4
Fix forgotten get_teXX() in canPack() and invert_pt_dynamic()
...
https://github.com/upx/upx/issues/200
modified: p_lx_elf.cpp
2018-04-25 23:05:17 -07: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
John Reiser
8a793d5942
ELF shlib when no DT_INIT (especially --android-shlib)
...
https://github.com/upx/upx/issues/191
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-04-04 09:15:18 -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
f1a31b4793
ELf32::unpack; Elf64 parity with Elf32 for shlib with no DT_INIT
...
https://github.com/upx/upx/issues/191 [partial, not finished]
modified: p_lx_elf.cpp
2018-03-27 19:15:47 -07:00
John Reiser
5e9b6bd69d
more ELF shlib when no DT_INIT (especially Android): hook DT_INIT_ARRAY[0]
...
https://github.com/upx/upx/issues/191 [partial, not finished]
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/src/arm.v4a-linux.shlib-init.S
modified: stub/src/arm.v4t-linux.shlib-init.S
2018-03-26 16:30:52 -07:00
John Reiser
9b990c4eae
clarity
...
modified: p_lx_elf.cpp
2018-03-24 13:52:29 -07:00
John Reiser
7a625a449a
ELF shlib without DT_INIT: steal a DT_NULL from PT_DYNAMIC
...
https://github.com/upx/upx/issues/191 [partial, not finished]
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-03-24 09:41:58 -07:00
John Reiser
c2b62359d5
arm32 stubs on linux: allow 0==user_DT_INIT as nop; somewhat expensive
...
modified: stub/arm.v5a-linux.shlib-init.h
modified: stub/arm.v5t-linux.shlib-init.h
modified: stub/src/arm.v4a-linux.shlib-init.S
modified: stub/src/arm.v4t-linux.shlib-init.S
modified: stub/tmp/arm.v5a-linux.shlib-init.bin.dump
modified: stub/tmp/arm.v5t-linux.shlib-init.bin.dump
2018-03-24 08:55:04 -07:00
John Reiser
6722e8972e
cleanup dead variables: is_big, all_pages
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-03-23 08:06:31 -07:00
John Reiser
fefe7a3452
Fix segTEXT.vmsize and data for entry to shlib.
...
https://github.com/upx/upx/issues/57
modified: p_mach.cpp
2018-03-19 14:59:20 -07:00
John Reiser
90a1322929
Also check for wrap-around when checking oversize involving e_shoff and e_shnum.
...
raised by https://github.com/upx/upx/pull/190
modified: p_lx_elf.cpp
2018-03-15 21:25:20 -07:00
John Reiser
d698eb69e2
Fix decompression stub for arm64 --lzma
...
https://github.com/upx/upx/issues/181
modified: stub/src/arch/arm64/v8/lzma_d.S
2018-02-24 13:04:15 -08:00
John Reiser
0ef00e9b82
Fix --lzma (and so --ultra-brute) for 32-bit ARM
...
https://github.com/upx/upx/issues/167 (comment #14 )
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: ../.github/travis_testsuite_1.sh
2018-02-03 15:44:00 -08:00
John Reiser
95cedb6640
upgrade ::unpack for --android-shlib
...
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/src/arm.v4t-linux.shlib-init.S
2018-02-02 14:50:56 -08:00
John Reiser
d736da4208
Elf32, not shared lib: leave alone the hole between .text and .data
...
In theory Linux might put pages there (and that would be a problem),
but postpone closing the gap until more experience.
modified: p_lx_elf.cpp
2018-01-28 13:30:10 -08:00
John Reiser
be83788666
--android-shlib for 32-bit ARM
...
Includes better handling of asl_delta in execution stub.
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/src/arm.v4t-linux.shlib-init.S
modified: stub/src/arm64-linux.shlib-init.S
2018-01-27 22:00:16 -08:00
John Reiser
5a28a51abc
android shlib: better handling of asl_delta in execution stub
...
modified: p_lx_elf.cpp
modified: stub/src/arm64-linux.shlib-init.S
2018-01-26 12:35:06 -08:00
John Reiser
8a84df752c
Compiler nit: ptr->ENUM is not always considered a constant
...
modified: p_lx_elf.cpp
2018-01-26 11:54:33 -08:00
John Reiser
85f53b210d
de-compression of arm64 --android-shlib
...
modified: src/p_lx_elf.cpp
modified: src/p_lx_elf.h
modified: src/stub/src/arm64-linux.shlib-init.S
2018-01-24 15:39:46 -08:00
John Reiser
5d13c6cd01
elfout is unset for shlib in PackLinuxElf64::updateLoader
...
modified: p_lx_elf.cpp
2018-01-22 16:15:53 -08:00
John Reiser
e1d20fd0b5
Fix wobble in PackLinuxElf64::pack2
...
modified: p_lx_elf.cpp
2018-01-22 13:48:26 -08:00
John Reiser
d1035ecd8f
Fix PLT for --android-shlib
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-01-22 13:05:18 -08: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
f747435952
For consistency, add missing "virtual".
2018-01-19 20:21:18 +01:00
Markus F.X.J. Oberhumer
e6edad8f46
Clean up OptVar handling.
2018-01-19 19:50:28 +01:00
Markus F.X.J. Oberhumer
05e44b9644
Fix powerpc64 cross build.
2018-01-19 15:05:43 +01:00
Markus F.X.J. Oberhumer
16bb7ab841
clang-format files.
2018-01-19 14:18:47 +01: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
8ab180edf8
MS-DOS .exe (not PE): default to file_size when ih.m512 and ih.p512 are zero
...
https://github.com/upx/upx/issues/169
modified: p_exe.cpp
2018-01-18 12:00:38 -08: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
86745721ee
MSVC strikes again
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2018-01-15 16:27:00 -08:00
John Reiser
c34fe09a79
Revamp --android-shlib
...
Android "Oreo" wants to deal with ElfXX_Shdr[]. So splice 4KiB into PT_LOAD[0]
with an "extra" copy of them. This requires careful relocation processing.
It also costs a page at run time, and an average of a page in the file
(depending on fragmentation at the boundary between r-x and rw- .)
https://github.com/upx/upx/issues/124
https://github.com/upx/upx/issues/139
https://github.com/upx/upx/issues/142
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/src/arm.v4a-linux.shlib-init.S
modified: stub/src/arm.v4t-linux.shlib-init.S
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/arm.v5a-linux.shlib-init.h
modified: stub/arm.v5t-linux.shlib-init.h
modified: stub/arm64-linux.shlib-init.h
modified: ../.github/travis_testsuite_1.sh
2018-01-15 16:08:34 -08:00
John Reiser
f3a7620ae8
ARM: recognize R_ARM_CALL and R_ARM_JUMP24 as equivalent to R_ARM_PC24
...
modified: linker.cpp
2018-01-12 08:42:34 -08:00
Markus F.X.J. Oberhumer
900926c0ed
Avoid a MSVC warning.
2018-01-12 10:19:14 +01:00
John Reiser
df94f4288a
picky, picky
...
modified: p_lx_elf.cpp
2018-01-11 12:09:43 -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
ee3f1292d0
fix editing rot for mach-o .dylib
...
https://github.com/upx/upx/issues/57
modified: p_mach.cpp
2018-01-11 11:33:15 -08:00
John Reiser
4854c03096
uint64_t ==> upx_uint64_t
...
MSVC error C2065: 'uint64_t' : undeclared identifier
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_mach.cpp
2018-01-06 09:33:04 -08:00
John Reiser
e853119c77
canonicalize bool in OR
...
MSVC error C4805: '|' : unsafe mix of type 'bool' and type 'unsigned int' in operation
modified: p_lx_elf.cpp
2018-01-06 09:20:46 -08:00
John Reiser
edde6210f1
amd64 linux stack align
...
forgotten as part of 4a35bf32ea
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-fold.map
modified: ../.github/travis_testsuite_1.sh
2017-12-31 10:36:14 -08:00
John Reiser
507e19945e
more checking of PT_DYNAMIC
...
https://github.com/upx/upx/issues/166
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-12-30 22:31:50 -08:00
John Reiser
4a35bf32ea
static uClibc on amd64 passes entry.%rdx to 'atexit'
...
https://github.com/upx/upx/issues/166
modified: ../.github/travis_testsuite_1.sh
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main.c
2017-12-30 17:20:01 -08:00
John Reiser
e04bf9e4bc
more checking of PT_DYNAMIC
...
https://github.com/upx/upx/issues/164
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-12-28 17:40:04 -08:00
John Reiser
c384d224c0
Mach-o stubs turn off DEBUG
...
Branch jreiser-macho has DEBUG 1
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-fold.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
2017-12-27 10:23:19 -08:00
John Reiser
35427f998e
Mach-o stubs turn off SIMULATE_ON_LINUX_EABI4
...
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-fold.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
2017-12-27 09:12:38 -08:00
John Reiser
1174da2bc3
arm64 stubs use NBPW in TRACE etc
...
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.shlib-init.S
2017-12-26 16:39:51 -08:00
John Reiser
11e8a47030
DEBUG and TRACE for arm*-darwin.macho-* stubs
...
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-fold.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
2017-12-26 15:44:54 -08:00
John Reiser
8c4e9bcf0d
typo
...
modified: stub/src/arm.v4a-linux.elf-entry.S
2017-12-26 15:43:58 -08:00
John Reiser
9dfd624901
fix TRACE macro
...
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
2017-12-26 15:43:01 -08:00
John Reiser
79e65503a9
Merge branch 'devel' into jreiser-macho
2017-12-26 10:41:26 -08:00
John Reiser
59f18b9d9f
stash work-in-progress
...
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-fold.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
2017-12-22 23:07:03 -08:00
John Reiser
fb3699fb89
stash work-in-progress
...
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/amd64-darwin.macho-upxmain.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-fold.S
modified: stub/src/arm.v5a-darwin.macho-main.c
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
modified: stub/src/i386-darwin.macho-upxmain.c
2017-12-22 10:20:32 -08:00
John Reiser
9d2d59b5d2
stash work-in-progress
...
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm64-darwin.macho-fold.S
2017-12-19 21:19:53 -08:00
John Reiser
aefb2fa3c3
bad logic for throwCantUnpack("cmdsize") [simple]
...
https://github.com/upx/upx/issues/161
modified: p_mach.cpp
2017-12-19 17:36:22 -08:00
John Reiser
e8aa80f904
stash work-in-progress
...
modified: linker.cpp
modified: p_mach.cpp
modified: p_mach.h
modified: packmast.cpp
modified: stub/Makefile
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
modified: stub/src/arm64-darwin.macho-main.c
2017-12-19 17:32:15 -08:00
John Reiser
990988f920
More checking of input Phdr and Shdr
...
https://github.com/upx/upx/issues/157
modified: p_lx_elf.cpp
2017-12-18 10:36:43 -08:00
John Reiser
576d9a4e7e
stash work-in-progress
...
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/arm.v5a-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-entry.S
2017-12-17 15:02:57 -08:00
John Reiser
1d462ee424
MIPS shlib --lzma stub coding error: wrong register
...
https://github.com/upx/upx/issues/139 (part2)
modified: stub/src/mipsel.r3000-linux.shlib-init.S
2017-12-14 11:17:01 -08:00
John Reiser
c9b09555c4
MH_PIE ASLR (Address-Space Layout Randomization)
...
modified: stub/src/amd64-darwin.macho-main.c
2017-12-13 11:15:10 -08:00
John Reiser
860b5bf967
MH_EXECUTE diagnose syscall failure
...
modified: stub/src/amd64-darwin.macho-fold.S
2017-12-13 10:53:22 -08:00
John Reiser
5063480a38
MH_EXECUTE runs under lldb, fails under shell
...
mmap addr=0x100000000 len=0x3003 prot=0x3 flags=0x1012 fd=-1 off=0x0 reloc=0x0
maddr=0xffffffffffffffff addr=0x100000000
modified: p_mach.cpp
modified: p_mach_enum.h
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/amd64-darwin.macho-fold.S
modified: stub/src/amd64-darwin.macho-main.c
2017-12-13 09:54:44 -08:00
John Reiser
3400ae9dbe
MH_EXECUTE leave space for thread state command
...
modified: p_mach.cpp
2017-12-12 10:53:19 -08:00
John Reiser
3385264eb2
new DPRINTF
...
modified: stub/src/amd64-darwin.macho-main.c
2017-12-12 10:52:47 -08:00
John Reiser
34646f1c6a
fix braces in comment after #elif
...
modified: stub/src/amd64-linux.elf-main.c
2017-12-12 10:51:38 -08:00
John Reiser
50aa63a5a0
declare write()
...
modified: stub/src/include/darwin.h
2017-12-12 10:50:50 -08:00
John Reiser
64557bee43
Mach-o MH_EXECUTE rewrite; work-in-progress
...
The stub for amd64 gets to upx_main()
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/amd64-darwin.macho-fold.S
plus .h .bin.dump .map
2017-12-09 20:18:39 -08:00
John Reiser
7c21c4513e
Android 64-bit ARM shared library stub: use 4Ki page size until more is known
...
https://github.com/upx/upx/issues/124
modified: p_lx_elf.cpp
modified: stub/arm64-linux.shlib-init.h
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-12-08 20:05:21 -08:00
John Reiser
c6d6378005
Mach-o MH_EXECUTE rewrite; work-in-progress
...
The stub for amd64 gets into the de-compressed folded code.
modified: p_mach.cpp
modified: stub/amd64-darwin.macho-entry.h
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/amd64-darwin.macho-upxmain.c
modified: stub/tmp/amd64-darwin.macho-entry.bin.dump
2017-12-06 17:04:47 -08:00
John Reiser
4f6979967d
Mach-o MH_EXECUTE rewrite; work-in-progress
...
On amd64, otool and lldb accept the results.
The entry point points to the unfilter and uncompress routines.
Somehow _start has been lost.
modified: p_mach.cpp
modified: p_mach.h
modified: p_mach_enum.h
modified: stub/amd64-darwin.macho-entry.h
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/amd64-darwin.macho-upxmain.c
modified: stub/src/i386-darwin.macho-upxmain.c
modified: stub/src/powerpc-darwin.macho-upxmain.c
modified: stub/tmp/amd64-darwin.macho-entry.bin.dump
2017-12-03 23:17:55 -08:00
John Reiser
e633c51b50
off_t_upx_stub typedef enables easier use of native #include
...
... but requires #define __WORDSIZE
modified: p_mach.h
modified: stub/amd64-darwin.macho-fold.h
modified: stub/src/amd64-darwin.macho-main.c
modified: stub/src/arm.v5a-darwin.macho-main.c
modified: stub/src/arm64-darwin.macho-main.c
modified: stub/src/i386-darwin.macho-main.c
modified: stub/src/include/darwin.h
modified: stub/src/powerpc-darwin.macho-main.c
modified: stub/src/powerpc64le-darwin.macho-main.c
modified: stub/tmp/amd64-darwin.macho-fold.map
2017-11-28 14:49:46 -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
b413f3da26
ELF shared library: PT_NOTE can prevent packing
...
Android build environment post-processing is adding a PT_NOTE
("Android", 21, "r16-beta1") at the high end of PT_LOAD[0],
above the stub; the runtime linker looks there before de-compression.
https://github.com/upx/upx/issues/124
modified: p_lx_elf.cpp
2017-11-20 10:08:24 -08:00
John Reiser
6eafa552bb
Mach-o defend against bad crafted input
...
https://github.com/upx/upx/issues/146
modified: p_mach.cpp
2017-11-15 13:38:54 -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
f014406b65
MemBuffer.subref(errfmt, skip, take) checks that a subinterval is inside
...
modified: mem.cpp
modified: mem.h
2017-11-09 21:55:41 -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
John Reiser
19c2c1edcf
Android 8.0 (Oreo) wants 0!=.e_shstrndx in a shared library
...
https://github.com/upx/upx/issues/142
It should not matter what the .sh_name is; only the .sh_type matters.
modified: p_lx_elf.cpp
2017-11-07 11:12:23 -08:00
John Reiser
0430e7931e
PowerPC64 stub: on syscall, real Linux trashes r13 and below
...
(except r1, r2, and input args!) So, r12 .e_entry for musl
must copy from a saved register. [qemu-ppc64 doesn't trash registers!]
modified: ../.github/travis_testsuite_1.sh
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/powerpc64le-linux.elf-fold.S
also .h .fold.map
2017-10-27 20:07:32 -07:00
John Reiser
bb8e607442
PowerPC64 musl 1.1.16 wants r12= .e_entry
...
modified: stub/src/powerpc64le-linux.elf-fold.S
also .h .fold.map
2017-10-27 13:19:03 -07:00
John Reiser
e61ada944d
debug info for shared library on stderr under "-D"
...
modified: p_lx_elf.cpp
2017-10-25 21:32:17 -07:00
John Reiser
46730315e3
stub arm64-linux.shlib-init.S saves 1 instr and checks for assembly errors
...
modified: arm64-linux.shlib-init.S
also .h .bin.dump
2017-10-24 12:50:29 -07:00
John Reiser
4869142034
arm64 stub for shared library uses AT_PAGESZ
...
modified: stub/src/arm64-linux.shlib-init.S
also .h .bin.dump
2017-10-23 18:55:28 -07:00
John Reiser
8e42e17bbf
typo
...
modified: stub/src/amd64-linux.elf-entry.S
2017-10-23 18:53:42 -07:00
John Reiser
38c8b84a26
Align hatch_off.
...
modified: p_lx_elf.cpp
2017-10-20 17:23:55 -07:00
John Reiser
c652626a37
32-bit shared libs reduce Phdr[1].p_align to 4096, like 64-bit.
...
This saves space when PAGE_SIZE is larger than 4096: MIPS, etc.
modified: p_lx_elf.cpp
2017-10-20 16:35:27 -07:00
John Reiser
06f6e47ebf
Fix stub for MIPS shared libraries
...
https://github.com/upx/upx/issues/135
modified: p_lx_elf.cpp
modified: stub/src/mipsel.r3000-linux.shlib-init.S
also .h .bin.dump
2017-10-20 16:16:35 -07:00
John Reiser
403b180b1d
Compress shared libraries for mips and mipsel in ELF on Linux
...
modified: p_lx_elf.cpp
modified: stub/Makefile
new file: stub/mips.r3000-linux.shlib-init.h
new file: stub/mipsel.r3000-linux.shlib-init.h
new file: stub/src/mips.r3000-linux.shlib-init.S
new file: stub/src/mipsel.r3000-linux.shlib-init.S
new file: stub/tmp/mips.r3000-linux.shlib-init.bin.dump
new file: stub/tmp/mipsel.r3000-linux.shlib-init.bin.dump
2017-10-19 13:47:36 -07:00
John Reiser
ee008acfbd
amd64 implements --is_ptinterp
...
https://github.com/upx/upx/issues/121
modified: ../.github/travis_testsuite_1.sh
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
also .h, .map, .bin.dump
2017-10-18 13:10:49 -07:00
John Reiser
d149092ac0
Reference to external documentation only.
...
modified: stub/src/arch/mips/r3000/macros.ash
2017-10-17 14:11:06 -07:00
John Reiser
eafa136c69
Appease error C4146 unary minus operator applied to unsigned type, result still unsigned
...
Microsoft Optimizing Compiler 16.00.40219.01, 19.00.24215.1, 19.11.25507.1; others
modified: p_lx_elf.cpp
2017-10-17 08:44:08 -07:00
John Reiser
402c885987
Merge branch 'jreiser-elfstub' into devel
...
New stub strategy on Linux: Linux adds too many other segments
to the address space: [vdso], [sigpage], ...; and qemu might
arrange them differently. Thus the only reliable mappings
are the PT_LOAD of the compressed file itself; all other
address space is unknown! First, the compressed file uses
.bss to occupy all unused pages up to the original brk(0).
Then at run time, the stub gets another mapping of /proc/self/exe,
and uncompresses the user program on top of the original pages.
[*BSD unchanged for now?]
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-entry.S
modified: p_unix.cpp
modified: p_mach.cpp
modified: p_lx_sh.cpp
modified: p_lx_interp.cpp
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_lx_interp.h
modified: p_lx_sh.h
modified: p_mach.h
modified: p_unix.h
modified: stub/src/arch/mips/r3000/macros.ash
modified: stub/src/arch/powerpc/32/ppc_regs.h
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/include/linux.h
modified: stub/Makefile
modified: ../.github/travis_testsuite_1.sh
also .h .map .bin.dump
2017-10-14 14:26:11 -07:00
John Reiser
ff1d5fb794
stub for 64-bit little-endian PowerPC also uses TOC
...
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/powerpc64le-linux.elf-fold.S
2017-10-14 13:54:43 -07:00
John Reiser
ad3f63b5c4
stubs *.elf-main.c: tighten input to first decompress of ELF headers
...
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
also .h, .map
2017-10-14 06:21:44 -07:00
John Reiser
a3e51e6dee
stub for PowerPC 64-bit big endian: accommodate musl bare .func as .e_entry
...
modified: stub/src/powerpc64le-linux.elf-fold.S
2017-10-14 06:18:00 -07:00
John Reiser
c1b9c79f54
arm,armeb stubs need endian-neutral code to set mflg_subr
...
modified: stub/src/arm.v4a-linux.elf-entry.S
also .h, .bin.dump
2017-10-13 12:27:07 -07:00
John Reiser
e0bc040b0a
mips stub uses new strategy
...
modified: p_lx_elf.cpp
modified: stub/src/arch/mips/r3000/macros.ash
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
also .h, .bin.dump, .map
2017-10-12 21:04:10 -07:00
John Reiser
85eb4c7537
powerpc stub: used wrong register
...
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/arch/powerpc/32/ppc_regs.h
2017-10-11 17:17:45 -07:00
John Reiser
1f929d47d0
x86_64 stub also needs make_hatch()
...
https://github.com/upx/upx/issues/133
modified: stub/src/amd64-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
also .h and .map
2017-10-11 09:06:50 -07:00
John Reiser
608662d73b
x86_64 stub also needs make_hatch()
...
https://github.com/upx/upx/issues/133
modified: stub/src/amd64-linux.elf-main.c
2017-10-11 08:45:21 -07:00
John Reiser
7841d23e77
arm64: folded stub uses 64-bit TRACEing under DEBUG
...
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
2017-10-10 21:39:50 -07:00
John Reiser
b72dda4ada
arm64 spills a few registers because syscall can trash x18
...
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
2017-10-10 20:31:11 -07:00
John Reiser
c59c8a1ea2
readability; no functional change
...
modified: stub/src/powerpc64le-linux.elf-entry.S
2017-10-10 20:30:41 -07:00
John Reiser
1522293be0
arm64: stub uses new strategy
...
modified: p_lx_elf.cpp
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-main.c
also .h, .map, .bin.dump
2017-10-10 14:51:03 -07:00
John Reiser
b37bc99330
PowerPC64: stub uses new strategy
...
Needed: expert on TOC for big-endian. glibc, musl, gcc disagree
on layout (is the .func first?) and usage for .e_entry.
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/Makefile
also .h, .bin.dump, .map
2017-10-07 13:43:12 -07:00
John Reiser
7f905724b1
amd64: stub uses new strategy
...
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: p_lx_elf.cpp
also .h, .bin.dump, .map
2017-10-06 11:15:34 -07:00
John Reiser
2bf5bb1625
arm: stub uses new strategy
...
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: p_lx_elf.cpp
plus .h, .bin.dump, .map
2017-10-05 17:07:30 -07:00
John Reiser
08d3376740
Elf i386 stub: get enough space when unfolded code requires another page
...
modified: src/i386-linux.elf-entry.S
2017-10-03 11:48:27 -07:00
John Reiser
7bace76176
Protect against bad crafted input.
...
https://github.com/upx/upx/issues/129
modified: p_lx_elf.cpp
2017-10-03 09:55:34 -07:00
John Reiser
ef336dbcc6
Protect against bad crafted input.
...
https://github.com/upx/upx/issues/128
modified: p_lx_elf.cpp
2017-10-02 21:47:40 -07:00
John Reiser
ca7217e717
powerpc: stub uses new strategy
...
First mmap must reserve enough space to decompress folded stub.
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
also .h, .map, .dump
2017-10-02 20:03:47 -07:00
John Reiser
3931cb7871
off_t is signed and long; keep the long when discarding the signed.
...
https://github.com/upx/upx/issues/127
modified: p_vmlinx.cpp
2017-10-01 16:14:09 -07:00
John Reiser
9e8de4abe5
i386: new stub strategy to avoid problems with early mmap layout
...
The stub occupies the same region that execve() would create
for the original progam. The stub copies everything to a new area,
erases the original region, replaces it with the de-compressed
program, and erases the copy of itself via the escape hatch.
The copy is inexpensive via mmap() of /proc/self/exe.
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: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_lx_interp.cpp
modified: p_lx_interp.h
modified: p_lx_sh.cpp
modified: p_lx_sh.h
modified: p_mach.cpp
modified: p_mach.h
modified: p_unix.cpp
modified: p_unix.h
modified: p_vmlinx.cpp
plus .h, .map, .dump
2017-10-01 15:56:34 -07:00
John Reiser
26be845563
mips stubs: implement ET_DYN (-pie).
...
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
plus associated *.h, *.bin.dump, and ../.github/travis_testsuite_1.sh
2017-09-26 10:05:22 -07:00
John Reiser
2f11a629fa
Fix flub: "git --amend" after "git push" is not a good idea.
...
https://github.com/upx/upx/issues/126# Please enter the commit message for your changes. Lines starting
modified: arm64-linux.shlib-init.S
2017-09-25 11:43:38 -07:00
John Reiser
04597fb804
Fix bug in unfilter for shlib on arm64.
...
https://github.com/upx/upx/issues/126
modified: stub/src/arm64-linux.shlib-init.S
and associated *.h, *.bin.dump
2017-09-25 11:38:33 -07:00
John Reiser
509de877ca
Cleanup powerpc64 aux stub files.
...
modified: stub/powerpc64-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/tmp/powerpc64-linux.elf-fold.map
modified: stub/tmp/powerpc64le-linux.elf-fold.map
2017-09-24 20:30:07 -07:00
John Reiser
63aea4a7dc
64-bit Power PC linux uses 64KiB page size, but qemu-ppc64{,le} uses 4KiB.
...
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/include/linux.h
modified: stub/src/powerpc64le-linux.elf-fold.S
2017-09-24 20:24:46 -07:00
John Reiser
6470c748db
Flush ACC_UNUSED(adrc); and its predecessors from stub for MIPS.
...
modified: p_lx_elf.cpp
2017-09-24 20:07:31 -07:00
John Reiser
25a6429e6a
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-09-23 10:43:14 -07:00
John Reiser
4fa1c2a97e
Avoid the stack in stub for PowerPC, especially under qemu-ppc.
...
modified: stub/src/powerpc-linux.elf-entry.S
also travis_testsuite_1.sh, -entry.h, -entry.bin.dump
2017-09-23 10:41:40 -07:00
Markus F.X.J. Oberhumer
9ad39d77cc
Update Travis.
2017-09-21 10:15:01 +02:00
John Reiser
92527126a8
Adapt around qemu-arm placement of ET_DYN and stack.
...
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: ../.github/travis_testsuite_1.sh
plus arm*.elf-entry.h, arm*.elf-entry.bin.dump
2017-09-20 15:23:12 -07:00
John Reiser
ede570be21
Spend 8 instructions to avoid modifying [0xf7000000, +) under qemu-arm.
...
modified: src/arm.v4a-linux.elf-entry.S
modified: src/arm.v4a-linux.elf-fold.S
plus arm*.h and tmp/arm*.{dump,map}
2017-09-20 13:31:38 -07:00
John Reiser
08627e9df5
Fix some AT_PHDR problems, at least on x86*.
...
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
plus many *.elf-fold.h and *.elf-fold.map
2017-09-18 19:54:27 -07:00
John Reiser
6d9f3adc86
Escape hatch for Thumb-mode shared library must reside at even address.
...
https://github.com/upx/upx/issues/122
modified: stub/src/arm.v4t-linux.shlib-init.S
modified: stub/arm.v5t-linux.shlib-init.h
modified: stub/tmp/arm.v5t-linux.shlib-init.bin.dump
2017-09-13 22:38:24 -07:00
John Reiser
96433b4e39
FILTER_ID was wrong for arm64-linux.shlib and arm64-darwin.macho.
...
https://github.com/upx/upx/issues/100 (partial)
modified: stub/src/arm64-darwin.macho-fold.S
modified: stub/src/arm64-linux.shlib-init.S
modified: p_mach.cpp
modified: stub/arm64-darwin.macho-fold.h
modified: stub/arm64-linux.shlib-init.h
2017-08-25 12:51:33 -07:00
John Reiser
f4947cc2ae
Work-around Ubuntu runtime bug loading shlib on ARM.
...
Use --android-shlib to activate the work-around.
https://bugs.launchpad.net/bugs/1712938
https://github.com/upx/upx/issues/116
modified: p_elf_enum.h
modified: p_lx_elf.cpp
2017-08-24 19:52:30 -07:00
John Reiser
5b54544438
Fix powerpc64 (BIG_ENDIAN and comments)
...
modified: stub/src/arch/powerpc/64/lzma_d.S
modified: stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/powerpc64-linux.elf-main.c
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
modified: stub/src/powerpc64le-linux.kernel.vmlinux.S
plus stub/powerpc64*entry.h and .dump
2017-07-26 11:16:02 -07:00
Markus F.X.J. Oberhumer
ef78d23494
Update Travis and check_whitespace.sh.
2017-07-23 02:59:51 +02:00
Markus F.X.J. Oberhumer
ef8a7f330d
Silence some compiler warnings.
2017-07-23 02:59:51 +02:00
Markus F.X.J. Oberhumer
b72e0f3060
Disable debugging section.
2017-07-23 02:59:51 +02:00
Markus F.X.J. Oberhumer
2a0bab938b
Rebuild stubs.
2017-07-23 02:20:05 +02:00
Markus F.X.J. Oberhumer
cd637629c4
Update stub/src/arch/powerpc Makefiles.
2017-07-23 02:18:39 +02:00
John Reiser
b9adfd801d
Compile powerpc64 using powerpc64-linux-gcc-4.9.2 from stubtools
...
modified: src/arch/powerpc/64/Makefile.extra
2017-07-22 16:14:12 -07:00
Markus F.X.J. Oberhumer
69355514c9
Fix some misspellings.
2017-07-22 12:54:37 +02:00
Markus F.X.J. Oberhumer
33dc947c21
clang-format files.
2017-07-22 12:47:45 +02:00
John Reiser
6de021d8d8
Fix MIPS, at least ET_EXEC.
...
ET_DYN not tested. Also /proc/self/exe is not proected [use getenv(" ")]
modified: p_lx_elf.cpp
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
also .h .dump .map for mips
2017-06-27 20:53:44 -07:00
John Reiser
9be86621bf
PowerPC64 unifies into amd64-linux.elf-main.c
...
Also reconcile ppc32 and ppc64, especially *.S
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
also corresponding *.h *.map *.dump
2017-06-27 14:58:13 -07:00
John Reiser
a7a0876298
/proc/self/exe in powerpc64*.S stub; unify with powerpc*.S.
...
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: .github/travis_testsuite_1.sh
also corresponding *.h *.dump *.map files
2017-06-26 21:40:12 -07:00
John Reiser
31b42345c3
Fix nesting brace in comment on #endif.
...
modified: i386-linux.elf-main.c
2017-06-26 21:31:36 -07:00
John Reiser
1b172e729e
Fix stub for powerpc64, powerpc64le
...
modified: src/powerpc64le-linux.elf-fold.S
2017-06-25 16:03:43 -07:00
John Reiser
3bf387a2d4
PowerPC stub unified with i386; including escape hatch [munmap all extras]
...
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
{arm.*,i386,mips*.r3000,powerpc}-linux.elf-fold.{h,map}
powerpc-*-entry.*
2017-06-24 18:37:16 -07:00
John Reiser
9f20bbb046
Fix merge
2017-06-19 16:01:35 -07:00
John Reiser
82af555974
Merge branch 'i386-VDSO' into devel
2017-06-19 15:58:22 -07:00
John Reiser
50638b5213
i386 VDSO may conflict on low side of -pie ET_DYN
...
https://github.com/upx/upx/issues/105
modified: stub/src/i386-linux.elf-entry.S
modified: stub/i386-linux.elf-entry.h
modified: stub/tmp/i386-linux.elf-entry.bin.dump
2017-06-19 15:49:28 -07:00
John Reiser
650df95b72
Fix thinko in PackMachBase<T>::canUnpack(). Also detect more bad input values.
...
https://github.com/upx/upx/issues/109
modified: p_mach.cpp
2017-06-18 14:24:44 -07:00
John Reiser
b2115a4162
i386: clear the stack when leaving (for buggy programs); align esp to 0 mod 8
...
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
modified: stub/i386-linux.elf-entry.h
modified: stub/i386-linux.elf-fold.h
modified: stub/tmp/i386-linux.elf-entry.bin.dump
modified: stub/tmp/i386-linux.elf-fold.map
2017-06-16 21:36:21 -07:00
John Reiser
d67bf16a08
i386: Separate PROT_EXEC and PROT_WRITE
...
Also affects some arm and mips (via sharing i386-linux.elf-main.c)
modified: i386-linux.elf-entry.S
modified: i386-linux.elf-main.c
also .h, .map, .dump
2017-06-16 08:17:44 -07:00
John Reiser
a4c9b64224
PowerPC: fix ET_EXEC [merge problems?] Next: -pie
...
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-main.c
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
2017-06-14 20:00:30 -07:00
John Reiser
8f572e5fe6
Rewrite stubs for 32-bit arm and i386 for -pie (Position-Independent Executable)
...
Coming next: MIPS and PowerPC.
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/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
also associated *.h *.map *.dump files
2017-06-14 09:57:19 -07:00
John Reiser
e58873044b
Remove unused and obsolete macros do_dcache_flush and do_icache_invalidate
...
modified: stub/src/arch/arm64/v8/macros.S
2017-06-14 09:35:05 -07:00
John Reiser
8ada92a69f
"Drive-by" typo fix
...
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/arm64-darwin.macho-entry.h
2017-06-14 09:33:41 -07:00
John Reiser
3c8ed5c000
Fix typo under "#if 0"
...
modified: packer.cpp
2017-06-10 22:11:04 -07:00
John Reiser
c127d5b64a
o_binfo got in the way
...
modified: stub/src/i386-linux.elf-entry.S
2017-06-10 14:03:05 -07:00
John Reiser
2d3bd0809a
i386-linux.elf-fold.S avoids mmap() into stack
...
modified: stub/src/i386-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
modified: stub/i386-linux.elf-fold.h
modified: stub/tmp/i386-linux.elf-fold.map
2017-06-09 14:38:08 -07:00
John Reiser
eef955a9dd
Fix arm.v4a-linux.elf-entry.S
...
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/arm.v4a-linux.elf-entry.h
modified: stub/arm.v5a-linux.elf-entry.h
modified: stub/armeb.v4a-linux.elf-entry.h
modified: stub/tmp/arm.v4a-linux.elf-entry.bin.dump
modified: stub/tmp/arm.v5a-linux.elf-entry.bin.dump
modified: stub/tmp/armeb.v4a-linux.elf-entry.bin.dump
modified: ../.github/travis_testsuite_1.sh
2017-06-08 20:50:57 -07:00
John Reiser
e59ce39dc6
Fix arm64-linux.elf-*
...
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-main.c
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
2017-06-08 17:23:19 -07:00
John Reiser
62815f5c3c
Fix AT_PHDR and AT_ENTRY for amd64-linux.elf (-pie, libmusl)
...
modified: stub/src/amd64-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-fold.map
2017-06-07 09:04:02 -07:00
John Reiser
f496010273
Fix reloc of stub for amd64-linux.elf
...
modified: stub/src/arm64-linux.elf-main.c
modified: stub/arm64-linux.elf-fold.h
modified: stub/tmp/arm64-linux.elf-fold.map
2017-06-07 09:01:37 -07:00
John Reiser
143c4e3322
Fix MH_EXECUTE for amd64-darwin.macho
...
modified: p_mach.cpp
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/amd64-darwin.macho-entry.h
modified: stub/tmp/amd64-darwin.macho-entry.bin.dump
2017-06-07 08:58:20 -07:00
John Reiser
e7f1e99a5e
Merge branch 'jreiser' into devel
...
O_BINFO simplifies stubs on linux Elf;
PowerPC64 (big endian: Apple Macintosh G5) and PowerPC* cleanup;
-fpie simplification; shlib for arm64, amd64.
A big merge due to suspending activity on 'devel' branch
during stabilization for release of UPX-3.94.
There were intermediate merges with private branch 'jreiser',
and attempted rebase onto 'devel' did not go well.
Verfication of cases ({ET_EXEC, -fpie, shlib} x {$ARCH}) is in progress.
modified: ../.github/travis_testsuite_1.sh
modified: conf.h
modified: linker.cpp
modified: linker.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_mach.cpp
modified: p_mach.h
modified: p_mach_enum.h
modified: packmast.cpp
modified: stub/Makefile
modified: stub/scripts/xstrip.py
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/src/amd64-darwin.macho-entry.S
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: stub/src/arch/powerpc/32/bxx.S
modified: stub/src/arch/powerpc/32/lzma_d.S
modified: stub/src/arch/powerpc/32/nrv2b_d.S
modified: stub/src/arch/powerpc/32/nrv2d_d.S
modified: stub/src/arch/powerpc/32/nrv2e_d.S
modified: stub/src/arch/powerpc/32/ppc_regs.h
new file: stub/src/arch/powerpc/64/Makefile
new file: stub/src/arch/powerpc/64/Makefile.extra
new file: stub/src/arch/powerpc/64/bxx.S
new file: stub/src/arch/powerpc/64/lzma_d.S
new file: stub/src/arch/powerpc/64/lzma_d_cf.S
new file: stub/src/arch/powerpc/64/lzma_d_cs.S
new file: stub/src/arch/powerpc/64/macros.S
new file: stub/src/arch/powerpc/64/nrv2b_d.S
new file: stub/src/arch/powerpc/64/nrv2d_d.S
new file: stub/src/arch/powerpc/64/nrv2e_d.S
new file: stub/src/arch/powerpc/64/ppc_regs.h
modified: stub/src/arch/powerpc/64le/bxx.S
copied: stub/src/arch/powerpc/64le/lzma_d.S -> stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/lzma_d_cs.S
modified: stub/src/arch/powerpc/64le/nrv2b_d.S
modified: stub/src/arch/powerpc/64le/nrv2d_d.S
modified: stub/src/arch/powerpc/64le/nrv2e_d.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/src/i386-bsd.elf-entry.S
modified: stub/src/i386-darwin.macho-entry.S
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/powerpc-darwin.dylib-entry.S
modified: stub/src/powerpc-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.macho-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-main.c
new file: stub/src/powerpc64-darwin.dylib-entry.S
new file: stub/src/powerpc64-darwin.macho-entry.S
new file: stub/src/powerpc64-darwin.macho-fold.S
new file: stub/src/powerpc64-darwin.macho-main.c
new file: stub/src/powerpc64-linux.elf-entry.S
new file: stub/src/powerpc64-linux.elf-fold.S
new file: stub/src/powerpc64-linux.elf-fold.lds
new file: stub/src/powerpc64-linux.elf-main.c
modified: stub/src/powerpc64-savegpr0.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-darwin.macho-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
and most stub/*.h and stub/tmp/*.dump
2017-06-05 11:32:25 -07:00
John Reiser
140a031515
arm64-linux.shlib-init
...
modified: p_lx_elf.cpp
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-06-04 16:52:43 -07:00
John Reiser
b7c91941b8
--android-shlib fix Elf64_Shdr.sh_offset
...
https://github.com/upx/upx/issues/100
modified: ../p_lx_elf.cpp
modified: ../p_lx_elf.h
2017-05-31 11:04:56 -07:00
John Reiser
ee18fe9bba
DF_1_PIE and calls_crt1() to handle part of -pie,-fPIE
...
https://github.com/upx/upx/issues/106 [partial]
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-05-31 10:53:55 -07:00
John Reiser
a67aed2744
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-05-30 11:33:39 -07:00
John Reiser
d979e19315
fpad8() for --android-shlib in PackLinuxElf64::pack4()
...
https://github.com/upx/upx/issues/100
modified: p_lx_elf.cpp
2017-05-30 11:32:05 -07:00
Markus F.X.J. Oberhumer
4c74d16795
Avoid a compilation warning. clang-format files.
2017-05-28 11:32:12 +02:00
John Reiser
6e541a432f
amd64-linux: DF_1_PIE marks a main program; stub juggles AT_PHDR for same
...
https://github.com/upx/upx/issues/105
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-fold.map
2017-05-27 19:54:12 -07:00
John Reiser
d8f47e248a
Handle old style 8-byte headers for version <= 11
...
https://github.com/upx/upx/issues/102
modified: p_unix.cpp
2017-05-26 13:05:12 -07:00
John Reiser
d1a869496b
More visibility for PackHeader when debug(-D)
...
modified: packhead.cpp
modified: packmast.cpp
modified: pefile.h
2017-05-26 13:02:32 -07:00
John Reiser
f42a37555d
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-05-21 20:48:05 -07:00
John Reiser
d9e019bd87
amd64-darwin.dylib hacking
...
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/tmp/amd64-darwin.dylib-entry.bin.dump
2017-05-17 21:36:40 -07:00
John Reiser
ce194fa5d8
amd64-darwin.dylib hacking
...
modified: p_mach.cpp
modified: p_mach.h
modified: p_mach_enum.h
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/tmp/amd64-darwin.dylib-entry.bin.dump
2017-05-17 15:50:34 -07:00
Markus F.X.J. Oberhumer
b5bdf57636
Minor cleanups.
2017-05-14 19:21:04 +02:00
Markus F.X.J. Oberhumer
d985a4c250
Post-release version bump.
2017-05-12 15:28:47 +02:00
Markus F.X.J. Oberhumer
e4659b7d7c
Bump release date.
2017-05-12 12:47:14 +02:00