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
e48a60a4f0
Add link to goupx for Go-language workaround and UI.
2015-07-28 13:40:44 -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
ac1ccaa246
Go-language PT_LOAD
2015-07-25 07:21:28 -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
f80daf5de1
CERT-FI Case 829767 UPX command line tools segfaults
...
The vulnerabilities were discovered by Joonas Kuorilehto and Antti Häyrynen from Codenomicon.
2015-05-16 15:33:31 -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