John Reiser
8fd5479f32
Templates for ::pack4; i386 now packs, needs work before running.
...
modified: p_mach.cpp
modified: p_mach.h
new file: stub/i386-darwin.macho-upxmain.exe
new file: stub/i386-darwin.macho-upxmain.h
new file: stub/src/i386-darwin.macho-upxmain.c
2016-10-04 19:58:04 -07:00
John Reiser
3283896e4b
Templatize ::buildLoader
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-04 08:54:55 -07:00
John Reiser
b444bcf418
On the way to templates and mach-o/i386.
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-03 22:00:26 -07:00
John Reiser
870cdfa51f
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-02 10:47:59 -07:00
John Reiser
93787c74ee
Rewrite linfo in output file.
...
modified: p_mach.cpp
2016-10-02 10:47:37 -07:00
Markus F.X.J. Oberhumer
945323fe15
Fix a compilation warning.
2016-10-02 15:54:14 +02:00
Markus F.X.J. Oberhumer
5e41e69b27
Remove trailing whitespace from p_mach.cpp.
2016-10-02 15:48:56 +02:00
John Reiser
0f74162551
Decompression works after codesign. (Still more is possible.)
...
modified: p_mach.cpp
2016-10-01 20:38:25 -07:00
John Reiser
00b1ff1ff6
Apple codesign now works.
...
modified: p_mach.cpp
2016-10-01 17:40:32 -07:00
Markus F.X.J. Oberhumer
daafc29d2b
Add support for UPX_VERSION_GITREV. Some cleanups.
2016-09-25 09:41:26 +02:00
John Reiser
df19f0d5ec
Try harder to decompress Mach-O I386, too.
...
modified: p_mach.cpp
modified: p_mach.h
2016-09-24 09:15:10 -07:00
John Reiser
7826a3652b
Try harder to decompress Mach-O, because pirates.
...
modified: p_mach.cpp
modified: p_mach.h
2016-09-24 06:43:16 -07:00
Markus F.X.J. Oberhumer
83828aa8a3
Update vim modelines.
2016-09-22 17:29:43 +02:00
Markus F.X.J. Oberhumer
96d9968db5
Welcome 2016.
2016-09-22 14:07:14 +02:00
Markus F.X.J. Oberhumer
2b2f33e3f5
Update source for previous rename.
2016-09-22 11:22:18 +02:00
Markus F.X.J. Oberhumer
8b0101dcab
Update source for previous rename.
2016-09-22 10:25:45 +02:00
Markus F.X.J. Oberhumer
df87d76070
p_mach.cpp: use proper types for variable "zero".
2016-09-21 20:39:00 +02:00
Markus F.X.J. Oberhumer
b3121e4534
Use upx_uint16_t instead of unsigned short.
2016-09-21 17:40:11 +02: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
John Reiser
033cb4f0c2
Fix merge
...
modified: p_mach.cpp
2016-09-19 18:49:40 -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
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
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
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
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
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
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
17f47d3c0a
p_mach*: Try for MacOSX 10.12 "Sierra" with UUID, XHDR.
2016-09-04 19:05:31 -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
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
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
1d13d8c4a0
PackMachBase::unpack() process lc_seg in same order as ::pack()
2015-05-16 15:20:03 -07:00
John Reiser
1579c74302
canPack() requires 0 < nfat
2015-05-10 14:01:48 -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
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
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
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
ae37c3902c
Apple codesign requires a different secTEXT.size
2015-03-27 20:41:00 -07:00
Markus F.X.J. Oberhumer
fb611a98f9
Welcome 2015.
2015-01-03 00:24:07 +01:00
Markus F.X.J. Oberhumer
a26c982e93
Welcome 2014.
2014-01-07 23:05:10 +01:00
Markus F.X.J. Oberhumer
b2643b6926
Start using the new intergral type names.
2013-09-20 08:19:18 +02:00
John Reiser
b515fa39ec
Apple codesign follies: need more flags
2013-03-07 19:47:44 -08:00
Markus F.X.J. Oberhumer
36dd35f238
Silence some compilation warnings.
2013-02-18 11:01:30 +01:00
Markus F.X.J. Oberhumer
87a368a857
Welcome 2013.
2013-02-12 10:14:03 +01:00
John Reiser
0b11ff22b4
internal documentation: pointer to source for Apple codesign
2013-02-03 11:27:02 -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
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
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
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
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
John Reiser
8a5d352733
Portability: fix "EOFException: premature end of file" doing ELF on Windows.
...
OutputFile::read() was bad news; fsync() should work, but was missing.
2012-07-12 14:25:28 -07:00
Markus F.X.J. Oberhumer
43ce34d547
Welcome 2012.
2012-01-01 22:35:11 +01:00
John Reiser
36bc14e884
fix PackMachFat::unpack for test mode ("-t"): fo==NULL
2011-07-11 14:37:40 -07:00
John Reiser
d4983731e7
More l_info.l_lszie and .l_checksum TargetEndian.
2011-03-28 11:11:05 -07:00
Markus F.X.J. Oberhumer
9bf2b79d9e
Enter 2011.
2011-01-03 08:49:23 +01:00
John Reiser
d97a557ac3
unpacking PackMachFat::CPU_TYPE_X86_64
2010-06-28 16:02:57 -07:00
John Reiser
99a208110b
Detect LC_SEGMENT beyond end-of-file in PackMachBase<T>::find_SEGMENT_gap.
2010-04-28 20:05:23 -07:00
Markus F.X.J. Oberhumer
b6a9b0a4c9
Silence some compilation warnings.
2010-03-31 02:16:32 +02:00
John Reiser
6e4aeffc0c
Withdraw support for shared libraries (.dylib) on Darwin (Apple Mac OS X).
2010-03-12 10:20:18 -08:00
John Reiser
59c16da6fb
PackMachBase::pack4dylib avoid sliding if offset or reloff is 0.
2010-03-10 13:14:52 -08:00
John Reiser
f550111400
PackDylibAMD64 (Mac OS X shared library on x86_64)
2010-03-09 19:02:25 -08:00
John Reiser
77377195aa
Allow CPU_TYPE_X86_64 for MH_EXECUTE in fat (universal) binaries,
...
but no MH_DYLIB yet. infoWarning() for unsupported cputype.
2010-03-09 13:35:06 -08:00
Markus F.X.J. Oberhumer
6bc3197721
Enter 2010.
2010-02-06 17:15:49 +01:00
John Reiser
dacd11e1cc
Fix sourceforge bug #2874848 : Mach/fat needs seek() after set_extent().
2009-10-08 12:53:02 -07:00
Markus F.X.J. Oberhumer
967ecafc33
Small compatibility updates.
2009-09-21 05:41:49 +02:00
John Reiser
200a2556ef
New format Mach/AMD64 for 64-bit x86 programs on Apple Macintosh
2009-09-01 07:30:37 -07:00
Markus F.X.J. Oberhumer
b03112a5dd
Silence some compilation warnings.
2009-06-09 13:11:21 +02:00
Markus F.X.J. Oberhumer
a3f49df62d
Remove trailing whitespace.
2009-06-09 09:43:00 +02:00
John Reiser
20dcbc593c
PackMachFat for MH_DYLIB, too.
2009-06-01 16:23:13 -07:00
John Reiser
a187cb6c9c
work on stub for powerpc-darwin.dylib-entry.S
2009-05-29 22:08:08 -07:00
John Reiser
b89c0b35d1
bugfix: PackMachBase::pack2 first extent is Mach_header plus Mach_segment_commands
2009-05-29 13:38:43 -07:00
John Reiser
7ffcc0a5e7
powerpc-darwin.dylib
2009-05-27 10:19:50 -07:00
John Reiser
bde43fbdfb
PackMachBase<T>::pack4dylib to prepare for more architectures
2009-05-23 21:13:44 -07:00
John Reiser
3728b2208f
Cleanup declaration of PackDylibI386.
2009-05-22 08:37:44 -07:00
John Reiser
d7ed2412f6
386-darwin.dylib decompressor chains to user .init_address
2009-05-20 07:10:14 -07:00
John Reiser
7d38f0e234
i386-darwin.dylib ::unpack
2009-05-19 15:57:18 -07:00
John Reiser
3e8d072d24
i386-darwin.dylib requires existing LC_ROUINTES command;
...
decompressor must not overwrite Mach_headers.
2009-05-19 09:43:05 -07:00
John Reiser
84ac771893
Decompression part for Mach dylib i386.
2009-05-18 11:59:11 -07:00
John Reiser
3a9e0b5be6
Compression part for Mach dylib i386.
2009-05-13 10:40:21 -07:00
Markus F.X.J. Oberhumer
5ed689ceb0
Enter 2009.
2008-12-31 17:07:18 +01:00
Markus F.X.J. Oberhumer
25f1765f36
Support building with OpenWatcom 1.8. Silence some compiler warnings.
2008-12-31 16:56:38 +01:00
Markus F.X.J. Oberhumer
063bd58802
Silence gcc's -Wstrict-aliasing=1 warnings.
2008-12-29 23:15:56 +01:00
John Reiser
2f4ac0a663
format UPX_F_MACH_ARMEL, class PackMachARMEL: iPhone
2008-11-15 14:44:19 -08:00
Markus F.X.J. Oberhumer
d54f947c98
Add Packer::hasLoaderSection() to handle missing CFLUSH sections.
2008-04-07 18:44:00 +02:00