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}
This commit is contained in:
John Reiser
2018-09-09 15:35:16 -07:00
parent 4bba1e6cb7
commit 9bb6854e64
7 changed files with 485 additions and 407 deletions
+93 -85
View File
@@ -1,5 +1,5 @@
/* arm.v5a-darwin.macho-fold.h
created from arm.v5a-darwin.macho-fold.bin, 2248 (0x8c8) bytes
created from arm.v5a-darwin.macho-fold.bin, 2380 (0x94c) bytes
This file is part of the UPX executable compressor.
@@ -31,15 +31,15 @@
*/
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_SIZE 2248
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_ADLER32 0x83ada740
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_CRC32 0x9fb78407
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_SIZE 2380
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_ADLER32 0x4094e65f
#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_CRC32 0xf45f5a58
unsigned char stub_arm_v5a_darwin_macho_fold[2248] = {
unsigned char stub_arm_v5a_darwin_macho_fold[2380] = {
/* 0x0000 */ 24, 48,154,229, 2,202,160,227, 12, 0, 83,225, 12, 48,160, 49,
/* 0x0010 */ 13,128,160,225, 3,208, 77,224, 13, 32,160,225, 11, 16,160,225,
/* 0x0020 */ 10, 0,160,225, 16, 96,136,226, 52, 80,143,226, 9, 64,160,225,
/* 0x0030 */ 112, 0, 45,233,181, 1, 0,235, 56,160,144,229, 0,144,144,229,
/* 0x0030 */ 112, 0, 45,233,214, 1, 0,235, 56,160,144,229, 0,144,144,229,
/* 0x0040 */ 8,208,160,225, 0, 0,157,229, 44, 0, 0,235, 4, 0,157,229,
/* 0x0050 */ 8, 16,157,229, 73,112,160,227, 10,224,160,225, 16,208,141,226,
/* 0x0060 */ 25,255, 47,225,255, 48, 3,226, 80, 0, 83,227, 14,240,160, 17,
@@ -98,83 +98,91 @@ unsigned char stub_arm_v5a_darwin_macho_fold[2248] = {
/* 0x03b0 */ 4, 16,148,229,158,255,255,235, 4, 48,157,229, 6, 0,148,232,
/* 0x03c0 */ 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229,
/* 0x03d0 */ 0, 0, 83,227,180,255,255, 26, 20,208,141,226,240,128,189,232,
/* 0x03e0 */ 85, 80, 88, 33,240, 79, 45,233, 0,144,160,225, 0, 0,160,227,
/* 0x03f0 */ 36,208, 77,226, 2,128,160,225, 28, 80,137,226, 0,176,160,225,
/* 0x0400 */ 16, 0,141,229, 12, 16,141,229, 8, 48,141,229, 20, 0,141,229,
/* 0x0410 */ 174, 0, 0,234, 0, 32,149,229, 1, 0, 82,227,156, 0, 0, 26,
/* 0x0420 */ 28, 48,149,229, 0, 0, 83,227,153, 0, 0, 10, 32, 48,149,229,
/* 0x0430 */ 0, 0, 83,227, 10, 0, 0, 26, 36, 48,149,229, 0, 0, 83,227,
/* 0x0440 */ 7, 0, 0, 10, 72, 48,157,229, 0, 32,147,229, 0, 0, 82,227,
/* 0x0450 */ 3, 0, 0, 10, 24, 48,146,229, 2, 6, 19,227, 24, 48,149, 21,
/* 0x0460 */ 2,176, 99, 16, 24, 48,149,229, 3, 48,139,224, 36, 0,149,229,
/* 0x0470 */ 28, 16,149,229, 3, 42,160,225, 34, 42,160,225, 1, 16,131,224,
/* 0x0480 */ 2,112,144,224, 28, 0,141,229, 32, 48,141,229, 24, 16,141,229,
/* 0x0490 */ 3, 96, 98,224, 36, 0, 0, 10, 72, 32,157,229, 0, 48,146,229,
/* 0x04a0 */ 0, 0, 83,227, 2, 48,160, 3, 18, 48,160, 19, 0, 0, 88,227,
/* 0x04b0 */ 3, 16,160, 19, 0, 16,160, 3, 0, 0, 88,227, 3, 0, 0, 26,
/* 0x04c0 */ 0, 0, 80,227, 1, 58,131, 3,137, 0, 0, 10, 2, 0, 0,234,
/* 0x04d0 */ 0, 0, 80,227, 1, 58,131,227,133, 0, 0, 10, 8,224,157,229,
/* 0x04e0 */ 32,192,149,229, 12, 0,157,229, 3, 32,160,227, 12,192,128,224,
/* 0x04f0 */ 1, 16,135,224, 6, 0,160,225, 0,224,141,229, 4,192,141,229,
/* 0x0500 */ 18,255,255,235, 72, 32,157,229, 0, 48,146,229, 0, 0, 83,227,
/* 0x0510 */ 0,176,160, 1, 11, 96,160, 1, 0, 0,130, 5, 2, 0, 0, 10,
/* 0x0520 */ 0, 0, 86,225, 8, 0,160, 19, 63,255,255, 27, 0, 0, 88,227,
/* 0x0530 */ 107, 0, 0, 10, 36, 48,149,229, 0, 0, 83,227, 8, 0, 0, 10,
/* 0x0540 */ 32, 48,149,229, 0, 0, 83,227, 72, 48,157, 5, 8, 0,160,225,
/* 0x0550 */ 0, 96,131, 5, 28, 16,141,226, 76, 32,141,226, 12, 0,146,232,
/* 0x0560 */ 74,255,255,235, 0, 0, 87,226, 1, 0,160, 19, 0, 0, 80,227,
/* 0x0570 */ 19, 0, 0, 10, 32, 48,149,229, 0, 0, 83,227, 16, 0, 0, 26,
/* 0x0580 */ 48, 48,149,229, 0, 0, 83,227, 13, 0, 0, 10, 5, 48,105,224,
/* 0x0590 */ 3, 48,195,227, 6, 48,131,224, 96, 48,147,229, 3, 48,195,227,
/* 0x05a0 */ 3, 48,134,224, 8, 32, 67,226, 16, 32,141,229,239, 36,160,227,
/* 0x05b0 */ 8, 32, 3,229, 76, 33,159,229, 1,160,160,227, 4, 32, 3,229,
/* 0x05c0 */ 0, 0, 0,234, 1,160,160,227, 0, 48,103,226, 3, 74,160,225,
/* 0x05d0 */ 36, 74,160,225, 0, 0, 84,227, 5, 0, 0, 10, 7, 16,134,224,
/* 0x05e0 */ 4, 32,160,225, 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228,
/* 0x05f0 */ 251,255,255, 26, 0, 0, 80,227, 6, 0, 0, 10, 6, 0,160,225,
/* 0x0600 */ 7, 16,160,225, 44, 32,149,229,203,254,255,235, 0, 0, 80,227,
/* 0x0610 */ 10, 0,160, 19, 4,255,255, 27, 4, 48,135,224, 3, 64,134,224,
/* 0x0620 */ 24, 48,157,229, 3, 0, 84,225, 15, 0, 0, 42, 0, 0, 84,227,
/* 0x0630 */ 32, 0, 0, 10, 0,192,224,227, 44, 32,149,229, 3, 16,100,224,
/* 0x0640 */ 0,192,141,229, 4, 0,160,225, 1,192,140,226,184, 48,159,229,
/* 0x0650 */ 4,192,141,229,189,254,255,235, 0, 0, 84,225, 21, 0, 0, 10,
/* 0x0660 */ 9, 0,160,227,240,254,255,235, 18, 0, 0,234, 0, 0, 90,227,
/* 0x0670 */ 16, 0, 0, 10, 3, 48,135,226, 3, 26,160,225, 33, 26,160,225,
/* 0x0680 */ 3, 0, 81,227, 11, 0, 0,138, 4, 0,160,225,165,254,255,235,
/* 0x0690 */ 8, 0, 0,234, 0, 0, 88,227, 6, 0, 0, 26, 4, 48, 66,226,
/* 0x06a0 */ 1, 0, 83,227, 76, 48,149,149, 16, 0,133,146, 11, 48,131,144,
/* 0x06b0 */ 76, 48,133,149, 16, 0,141,149, 20, 32,157,229, 4, 48,149,229,
/* 0x06c0 */ 1, 32,130,226, 3, 48,195,227, 20, 32,141,229, 3, 80,133,224,
/* 0x06d0 */ 16, 48,153,229, 20, 0,157,229, 3, 0, 80,225, 76,255,255, 58,
/* 0x06e0 */ 5, 0, 0,234, 0, 0, 87,226, 1, 0,160, 19, 8,160,160,225,
/* 0x06f0 */ 180,255,255,234, 0,224,224,227,120,255,255,234, 16, 0,157,229,
/* 0x0700 */ 36,208,141,226,240,143,189,232, 30,255, 47,225, 18, 16, 0, 0,
/* 0x0710 */ 240, 67, 45,233, 44,208, 77,226, 12, 16,141,229, 12, 16,157,229,
/* 0x0720 */ 24,192,144,229, 24, 16, 65,226, 24, 0,128,226, 72, 64,157,229,
/* 0x0730 */ 36, 0,141,229, 32, 16,141,229, 32,128,141,226, 0, 3,152,232,
/* 0x0740 */ 2, 80,160,225, 32, 0,141,226, 24, 16,141,226, 4, 32,160,225,
/* 0x0750 */ 3,112,160,225, 0, 48,160,227, 24,192,141,229, 16,128,141,229,
/* 0x0760 */ 20,144,141,229, 28, 80,141,229,200,254,255,235, 80,192,157,229,
/* 0x0770 */ 0,192,141,229, 76,192,157,229, 0, 16,160,227, 16, 32,141,226,
/* 0x0780 */ 5, 0,160,225, 0, 48,224,227, 16, 16,141,233, 20,255,255,235,
/* 0x0790 */ 0,128,160,225, 16, 0,149,229, 28, 32,133,226, 0, 16,160,227,
/* 0x07a0 */ 62, 0, 0,234, 0, 48,146,229, 14, 0, 83,227, 57, 0, 0, 26,
/* 0x07b0 */ 8, 0,146,229, 0, 16,160,227, 0, 0,130,224, 1, 32,160,225,
/* 0x07c0 */ 73,254,255,235, 0, 96, 80,226, 18, 0,160,179,150,254,255,187,
/* 0x07d0 */ 0, 64,160,227, 6, 0,160,225, 5, 16,160,225, 7, 32,160,225,
/* 0x07e0 */ 4, 48,160,225, 99,254,255,235, 0, 0, 87,225, 19, 0,160, 19,
/* 0x07f0 */ 141,254,255, 27, 0, 32,149,229,188, 48,159,229, 3, 0, 82,225,
/* 0x0800 */ 2, 0, 0, 10,180, 48,159,229, 3, 0, 82,225, 18, 0, 0, 26,
/* 0x0810 */ 7, 48,213,229, 20, 32,160,227,147, 2, 1,224, 5, 0,160,225,
/* 0x0820 */ 8, 16,129,226, 91,254,255,235, 4,192,149,229, 8, 16,133,226,
/* 0x0830 */ 0, 0,160,227, 5, 0, 0,234, 0, 32,145,229,128, 48,159,229,
/* 0x0840 */ 3, 0, 82,225, 8, 64,145, 5,225,255,255, 10, 20, 16,129,226,
/* 0x0850 */ 12, 0, 80,225, 1, 0,128,226,246,255,255, 26, 0,224,160,227,
/* 0x0860 */ 44,192,141,226, 4,224, 44,229, 4, 16,160,225, 5, 0,160,225,
/* 0x0870 */ 14, 32,160,225, 6, 48,160,225, 0, 80,141,232, 8,224,141,229,
/* 0x0880 */ 215,254,255,235, 0, 64,160,225, 0,128,128,229, 6, 0,160,225,
/* 0x0890 */ 26,254,255,235, 5, 0, 0,234, 4, 48,146,229, 3, 32,130,224,
/* 0x08a0 */ 0, 0, 81,225, 1, 16,129,226,189,255,255, 26, 0, 64,160,227,
/* 0x08b0 */ 4, 0,160,225, 44,208,141,226,240,131,189,232,202,254,186,190,
/* 0x08c0 */ 190,186,254,202, 7, 0, 0, 1
/* 0x03e0 */ 85, 80, 88, 33,240, 79, 45,233, 12, 64,144,229, 36,208, 77,226,
/* 0x03f0 */ 7, 0, 84,227, 0,128,160,225, 12, 16,141,229, 2,144,160,225,
/* 0x0400 */ 8, 48,141,229, 28, 96,128,226, 16,112,144,229, 3, 0, 0, 10,
/* 0x0410 */ 24, 48,144,229, 2, 6, 19,227, 16, 0,160, 3, 0, 0, 0, 10,
/* 0x0420 */ 0, 0,160,227, 1,202,128,226, 0, 16,160,227, 2,192,140,226,
/* 0x0430 */ 6, 32,160,225, 0, 80,224,227, 1,224,160,225, 27, 0, 0,234,
/* 0x0440 */ 0, 48,146,229, 1, 0, 83,227, 20, 0, 0, 26, 28, 0,146,229,
/* 0x0450 */ 0, 0, 80,227, 17, 0, 0, 10, 36, 48,146,229, 0, 0, 83,227,
/* 0x0460 */ 14, 0, 0, 10, 1, 0,117,227, 5, 0, 0, 26, 7, 0, 84,227,
/* 0x0470 */ 3, 0, 0, 26, 24, 48,146,229, 0, 0, 83,227, 3, 0, 0, 10,
/* 0x0480 */ 16,192,140,227, 24, 48,146,229, 3, 0, 85,225, 0, 0, 0,154,
/* 0x0490 */ 3, 80,160,225, 3, 48,128,224, 3, 0, 81,225, 3, 16,160, 49,
/* 0x04a0 */ 4, 48,146,229, 3, 48,195,227, 3, 32,130,224, 1,224,142,226,
/* 0x04b0 */ 7, 0, 94,225,225,255,255,186,255, 94,197,227, 15, 80,197,227,
/* 0x04c0 */ 1, 16,101,224,255, 30,129,226, 15, 16,129,226, 0, 64,160,227,
/* 0x04d0 */ 16, 0, 28,226,255, 30,193,227, 12, 48,160,225, 5, 0,160, 17,
/* 0x04e0 */ 0,192,224,227, 15, 16,193,227, 4, 32,160,225, 0,192,141,229,
/* 0x04f0 */ 4, 64,141,229, 21,255,255,235, 4,176,160,225, 0, 0,101,224,
/* 0x0500 */ 16, 0,141,229, 20, 64,141,229,147, 0, 0,234, 0, 48,150,229,
/* 0x0510 */ 1, 0, 83,227,129, 0, 0, 26, 36, 0,150,229, 0, 0, 80,227,
/* 0x0520 */ 126, 0, 0, 10, 24, 48,150,229, 16, 32,157,229, 3, 48,130,224,
/* 0x0530 */ 28, 16,150,229, 3, 42,160,225, 34, 42,160,225, 1, 16,131,224,
/* 0x0540 */ 2,112,144,224, 28, 0,141,229, 32, 48,141,229, 24, 16,141,229,
/* 0x0550 */ 3, 80, 98,224, 23, 0, 0, 10, 0, 0, 89,227, 32,192,150,229,
/* 0x0560 */ 12, 32,157,229, 8,224,157, 5, 0,224,224, 19, 12,192,130,224,
/* 0x0570 */ 18, 48,160, 3, 16, 50,159, 21, 5, 0,160,225, 7, 16,160,225,
/* 0x0580 */ 3, 32,160,227, 0,224,141,229, 4,192,141,229,239,254,255,235,
/* 0x0590 */ 5, 0, 80,225, 0, 64,160,225, 8, 0,160, 19, 34,255,255, 27,
/* 0x05a0 */ 72, 32,157,229, 0, 48,146,229, 0, 0, 83,227, 72, 48,157, 5,
/* 0x05b0 */ 0, 64,131, 5, 4, 80,160,225, 0, 0, 89,227,107, 0, 0, 10,
/* 0x05c0 */ 36, 48,150,229, 0, 0, 83,227, 8, 0, 0, 10, 32, 48,150,229,
/* 0x05d0 */ 0, 0, 83,227, 72, 32,157, 5, 9, 0,160,225, 0, 80,130, 5,
/* 0x05e0 */ 28, 16,141,226, 76, 32,141,226, 12, 0,146,232, 39,255,255,235,
/* 0x05f0 */ 0, 0, 87,226, 1, 0,160, 19, 0, 0, 80,227, 18, 0, 0, 10,
/* 0x0600 */ 32, 48,150,229, 0, 0, 83,227, 15, 0, 0, 26, 48, 48,150,229,
/* 0x0610 */ 0, 0, 83,227, 12, 0, 0, 10, 6, 48,104,224, 3, 48,195,227,
/* 0x0620 */ 5, 48,131,224, 96, 48,147,229, 3, 48,195,227, 3, 48,133,224,
/* 0x0630 */ 239, 36,160,227, 8, 32, 3,229, 80, 33,159,229, 8,176, 67,226,
/* 0x0640 */ 1,160,160,227, 4, 32, 3,229, 0, 0, 0,234, 1,160,160,227,
/* 0x0650 */ 0, 48,103,226, 3, 74,160,225, 36, 74,160,225, 0, 0, 84,227,
/* 0x0660 */ 6, 0, 0, 10, 5, 16,135,224, 0, 32,160,227, 0, 48,160,227,
/* 0x0670 */ 1, 48,194,231, 1, 32,130,226, 4, 0, 82,225,250,255,255, 26,
/* 0x0680 */ 0, 0, 80,227, 6, 0, 0, 10, 5, 0,160,225, 7, 16,160,225,
/* 0x0690 */ 44, 32,150,229,168,254,255,235, 0, 0, 80,227, 10, 0,160, 19,
/* 0x06a0 */ 225,254,255, 27, 5, 48,135,224, 3, 64,132,224, 24, 48,157,229,
/* 0x06b0 */ 3, 0, 84,225, 15, 0, 0, 42, 0, 0, 84,227, 32, 0, 0, 10,
/* 0x06c0 */ 0,192,224,227, 44, 32,150,229, 3, 16,100,224, 0,192,141,229,
/* 0x06d0 */ 4, 0,160,225, 1,192,140,226,172, 48,159,229, 4,192,141,229,
/* 0x06e0 */ 154,254,255,235, 0, 0, 84,225, 21, 0, 0, 10, 9, 0,160,227,
/* 0x06f0 */ 205,254,255,235, 18, 0, 0,234, 0, 0, 90,227, 16, 0, 0, 10,
/* 0x0700 */ 3, 48,135,226, 3, 26,160,225, 33, 26,160,225, 3, 0, 81,227,
/* 0x0710 */ 11, 0, 0,138, 4, 0,160,225,130,254,255,235, 8, 0, 0,234,
/* 0x0720 */ 0, 0, 89,227, 6, 0, 0, 26, 4, 48, 67,226, 1, 0, 83,227,
/* 0x0730 */ 76, 48,150,149, 16, 32,157,149, 2, 48,131,144, 76, 48,134,149,
/* 0x0740 */ 16,176,134,146, 4, 48,150,229, 3, 48,195,227, 3, 96,134,224,
/* 0x0750 */ 20, 48,157,229, 1, 48,131,226, 20, 48,141,229, 16, 48,152,229,
/* 0x0760 */ 20, 32,157,229, 3, 0, 82,225,103,255,255, 58, 3, 0, 0,234,
/* 0x0770 */ 0, 0, 87,226, 1, 0,160, 19, 9,160,160,225,179,255,255,234,
/* 0x0780 */ 11, 0,160,225, 36,208,141,226,240,143,189,232, 18, 16, 0, 0,
/* 0x0790 */ 30,255, 47,225,240, 67, 45,233, 44,208, 77,226, 12, 16,141,229,
/* 0x07a0 */ 12, 16,157,229, 24,192,144,229, 24, 16, 65,226, 24, 0,128,226,
/* 0x07b0 */ 72, 64,157,229, 36, 0,141,229, 32, 16,141,229, 32,128,141,226,
/* 0x07c0 */ 0, 3,152,232, 2, 80,160,225, 32, 0,141,226, 24, 16,141,226,
/* 0x07d0 */ 4, 32,160,225, 3,112,160,225, 0, 48,160,227, 24,192,141,229,
/* 0x07e0 */ 16,128,141,229, 20,144,141,229, 28, 80,141,229,167,254,255,235,
/* 0x07f0 */ 80,192,157,229, 0,192,141,229, 76,192,157,229, 0, 16,160,227,
/* 0x0800 */ 16, 32,141,226, 5, 0,160,225, 0, 48,224,227, 16, 16,141,233,
/* 0x0810 */ 243,254,255,235, 0,128,160,225, 16, 0,149,229, 28, 32,133,226,
/* 0x0820 */ 0, 16,160,227, 62, 0, 0,234, 0, 48,146,229, 14, 0, 83,227,
/* 0x0830 */ 57, 0, 0, 26, 8, 0,146,229, 0, 16,160,227, 0, 0,130,224,
/* 0x0840 */ 1, 32,160,225, 40,254,255,235, 0, 96, 80,226, 18, 0,160,179,
/* 0x0850 */ 117,254,255,187, 0, 64,160,227, 6, 0,160,225, 5, 16,160,225,
/* 0x0860 */ 7, 32,160,225, 4, 48,160,225, 66,254,255,235, 0, 0, 87,225,
/* 0x0870 */ 19, 0,160, 19,108,254,255, 27, 0, 32,149,229,188, 48,159,229,
/* 0x0880 */ 3, 0, 82,225, 2, 0, 0, 10,180, 48,159,229, 3, 0, 82,225,
/* 0x0890 */ 18, 0, 0, 26, 7, 48,213,229, 20, 32,160,227,147, 2, 1,224,
/* 0x08a0 */ 5, 0,160,225, 8, 16,129,226, 58,254,255,235, 4,192,149,229,
/* 0x08b0 */ 8, 16,133,226, 0, 0,160,227, 5, 0, 0,234, 0, 32,145,229,
/* 0x08c0 */ 128, 48,159,229, 3, 0, 82,225, 8, 64,145, 5,225,255,255, 10,
/* 0x08d0 */ 20, 16,129,226, 12, 0, 80,225, 1, 0,128,226,246,255,255, 26,
/* 0x08e0 */ 0,224,160,227, 44,192,141,226, 4,224, 44,229, 4, 16,160,225,
/* 0x08f0 */ 5, 0,160,225, 14, 32,160,225, 6, 48,160,225, 0, 80,141,232,
/* 0x0900 */ 8,224,141,229,182,254,255,235, 0, 64,160,225, 0,128,128,229,
/* 0x0910 */ 6, 0,160,225,249,253,255,235, 5, 0, 0,234, 4, 48,146,229,
/* 0x0920 */ 3, 32,130,224, 0, 0, 81,225, 1, 16,129,226,189,255,255, 26,
/* 0x0930 */ 0, 64,160,227, 4, 0,160,225, 44,208,141,226,240,131,189,232,
/* 0x0940 */ 202,254,186,190,190,186,254,202, 7, 0, 0, 1
};