1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00
Commit Graph

2519 Commits

Author SHA1 Message Date
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
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