Markus F.X.J. Oberhumer
8fbf0b406b
p_vmlinx.cpp: remove unused code fragment.
2016-09-21 17:56:43 +02:00
Markus F.X.J. Oberhumer
633073803f
upx-clang-format -i s_djgpp2.cpp s_object.cpp s_vcsa.cpp s_win32.cpp screen.h
2016-09-21 17:46:42 +02:00
Markus F.X.J. Oberhumer
104da198d3
Minor screen cleanup.
2016-09-21 17:43:32 +02:00
Markus F.X.J. Oberhumer
b3121e4534
Use upx_uint16_t instead of unsigned short.
2016-09-21 17:40:11 +02:00
Markus F.X.J. Oberhumer
3bb654cc85
Ongoing cleanups and cruft removal.
2016-09-21 16:42:25 +02:00
John Reiser
d2830db94d
Fix memory leak
...
modified: p_lx_elf.cpp
2016-09-20 20:43:48 -07:00
John Reiser
ad6914b938
PackMachBase<T>::canUnpack() finds overlay_offset for decompression
...
modified: p_mach.cpp
modified: p_mach.h
2016-09-20 20:07:42 -07:00
Markus F.X.J. Oberhumer
544ec21fc2
Fix building with clang.
2016-09-21 01:09:07 +02:00
Markus F.X.J. Oberhumer
1bb0fa1809
Fix a few things spotted by the gcc-6 sanitizer. Needs review.
2016-09-21 00:35:51 +02:00
Markus F.X.J. Oberhumer
ffa0efc898
Makefile: add support for USE_SANITIZE.
2016-09-21 00:34:52 +02:00
Markus F.X.J. Oberhumer
af6b4b8c27
Fix previous commit.
2016-09-21 00:34:20 +02:00
Markus F.X.J. Oberhumer
3f7c1f966b
Minor cleanups.
2016-09-20 22:14:25 +02:00
Markus F.X.J. Oberhumer
535515f296
Update submodules.
2016-09-20 22:13:07 +02:00
Markus F.X.J. Oberhumer
7af6c4b10e
Use new style casts. Cleanups.
2016-09-20 20:59:34 +02:00
Markus F.X.J. Oberhumer
2076bef95b
upx-clang-format -i stdcxx.cpp stdcxx.h ; remove old cruft.
2016-09-20 20:40:08 +02:00
John Reiser
48ce1f1814
Merge branch 'master' of https://github.com/upx/upx
2016-09-20 10:56:00 -07:00
John Reiser
5151c8a505
Indentation error detected by g++-6
...
modified: p_lx_elf.cpp
2016-09-20 10:55:14 -07:00
Markus F.X.J. Oberhumer
44248f19b5
Introduce mem_size() and New() and start using it.
2016-09-20 15:24:07 +02:00
Markus F.X.J. Oberhumer
8d433f2580
Update submodules.
2016-09-20 15:09:50 +02:00
Markus F.X.J. Oberhumer
272fe5488c
Remove Makefile fragment from p_vmlinx.cpp.
2016-09-20 13:06:24 +02:00
Markus F.X.J. Oberhumer
c97765de14
upx-clang-format -i snprintf.cpp
2016-09-20 13:03:48 +02:00
Markus F.X.J. Oberhumer
077bbdfc78
conf.h: check for proper WITH_LZMA.
2016-09-20 12:45:28 +02:00
Markus F.X.J. Oberhumer
2fb38ce13a
Update Makefile for upx-lzma-sdk.
2016-09-20 12:37:00 +02:00
Markus F.X.J. Oberhumer
22dc183f25
Add upx-lzma-sdk submodule.
2016-09-20 12:35:15 +02:00
Markus F.X.J. Oberhumer
3c492c3fc7
Update Makefile so that my build scripts work again.
2016-09-20 11:29:28 +02:00
Markus F.X.J. Oberhumer
d71db2978e
Remove some old cruft.
2016-09-20 11:24:18 +02:00
Markus F.X.J. Oberhumer
e4723e0bad
Avoid some compiler warnings.
2016-09-20 10:54:27 +02:00
Markus F.X.J. Oberhumer
dc56c4e530
bptr.h: size optimizations.
2016-09-20 10:30:09 +02:00
Markus F.X.J. Oberhumer
9579a51a8b
pefile.cpp: always use BoundedPtr.
2016-09-20 10:20:42 +02:00
Markus F.X.J. Oberhumer
71f897ebf5
Avoid a -Wsign-compare warning.
2016-09-20 10:08:32 +02:00
Markus F.X.J. Oberhumer
09d9f71ae9
p_mach.h: use proper upx types.
2016-09-20 10:05:08 +02:00
John Reiser
c678ccdfb1
stub/ppc64le-darwin.macho-fold.h is flapping (works one time, not the next.)
2016-09-19 21:25:30 -07:00
John Reiser
bbbebe343b
Try to recover powerpc64le. Still not successful [TOC space?]
...
modified: Makefile
new file: ppc64-savegpr0.S
modified: ppc64le-darwin.macho-fold.h
2016-09-19 20:05:52 -07:00
John Reiser
033cb4f0c2
Fix merge
...
modified: p_mach.cpp
2016-09-19 18:49:40 -07:00
John Reiser
d750034b79
amd64-darwin.macho-upxmain.exe and .h
2016-09-19 18:32:26 -07:00
Markus F.X.J. Oberhumer
a2063f0628
Normalize whitespace.
2016-09-20 02:06:58 +02:00
Markus F.X.J. Oberhumer
acf2f2ffc4
Merge branch 'sierra'
2016-09-20 01:54:33 +02:00
Markus F.X.J. Oberhumer
d14f484c4b
Moving to github.
2016-09-19 22:41:32 +02:00
Markus F.X.J. Oberhumer
695e515a65
stub: update powerpc64le settings.
2016-09-19 22:22:21 +02:00
upstream
61089feee7
New ACC version.
2016-09-19 12:44:29 +00:00
Markus F.X.J. Oberhumer
ddc9b10cd3
Add scripts/upx-clang-format.
2016-09-19 11:04:25 +02:00
Markus F.X.J. Oberhumer
f95c92b431
Create a dummy stub/ppc64le-darwin.macho-fold.h so that upx builds again.
2016-09-19 10:54:23 +02:00
Markus F.X.J. Oberhumer
eba65a94e6
Add missing *.dump files to repo.
2016-09-19 10:44:22 +02:00
John Reiser
c28a0c6bb8
Synchronize stubs
...
modified: src/stub/arm64-darwin.macho-entry.h
modified: src/stub/arm64-darwin.macho-fold.h
modified: src/stub/ppc64le-linux.elf-fold.h
modified: src/stub/tmp/arm64-darwin.macho-entry.bin.dump
2016-09-18 12:45:11 -07:00
Markus F.X.J. Oberhumer
d6bacd9b47
Remove src/stub/scripts/UNUSED.
2016-09-18 16:07:47 +02:00
Markus F.X.J. Oberhumer
70b1657323
Update for upx-stubtools v20160918.
2016-09-18 16:00:29 +02:00
John Reiser
45c75d42ad
Catch up to upxtools 20160902; add dangling arm/v8a/lzma_d.S
2016-09-17 19:51:32 -07:00
jreiser@BitWagon.com
d4e55af2c2
Propagate LC_VERSION_MIN_MACOSX and LC_SOURCE_VERSION
...
changed src/p_mach.cpp
2016-09-17 16:40:07 -07:00
jreiser@BitWagon.com
48791a329d
overlay_offset for decompress
...
changed src/p_mach.cpp
2016-09-17 16:16:41 -07:00
jreiser@BitWagon.com
9b26ebed75
LINKEDIT has unfilter and decompressor
...
changed src/p_mach.cpp
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-17 15:24:23 -07:00
jreiser@BitWagon.com
e2160fb6c9
segLINK.initprot |= VM_PROT_EXECUTE
...
changed src/p_mach.cpp
2016-09-17 10:41:38 -07:00
jreiser@BitWagon.com
345a1c64f9
Omit Mach_command from stub where allowed.
...
changed src/p_mach.cpp
2016-09-17 09:36:58 -07:00
jreiser@BitWagon.com
7ad1e7756b
Cleanup for checkin
...
changed src/p_mach.cpp
2016-09-17 06:49:41 -07:00
jreiser@BitWagon.com
90caf19e9e
Cleanup amd64-darwin.macho-upxmain.c
...
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/src/amd64-darwin.macho-upxmain.c
changed src/stub/src/amd64-darwin.macho-upxsubr.S
2016-09-16 21:29:37 -07:00
jreiser@BitWagon.com
8d0b3b7d44
Fix segXHDR, but assume no __DATA in stub for now.
...
changed src/p_mach.cpp
2016-09-15 21:44:17 -07:00
jreiser@BitWagon.com
4c253d68d4
new start address 0xfe000000
...
changed src/stub/amd64-darwin.macho-upxmain.h
2016-09-15 21:38:39 -07:00
jreiser@BitWagon.com
73d1b331f1
trim Mach_command from stub. [Dirty, needs cleanup!]
...
changed src/p_mach.cpp
2016-09-13 20:20:41 -07:00
jreiser@BitWagon.com
af2fddfd6d
rebuild stub
...
changed src/stub/amd64-darwin.macho-upxmain.h
2016-09-13 20:18:54 -07:00
jreiser@BitWagon.com
3e065ead65
fix .bss in floating dyld
...
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-13 20:17:51 -07:00
jreiser@BitWagon.com
3774704326
forgotten file; 3 FIXME !
...
added src/stub/src/arch/arm/v8a/lzma_d-arm.S
2016-09-13 20:14:44 -07:00
jreiser@BitWagon.com
4a1100b6a4
Unexport all symbols in compressed output.
...
added src/stub/src/amd64-darwin.macho-upxhide.txt
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-11 15:28:42 -07:00
jreiser@BitWagon.com
63dec77ed6
Try auto-relocate for /usr/lib/dyld
...
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-11 15:08:56 -07:00
jreiser@BitWagon.com
1d3a66f890
bswap(), bzero(), fat_find(), assembly-language system calls
...
added src/stub/src/amd64-darwin.macho-upxsubr.S
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-11 14:22:19 -07:00
jreiser@BitWagon.com
c1da92ca22
reduce asm()
...
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-11 06:03:06 -07:00
jreiser@BitWagon.com
13475002d7
segXHDR reserves address space; actual launch!
...
changed src/p_mach.cpp
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-10 20:13:44 -07:00
jreiser@BitWagon.com
5bb6f246ed
Mach-O dyld: __LINKEDIT must have highest .vmaddr and .fileoff
2016-09-10 15:46:36 -07:00
jreiser@BitWagon.com
89df7451ef
Rebuild stubs
...
changed src/stub/amd64-darwin.macho-entry.h
changed src/stub/amd64-darwin.macho-upxmain.h
changed src/stub/tmp/amd64-darwin.macho-entry.bin.dump
2016-09-10 15:03:55 -07:00
jreiser@BitWagon.com
1334d544f7
stubtools 20160902
2016-09-10 15:03:04 -07:00
jreiser@BitWagon.com
3fefaa7362
revamp MH_EXECUTE: try to meet expectations of MacOSX 10.12 Sierra
...
changed src/p_mach.cpp
changed src/stub/src/amd64-darwin.macho-upxmain.c
2016-09-10 15:02:13 -07:00
jreiser@BitWagon.com
15d62f7b96
Mach_main_command LC_MAIN
2016-09-10 15:00:28 -07:00
jreiser@BitWagon.com
83e0aaa511
sections AMD64BXX, MACH_UNC for MacOSX 10.12
2016-09-10 14:59:23 -07:00
jreiser@BitWagon.com
ee06ce1148
generic Mach_command
2016-09-10 14:57:27 -07:00
jreiser@BitWagon.com
16d6124bb4
amd64-darwin.macho-upxmain for stub on Mac OS X 10.12 "Sierra"
2016-09-05 20:37:23 -07:00
jreiser@BitWagon.com
1197beaa13
ElfLinker::init() zero length implies 0x4000 blank bytes
2016-09-05 20:36:07 -07:00
jreiser@BitWagon.com
98b428a8be
Fix compiler warning
2016-09-05 20:32:52 -07:00
jreiser@BitWagon.com
17f47d3c0a
p_mach*: Try for MacOSX 10.12 "Sierra" with UUID, XHDR.
2016-09-04 19:05:31 -07:00
John Reiser
a9cc3b2a89
Use gcc-ppc64-linux-gnu-5.3.1-2.fc22.x86_64
...
But bin-upx-20130920/multiarch-ld-2.17 gets SIGSEGV for fold.h
src/stub/Makefile
src/stub/ppc64le-darwin.dylib-entry.h
src/stub/ppc64le-darwin.macho-entry.h
src/stub/ppc64le-linux.elf-entry.h
src/stub/ppc64le-linux.kernel.vmlinux.h
2016-07-27 08:57:54 -07:00
John Reiser
199102c106
stub/src/arch/arm/v8a/lzma_d_cf.S and follow-ons
...
src/stub/arm64-darwin.macho-entry.h
src/stub/src/arch/arm/v8a/lzma_d_cf.S
src/stub/tmp/arm64-darwin.macho-entry.bin.dump
2016-07-27 08:27:06 -07:00
John Reiser
c7d76fb7ab
Change copyright year 2013 ==> 2016 in ppc64le files.
...
src/stub/ppc64le-darwin.macho-fold.h
src/stub/src/arch/ppc64le/64/bxx.S
src/stub/src/arch/ppc64le/64/lzma_d.S
src/stub/src/arch/ppc64le/64/macros.S
src/stub/src/arch/ppc64le/64/nrv2b_d.S
src/stub/src/arch/ppc64le/64/nrv2d_d.S
src/stub/src/arch/ppc64le/64/nrv2e_d.S
src/stub/src/ppc64le-darwin.dylib-entry.S
src/stub/src/ppc64le-darwin.macho-entry.S
src/stub/src/ppc64le-darwin.macho-fold.S
src/stub/src/ppc64le-darwin.macho-main.c
src/stub/src/ppc64le-linux.elf-entry.S
src/stub/src/ppc64le-linux.elf-fold.S
src/stub/src/ppc64le-linux.elf-fold.lds
src/stub/src/ppc64le-linux.elf-main.c
src/stub/src/ppc64le-linux.kernel.vmlinux-head.S
src/stub/src/ppc64le-linux.kernel.vmlinux.S
2016-07-26 21:42:07 -07:00
John Reiser
ba9b86c0dc
added src/stub/src/arch/arm/v8a/lzma_d_cf.S
2016-07-26 21:32:43 -07:00
John Reiser
5de83a606e
Cleanup after Thierry Fauck changes for ppc64le.
...
We need a "UPX standard" compiler in order to re-compile the stubs for ppc64le;
meanwhile use Thierry's "pre-compiled" stubs.
Revert powerpc stubs to those produced by UPX standard powerpc.405-linux-gcc-3.4.5.
Cleanup the workarounds that Thierry used because he lacked upx-stubtools 20130920.
ARMv8 (64-bit) compiles but is incomplete and does not run yet.
changed src/Makefile
changed src/linker.cpp
changed src/stub/Makefile
changed src/stub/amd64-linux.elf-entry.h
changed src/stub/arm64-darwin.macho-entry.h
changed src/stub/arm64-darwin.macho-fold.h
changed src/stub/powerpc-darwin.dylib-entry.h
changed src/stub/powerpc-darwin.macho-entry.h
changed src/stub/powerpc-darwin.macho-fold.h
changed src/stub/powerpc-linux.elf-entry.h
changed src/stub/powerpc-linux.elf-fold.h
changed src/stub/powerpc-linux.kernel.vmlinux.h
changed src/stub/scripts/xstrip.py
changed src/stub/src/arch/arm/v8a/lzma_d.S
changed src/stub/src/arch/arm/v8a/macros.S
changed src/stub/src/arm64-darwin.macho-entry.S
changed src/stub/tmp/arm64-darwin.macho-entry.bin.dump
2016-07-26 21:29:29 -07:00
John Reiser
01a0c8672d
changeset: 2451:4e2a6c33d5fb
...
tag: ppc64le
user: Thierry Fauck <tfauck@free.fr>
date: Wed Jun 22 08:25:13 2016 -0400
summary: Add support for ppc64le statically linked binaries
2016-07-26 17:00:25 -07:00
John Reiser
fa522c0ffc
Hacking convert v4a/lzma_d-arm.S from 32-bit to 64-bit
2016-02-14 21:26:37 -08:00
John Reiser
16241d010f
PUSH+POP now in macros.S
2016-02-14 21:25:28 -08:00
John Reiser
9cb8fbf178
branch merge
...
branch 'default'
changed src/pefile.cpp
changed src/pefile.h
2016-01-31 20:11:42 -08:00
John Reiser
bd7ef27628
ARM64LE begins implementation
...
added src/stub/arm64-darwin.macho-entry.h
added src/stub/arm64-darwin.macho-fold.h
added src/stub/src/arch/arm/v8a/lzma_d.S
added src/stub/src/arch/arm/v8a/macros.S
added src/stub/src/arch/arm/v8a/nrv2b_d8.S
added src/stub/src/arch/arm/v8a/nrv2d_d8.S
added src/stub/src/arch/arm/v8a/nrv2e_d32.S
added src/stub/src/arch/arm/v8a/nrv2e_d8.S
added src/stub/src/arm64-darwin.macho-entry.S
added src/stub/src/arm64-darwin.macho-fold.S
added src/stub/src/arm64-darwin.macho-main.c
added src/stub/src/arm64-linux.elf-entry.S
added src/stub/src/arm64-linux.elf-fold.S
added src/stub/tmp/arm64-darwin.macho-entry.bin.dump
changed src/p_mach.cpp
changed src/p_mach.h
changed src/stub/Makefile
2016-01-31 20:09:38 -08:00
John Reiser
42e520e841
ElfLinkerArm64LE
2016-01-31 19:59:00 -08:00
John Reiser
d8f9cd237f
UPX_F_MACH_ARM64EL
2016-01-31 19:58:17 -08:00
László Molnár
33065ecf04
fixed resource bounds checking when compressing; let --force override throwing an exception
2015-08-11 13:05:10 +02:00
John Reiser
718a1da262
Bounds check shstrtab in PackVmlinuxBase<T>::canPack()
2015-08-10 05:45:52 -07:00
John Reiser
b89c3ebb42
LZMA version 15.05
2015-08-03 22:36:16 -07:00
John Reiser
9d7e44feff
GNU Make 4.0 does not assign to MAKEFLAGS sequentially
2015-08-03 22:35:00 -07:00
John Reiser
163e1907a4
0==.vmsize in Go-language LC_SEGMENT_64; also g++ 5.1.1 nit
2015-07-25 12:54:25 -07:00
John Reiser
53b45279ad
Better diagnosis of Go-language PT_LOAD; https://sourceforge.net/p/upx/bugs/195/
2015-07-25 07:11:57 -07:00
John Reiser
298ea1f0d3
::unpack(): another check on b_info; uncompressed ElfXX_Ehdr must match input
2015-05-16 15:23:01 -07:00
John Reiser
1d13d8c4a0
PackMachBase::unpack() process lc_seg in same order as ::pack()
2015-05-16 15:20:03 -07:00
John Reiser
2238c99b61
another check on b_info in ::unpackExtent()
2015-05-16 15:18:28 -07:00
John Reiser
7d4dfbef2b
cleanup IPTR_I_D
2015-05-15 20:56:34 -07:00
John Reiser
759827b404
EI_OSABI for EM_ARM is a real mess
2015-05-15 20:47:35 -07:00
John Reiser
fca627d1b0
::seek() returns resulting off_t; InputFile::seek() restricts to actual _length
2015-05-15 20:44:09 -07:00
John Reiser
404da18aed
IPTR_I_D: 'import' buffer is a subset of ibuf
2015-05-15 20:42:18 -07:00
John Reiser
330fca722a
too large: blocksize > 1024*1024*1024 [corrupted]
2015-05-15 05:36:21 -07:00
John Reiser
8939cd120b
too small: (st.st_size < 512)
2015-05-15 05:32:52 -07:00
László Molnár
63afeb7373
added a check for corrupted packheader
2015-05-14 21:48:16 +02:00
László Molnár
6ba68a6455
PE related fixes for CERT-FI 829767
2015-05-14 21:46:52 +02:00
John Reiser
1579c74302
canPack() requires 0 < nfat
2015-05-10 14:01:48 -07:00
John Reiser
373ca15c71
size < 1024 is too short
2015-05-10 14:01:08 -07:00
John Reiser
a8a3caed1c
Check blocksize
2015-05-09 20:29:56 -07:00
John Reiser
cb35ba4543
At ::unpack much of decompressed Mach_header must match outer Mach_header
2015-05-09 20:14:32 -07:00
John Reiser
cdd152d015
Detect (int)blocksize < 0
2015-05-09 20:13:30 -07:00
John Reiser
83ce7dc62f
Must not compare orig_file_size with fi->st_size() during ::unpack
2015-05-09 17:47:17 -07:00
John Reiser
b182b50f24
Distinguish corruption of p_info, b_info
2015-05-09 10:13:13 -07:00
John Reiser
71a9941b84
Check getImageSize(). CERT-FI 829767
...
id:000058,sig:06,src:000001,op:havoc,rep:64
2015-05-09 07:29:26 -07:00
John Reiser
c777da263e
Check blocksize. CERT-FI 829767
...
id:000053,sig:06,src:000000,op:arith8,pos:10440,val:+20
2015-05-09 07:25:25 -07:00
John Reiser
2cb7b56a41
Check ph.c_len; CERT-FI 829767
...
id:000023,sig:06,src:000000,op:flip2,pos:10440
2015-05-09 07:18:54 -07:00
John Reiser
52f9ef14b9
Check ph.c_len; CERT-FI 829767
...
id:000010,sig:06,src:000000,op:flip1,pos:11584
2015-05-09 07:13:47 -07:00
John Reiser
8d6c594240
Check ph.c_len; CERT-FI 829767
...
id:000008,sig:06,src:000000,op:flip1,pos:205
2015-05-09 07:05:17 -07:00
John Reiser
7ad77ff540
Check blocksize. CERT-FI 829767
...
id:000005,sig:06,src:000000,op:havoc,rep:16
2015-05-09 06:56:32 -07:00
John Reiser
acede72e9b
Check ph.c_len. CERT-FI 829767
...
id:000002,sig:06,src:000000,op:havoc,rep:1
2015-05-09 06:49:45 -07:00
John Reiser
771fd732d1
Check e_phentsize; CERT-FI 829767
...
id:000064,sig:06,sync:upx-macho-crash-2,src:000096
2015-05-09 05:31:36 -07:00
John Reiser
2a79a69f59
PackUnix::unpack() is non-Elf. CERT-FI 829767
...
id:000057,sig:11,sync:upx-macho-crash-2,src:000108
id:000058,sig:11,sync:upx-macho-crash-2,src:000107
id:000059,sig:06,sync:upx-macho-crash-2,src:000106
id:000060,sig:06,sync:upx-macho-crash-2,src:000103
2015-05-09 05:14:12 -07:00
John Reiser
8c0321697f
Check PackHeader before decompress; CERT-FI id:000002,sig:06,src:000000,op:flip1,pos:4629
2015-05-08 20:13:44 -07:00
John Reiser
0151b3f9b3
Validate Mach_segment_command.cmdsize; CERT-FI id:000000,sig:11,src:000000,op:havoc,rep:2
2015-05-08 19:45:05 -07:00
John Reiser
82a51f35ea
Validate header CERT_FI id:000000,sig:11,src:000000,op:flip1,pos:1
2015-05-08 19:22:24 -07:00
John Reiser
35944cbfc1
Validate fat_head; CERT-FI id:000000,sig:06,src:000000,op:flip1,pos:7
2015-05-08 18:32:42 -07:00
John Reiser
f0aef9b28b
Check input data; CERT-FI upx-crashes-elf id:000000,sig:11,src:000000,op:flip1,pos:0
2015-05-08 17:04:16 -07:00
John Reiser
ae37c3902c
Apple codesign requires a different secTEXT.size
2015-03-27 20:41:00 -07:00
John Reiser
d612585582
C/7zTypes.h #if (WITH_LZMA >= 0x938)
2015-03-15 10:30:55 -07:00
John Reiser
7ca14d209c
Use upx_uint64_t instead of "unsigned long".
2015-01-10 12:26:35 -08:00
Markus F.X.J. Oberhumer
c37f582c10
Merge.
2015-01-04 11:11:05 +01:00
John Reiser
6272fb3822
ARM --lzma && is_big: stub mmap must allow for cpr0.sz_unc [How did this ever work before?]
2015-01-02 17:36:26 -08:00
Markus F.X.J. Oberhumer
2582fbac59
Update src/Makefile to use more conservative gcc optimization settings.
2015-01-03 01:55:51 +01:00
Markus F.X.J. Oberhumer
5abb578e47
p_djgpp2.{cpp,h}: remove usage of "long".
2015-01-03 01:12:46 +01:00
Markus F.X.J. Oberhumer
015ebf89a5
lefile.h: remove usage of "long".
2015-01-03 01:04:41 +01:00
Markus F.X.J. Oberhumer
c6724968f1
pefile.cpp: work around a gcc-3.4 limitation.
2015-01-03 00:40:28 +01:00
Markus F.X.J. Oberhumer
9fa1772ae4
Merge.
2015-01-03 00:34:42 +01:00
Markus F.X.J. Oberhumer
4551937812
Bump version year.
2015-01-03 00:26:48 +01:00
John Reiser
51ee664cae
PackLinuxElf32help1 refuses if e_ident[EI_DATA] mismatches bele policy
2015-01-02 15:25:29 -08:00
Markus F.X.J. Oberhumer
fb611a98f9
Welcome 2015.
2015-01-03 00:24:07 +01:00
Markus F.X.J. Oberhumer
a3d5face38
Fix a comment.
2015-01-03 00:21:51 +01:00
László Molnár
424cd497d3
pe64: saved a few bytes in the nrv decompressors
2014-03-18 23:35:30 +01:00
László Molnár
6520f2061e
arm/pe: thumb mode stub hopefully fixed
2014-03-10 21:44:23 +01:00
László Molnár
5d93f86b4b
armpe_tester: better import handling
2014-03-10 21:42:11 +01:00
László Molnár
b3f63ce7ae
pe: fix a bug in pack0() for arm
2014-03-09 23:55:28 +01:00
László Molnár
56de770682
armpe_tester now works on android
2014-03-09 23:42:41 +01:00
László Molnár
940341bc9d
arm/pe: import handling updates (untested)
2014-03-08 18:59:26 +01:00
László Molnár
804a0ce601
merge
2014-03-06 22:38:15 +01:00
László Molnár
41054a4c56
handle duplicates in ImportLinker
2014-03-06 22:26:41 +01:00
László Molnár
7b8e5d4180
pe: remove some dead code
2014-03-05 23:59:53 +01:00
László Molnár
ca2369f1c1
pe: win32/win64 pack/unpack seems to work again
2014-03-05 23:40:24 +01:00
László Molnár
129cb0b3cd
pe: packing of pe64 starts to work again
2014-03-04 23:51:59 +01:00
László Molnár
632b2ae1ba
pe: pack() logic moved to PeFile
2014-03-02 22:34:52 +01:00
László Molnár
18e55061e1
pepfile.* disabled; PeFile64 class introduced
2014-02-20 00:10:18 +01:00
László Molnár
e49b65723f
pe: canUnpack moved to PeFile
2014-02-19 23:27:41 +01:00
László Molnár
8e52894763
pe: loadconf handling moved to PeFile
2014-02-19 21:45:24 +01:00
László Molnár
07cba6c774
pe32: tls refactoring
2014-02-18 00:23:42 +01:00
László Molnár
9cb639b505
pe32: refactoring of import handling and unpacking continues
2014-02-16 23:04:39 +01:00
John Reiser
c0f692792f
2014
2014-01-10 19:23:41 -08:00
John Reiser
bd77e0945b
more LC_* constants
2014-01-10 19:22:30 -08:00
Markus F.X.J. Oberhumer
f0eb171b2a
Strip trailing whitespace.
2014-01-07 23:09:11 +01:00
Markus F.X.J. Oberhumer
fb93662b5c
Bump version for next release.
2014-01-07 23:08:00 +01:00
Markus F.X.J. Oberhumer
a26c982e93
Welcome 2014.
2014-01-07 23:05:10 +01:00
Markus F.X.J. Oberhumer
7db3e98944
Small cleanups.
2014-01-07 23:03:16 +01:00
Markus F.X.J. Oberhumer
4a87834e04
New ACC version.
2014-01-07 19:15:57 +00:00
Markus F.X.J. Oberhumer
bf6ecaeeb9
stub: minor cosmetic cleanups.
2013-12-02 19:37:28 +01:00
Markus F.X.J. Oberhumer
f70ef86dfa
help.cpp: add a missing con_fg() call.
2013-12-02 19:23:06 +01:00
John Reiser
cd3132667a
ARM shlib escape hatch moves to just beyond .text.
...
https://sourceforge.net/p/upx/bugs/223/
2013-11-22 19:26:19 -08:00
John Reiser
1c459a7bea
Sync stubs.
2013-11-16 14:29:52 -08:00
John Reiser
4f0bfeab4c
Round down unfilter length to a multiple of 4.
...
https://sourceforge.net/p/upx/bugs/223
2013-11-16 14:28:59 -08:00
John Reiser
c5c9921b59
Unpack detects is_shlib more robustly. Dispute .e_shoff.
2013-11-16 14:25:53 -08:00
John Reiser
6b63aba1fc
Disable jni_onload_*
2013-11-09 16:06:41 -08:00
John Reiser
382331fb11
e_phoff and e_shoff are 32/64 specific
2013-10-28 07:11:40 -07:00
John Reiser
caf9af7ae4
JNI_OnLoad is a pre-DT_INIT in a shared library.
2013-10-26 09:51:25 -07:00
John Reiser
45d2adeb9c
Android < 4.1 (kernel < 3.0.31) often has PT_INTERP of /system/bin/linker
...
with bad PT_LOAD[0]. https://sourceforge.net/p/upx/bugs/221
2013-10-21 07:27:53 -07:00
László Molnár
96708d7592
ImportLinker copied into PeFile
2013-10-12 16:48:56 +02:00
John Reiser
13090d1219
ARM close /proc/self/exe after mmap
2013-10-06 19:56:14 -07:00
László Molnár
8ab229cca9
pe: refactoring started
2013-10-06 22:57:20 +02:00
John Reiser
583cd078dc
ARM elf-fold: preserve /proc/self/exe by mmap of one page into stack
2013-10-06 13:22:05 -07:00
László Molnár
aa2ac1bbb8
pe: ImportLinker introduced
2013-10-04 22:48:21 +02:00
Markus F.X.J. Oberhumer
6766b14415
Prepare release.
2013-09-30 14:21:37 +02:00
John Reiser
9d0f9e967f
Avoid stmdb with write-back register in stored list,
...
even when stored value is don't care.
2013-09-21 09:52:21 -07:00
John Reiser
d7609088e5
Silence "warning: cannot find entry symbol _start"
2013-09-21 08:39:15 -07:00
Markus F.X.J. Oberhumer
b2643b6926
Start using the new intergral type names.
2013-09-20 08:19:18 +02:00
Markus F.X.J. Oberhumer
07b65ca069
Introduce integral type names using <stdint.h> terminology like "upx_uint64_t".
2013-09-20 08:16:37 +02:00
Markus F.X.J. Oberhumer
25727f7f99
Minor portability fixes.
2013-09-20 07:48:29 +02:00
Markus F.X.J. Oberhumer
880ae89307
Bump version and tentative release date.
2013-09-20 07:19:06 +02:00
Markus F.X.J. Oberhumer
1496df1989
New ACC version.
2013-09-20 07:09:35 +02:00
Markus F.X.J. Oberhumer
7d8ae6b4b1
Make amd64-win64.pep.S compile with current upx stubtools.
2013-09-20 07:08:09 +02:00
Markus F.X.J. Oberhumer
312d4cccaf
stub: start using stubtools bin-upx-20130920.
2013-09-20 06:59:27 +02:00
Markus F.X.J. Oberhumer
ce5f9f95ea
stub: fix i386 syntax for current gas versions, and add some explicit
...
alignments at the end of the file so that we do not depend on gas defaults.
2013-09-20 06:15:46 +02:00
Markus F.X.J. Oberhumer
d9bf8a76d9
Protect against changes from future gas versions in amd64-linux.elf-entry.S.
2013-09-20 05:22:05 +02:00
Markus F.X.J. Oberhumer
f7a35fb9fe
stub: save 1 byte in amd64-darwin.{dylib,macho}-entry.S.
2013-09-20 04:20:23 +02:00
Markus F.X.J. Oberhumer
3ba691ded5
Remove trailing whitespace.
2013-09-20 03:25:59 +02:00
Markus F.X.J. Oberhumer
7a7277d56f
Use correct "movzwl" opcode in src/stub/src/arch/i386/macros.S.
2013-09-20 03:18:19 +02:00
László Molnár
76be5dd1d3
linker: Section::offset should be u64
2013-09-01 21:38:44 +02:00
László Molnár
53dc63f3bc
linker: a small 64-bit relocation support related fix
2013-09-01 11:15:30 +02:00
László Molnár
80da0bc9d5
pepfile: infoWarning about unsupported relocation types fixed
2013-08-28 22:33:39 +02:00
László Molnár
bce7af4e11
fixed 8 bit range checking in ElfLinkerAMD64::relocate1
2013-08-28 22:31:40 +02:00
László Molnár
9da09b51ed
win64/pe: tls callback assembly improvements + misc cleanups
2013-08-28 21:53:23 +02:00
László Molnár
86392f197f
win64/pe: lzma support added
2013-08-28 00:24:54 +02:00
László Molnár
1c13046297
win64/pe: added nrv2b and nrv2d support
2013-08-27 22:06:52 +02:00
László Molnár
fbc756b531
win64/pe: filter support added
2013-08-27 21:22:21 +02:00
László Molnár
6c64b06453
win64/pe: uncompression seems to work; tls handling improvement
2013-08-26 22:07:55 +02:00
László Molnár
241834029a
64 relocation handling added; basic DLL support works
2013-08-25 23:54:13 +02:00
László Molnár
5b8a9c0b47
basic win64 PE support added
2013-08-22 22:01:09 +02:00
László Molnár
037c29d24a
added full support for 64-bit relocations
2013-08-22 21:43:11 +02:00
László Molnár
893f26ac9a
fix wcle fixup unpacking segfault (sf.net bug 220)
2013-08-19 13:39:44 +02:00
John Reiser
d43f8e3100
Alignment bug in test or decompress of shared library;
...
sourceforge.net/p/upx/bugs/218/
2013-07-06 13:50:15 -07:00
John Reiser
2b42acf7b8
ARM heuristic dcache flush by sweeping 1/2 MB
2013-06-10 14:20:59 -07:00
John Reiser
f65b80ed42
ARM remember readlink("/proc/self/exe",) as environment variable " =" (3 spaces)
2013-06-09 20:33:59 -07:00
John Reiser
e84abbdc82
ARM __clear_cache() has bugs
...
Linux hostname 3.0.8-482645-user #1 SMP PREEMPT Mon Apr 30 19:43:45 KST 2012 armv7l GNU/Linux
Processor : ARMv7 Processor rev 3 (v7l)
processor : 0
BogoMIPS : 597.12
processor : 1
BogoMIPS : 597.12
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc09
CPU revision : 3
Hardware : Espresso10
Revision : 000a
2013-06-09 13:03:06 -07:00
John Reiser
66269eabe9
ARM Try a hole so that kernel does not extend brk(0)
2013-06-08 08:39:08 -07:00
John Reiser
36c0928483
ARM __clear_cache() on escape hatch; http://sourceforge.net/p/upx/bugs/214/
2013-06-07 07:08:03 -07:00
John Reiser
9237e15adc
Fix ARM compress shared library.
2013-05-10 16:20:52 -07:00
Markus F.X.J. Oberhumer
0d3a2072b2
Add some more sanity checks in pefile.cpp.
2013-04-04 14:30:52 +02:00
Markus F.X.J. Oberhumer
aa2ee5dfc2
New ACC version.
2013-03-20 16:48:27 +00:00
John Reiser
b515fa39ec
Apple codesign follies: need more flags
2013-03-07 19:47:44 -08:00
Markus F.X.J. Oberhumer
76e3f4eb92
Post-release version bump.
2013-02-20 13:50:12 +01:00
Markus F.X.J. Oberhumer
7082594bbc
Prepare release.
2013-02-18 11:03:33 +01:00
Markus F.X.J. Oberhumer
36dd35f238
Silence some compilation warnings.
2013-02-18 11:01:30 +01:00
John Reiser
9c9fb6a485
DEBUG-only bug in decimal()
2013-02-15 16:35:45 -08:00
John Reiser
5438a4837b
more AT_PHDR trouble
2013-02-15 16:32:51 -08:00
Markus F.X.J. Oberhumer
84996e8cb6
Bump tentative release date.
2013-02-12 10:32:11 +01:00
Markus F.X.J. Oberhumer
87a368a857
Welcome 2013.
2013-02-12 10:14:03 +01:00
Markus F.X.J. Oberhumer
21412d93dd
New ACC version.
2013-02-12 08:16:44 +00:00
John Reiser
0b11ff22b4
internal documentation: pointer to source for Apple codesign
2013-02-03 11:27:02 -08:00
John Reiser
8fafa78796
sync stubs
2013-01-31 12:33:16 -08:00
John Reiser
c43158f8a2
find PT_LOAD in case ARM PT_EXIDX is first
2013-01-31 12:21:51 -08:00
John Reiser
92ad524947
clear registers at user entry (paranoia)
2013-01-31 12:20:42 -08:00
John Reiser
b362a61863
fix for user brk() on ARM with static linking
2013-01-31 12:19:35 -08:00
John Reiser
468fec38d7
Fix .e_ident[EI_OSABI] for Debian armhf.
2013-01-30 13:31:35 -08:00
John Reiser
89830a5ae0
Mac OS X codesign disallows overhang of vmsize.
2013-01-25 15:58:25 -08:00
John Reiser
5977c296bd
Fix codesign for Mac OS X.
2013-01-24 15:28:21 -08:00
Markus F.X.J. Oberhumer
25d706a913
Whitespace cleanup.
2012-10-31 15:50:52 +01:00
John Reiser
048236aaaa
Isolate change to p_mach.cpp of previous revision
...
(p_lx_elf.cpp and p_lx_elf.h were included by mistake.)
2012-10-10 08:58:15 -07:00
John Reiser
d442c58fd1
MachO no longer needs contiguous LC_SEGMENT (SourceForge bug 3308161)
2012-10-10 08:51:52 -07:00
John Reiser
f890f6bb09
ignore another .vmsize==0; fix unfold which needs another page
2012-08-23 14:26:42 -07:00
John Reiser
036d466790
allow 3-byte decompressor overrun; fix DEBUG decimal(); unify with i386
2012-08-23 14:25:32 -07:00
John Reiser
dee47ba2d8
implement DEBUG
2012-08-23 14:22:55 -07:00
John Reiser
be96c28b77
fix DEBUG decimal() of negative number
2012-08-23 12:37:44 -07:00
John Reiser
ad1c0f578e
fix DEBUG decimal() of negative number
2012-08-23 07:31:30 -07:00
John Reiser
c8f7b1b72c
MacOSX launcher gets SIGBUS when it cannot find mapped Mach_header.
...
Add segZERO, segMHDR, secMHDR.
2012-08-22 20:46:35 -07:00
John Reiser
c89702ae84
skip 0==.vmsize; also DEBUG, DPRINTF
2012-08-22 20:43:00 -07:00
John Reiser
2d29a82250
PackMachBase<T>::pack1() segTEXT.vmaddr must ignore zero-length segments
2012-08-20 20:02:26 -07:00
John Reiser
b36c65e654
fix Mac OS X code signing; also leave room for LC_UUID
2012-08-04 16:44:21 -07:00
John Reiser
09b072b908
Leave space for code signing on Mac OS X.
2012-08-03 13:28:33 -07:00
John Reiser
0ae9fee350
Mach_linkedit_data_command
2012-08-03 13:20:00 -07:00
John Reiser
1579182ed9
PackUnix::canUnpack() allows zero-filled last page
2012-08-03 13:19:28 -07:00
John Reiser
074671aa71
::unpack "if (fo)"; also "delete []" (SourceForge bug 3545609)
2012-07-19 20:11:44 -07:00
John Reiser
36b7c47247
__DWARF LC_SEGMENT_64 with .vmsize==0 (SourceForge bug 3308161)
2012-07-18 15:37:41 -07:00