i386-darwin.macho re-implementation, especially for MacOS <= 10.8.x (Mountain Lion)
[i386 will not be supported by new MacOS beginning fall 2019.] https://github.com/upx/upx/issues/246 modified: p_mach.cpp modified: stub/i386-darwin.macho-entry.h modified: stub/i386-darwin.macho-fold.h modified: stub/i386-darwin.macho-upxmain.exe modified: stub/i386-darwin.macho-upxmain.h new file: stub/src/arch/i386/bxx.S new file: stub/src/arch/i386/nrv2b_d32-easy.S new file: stub/src/arch/i386/nrv2d_d32-easy.S new file: stub/src/arch/i386/nrv2e_d32-easy.S modified: stub/src/i386-darwin.macho-entry.S modified: stub/src/i386-darwin.macho-fold.S modified: stub/src/i386-darwin.macho-main.c modified: stub/src/i386-darwin.macho-upxmain.c modified: stub/tmp/i386-darwin.macho-entry.bin.dump modified: stub/tmp/i386-darwin.macho-fold.map
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/* i386-darwin.macho-fold.h
|
||||
created from i386-darwin.macho-fold.bin, 1135 (0x46f) bytes
|
||||
created from i386-darwin.macho-fold.bin, 1457 (0x5b1) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -31,80 +31,101 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1135
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x768a14b0
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x8d0be2e9
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1457
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x0e3ea459
|
||||
#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x4f83c5ec
|
||||
|
||||
unsigned char stub_i386_darwin_macho_fold[1135] = {
|
||||
/* 0x0000 */ 106, 0,137,231,141,117, 2,139, 19,137,217, 41,209,139, 89, 24,
|
||||
/* 0x0010 */ 184, 0, 8, 0, 0, 57,216,118, 2,137,195, 41,220, 96,232, 30,
|
||||
/* 0x0020 */ 3, 0, 0,139, 76, 36, 16,141,100, 12, 32,255, 96, 40,139, 68,
|
||||
/* 0x0030 */ 36, 4,139, 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141,
|
||||
/* 0x0040 */ 64, 4,115,242,195, 90, 15, 52,176, 4,235, 2,176, 1,235, 2,
|
||||
/* 0x0050 */ 176, 74,235, 2,176, 73,235, 2,176,153,235, 2,176, 6,235, 2,
|
||||
/* 0x0060 */ 176, 5,235, 2,176,197,235, 2,176, 3, 15,182,192,137,225,232,
|
||||
/* 0x0070 */ 209,255,255,255,115, 3,131,200,255,195,144,144, 85,137,229, 87,
|
||||
/* 0x0080 */ 86,139,125, 8, 83,137,195, 57, 56,139,112, 4,115, 7,106,127,
|
||||
/* 0x0090 */ 232,183,255,255,255,133,255,116, 10,137,249,138, 6, 70,136, 2,
|
||||
/* 0x00a0 */ 66,226,248, 1,123, 4, 41, 59,141,101,244, 91, 94, 95,201,195,
|
||||
/* 0x00b0 */ 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8,
|
||||
/* 0x00c0 */ 139,125, 12,137, 69,220,131, 58, 0, 15,132,172, 0, 0, 0,141,
|
||||
/* 0x00d0 */ 85,228,137,240,106, 12,232,161,255,255,255,139, 69,228, 90,133,
|
||||
/* 0x00e0 */ 192,139, 77,232,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62,
|
||||
/* 0x00f0 */ 0, 15,132,132, 0, 0, 0,235, 4,133,201,117, 7,106,127,232,
|
||||
/* 0x0100 */ 72,255,255,255, 57,193,119,245, 59, 3,119,241, 57,193,115, 76,
|
||||
/* 0x0110 */ 137, 69,224, 15,182, 69,236, 80,141, 69,224, 80,255,115, 4, 81,
|
||||
/* 0x0120 */ 255,118, 4,255, 85,220,131,196, 20,133,192,117,208,139, 85,224,
|
||||
/* 0x0130 */ 59, 85,228,117,200,138, 69,237,132,192,116, 22,133,255,116, 18,
|
||||
/* 0x0140 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131,
|
||||
/* 0x0150 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12,139, 83, 4, 81,
|
||||
/* 0x0160 */ 137,240,232, 21,255,255,255, 88,139, 85,228,139, 3, 1, 83, 4,
|
||||
/* 0x0170 */ 41,208,133,192,137, 3,233, 78,255,255,255,141,101,244, 91, 94,
|
||||
/* 0x0180 */ 95,201,195, 85,137,229, 87, 86, 83,131,236, 56,137, 69,232,139,
|
||||
/* 0x0190 */ 69, 8,137, 85,228,139, 85, 12,199, 69,208, 0, 0, 0, 0,137,
|
||||
/* 0x01a0 */ 69,224,139, 69, 20,137, 85,220,139, 85, 24,137, 69,216,139,117,
|
||||
/* 0x01b0 */ 232,139, 69,232,137, 85,212, 49,210,131,198, 28,199, 69,204, 0,
|
||||
/* 0x01c0 */ 0, 0, 0, 59, 80, 16, 15,131,106, 1, 0, 0,139, 6,131,248,
|
||||
/* 0x01d0 */ 1, 15,133, 49, 1, 0, 0,139, 94, 28,133,219, 15,132, 38, 1,
|
||||
/* 0x01e0 */ 0, 0,139, 86, 24,139, 78, 36,141, 28, 26,137,208, 37,255, 15,
|
||||
/* 0x01f0 */ 0, 0,137,207,137, 93,200,137,211, 41,195, 1,199,137, 77,236,
|
||||
/* 0x0200 */ 137, 85,240,116, 76,131,125,224, 0,137,125,196,116, 8,141, 71,
|
||||
/* 0x0210 */ 3,137, 69,196,235, 11,133,201,199, 69,192, 18, 0, 0, 0,117,
|
||||
/* 0x0220 */ 7,199, 69,192, 18, 16, 0, 0,133,201,139, 85,220,117, 3,131,
|
||||
/* 0x0230 */ 202,255,139, 69,228, 3, 70, 32,106, 0, 80, 82,255,117,192,106,
|
||||
/* 0x0240 */ 3,255,117,196, 83,232, 26,254,255,255,131,196, 28, 57,195,117,
|
||||
/* 0x0250 */ 94,131,125,224, 0,116, 42,131,126, 36, 0,116, 36,131,126, 32,
|
||||
/* 0x0260 */ 0,117, 11,131,125, 16, 0,116, 5,139, 85, 16,137, 26,255,117,
|
||||
/* 0x0270 */ 212,255,117,216,141, 85,236,139, 69,224,232, 49,254,255,255, 88,
|
||||
/* 0x0280 */ 90,137,248,141, 20, 59,247,216, 37,255, 15, 0, 0,137, 69,188,
|
||||
/* 0x0290 */ 116, 8,137,193,198, 2, 0, 66,226,250,133,255,116, 24,255,118,
|
||||
/* 0x02a0 */ 44, 87, 83,232,168,253,255,255,131,196, 12,133,192,116, 7,106,
|
||||
/* 0x02b0 */ 127,232,150,253,255,255,139, 85,188,141, 4, 23, 1,195, 59, 93,
|
||||
/* 0x02c0 */ 200,115, 39,133,219,116, 91,106, 0,106, 0,106,255,104, 18, 16,
|
||||
/* 0x02d0 */ 0, 0,255,118, 44, 41, 93,200,255,117,200, 83,232,131,253,255,
|
||||
/* 0x02e0 */ 255,131,196, 28, 57,195,116, 58,235,197,131,125,224, 0,116, 50,
|
||||
/* 0x02f0 */ 141, 71, 3, 37,255, 15, 0, 0,131,248, 3,119, 37, 80, 83,232,
|
||||
/* 0x0300 */ 80,253,255,255, 89, 91,235, 26,131,232, 4,131,248, 1,119, 18,
|
||||
/* 0x0310 */ 131,126, 8, 1,117, 12,131,126, 12, 16,117, 6,141, 70, 16,137,
|
||||
/* 0x0320 */ 69,208,255, 69,204,139, 85,232,139, 69,204, 3,118, 4, 59, 66,
|
||||
/* 0x0330 */ 16,233,144,254,255,255,139, 69,208,141,101,244, 91, 94, 95,201,
|
||||
/* 0x0340 */ 195, 85,137,229, 87, 86, 83,131,236, 32,199, 69,212, 0, 0, 0,
|
||||
/* 0x0350 */ 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69,216,139,117, 20,
|
||||
/* 0x0360 */ 141, 66, 24,137,117,232,137, 69,240,139, 69, 28,131,232, 24,137,
|
||||
/* 0x0370 */ 69,236,139, 66, 24,139, 85,240,106, 0,137, 69,228,139, 69,236,
|
||||
/* 0x0380 */ 137, 85,224,137, 69,220,141, 85,228,141, 69,236, 83,232, 30,253,
|
||||
/* 0x0390 */ 255,255,255,117, 12, 83, 49,210,255,117, 8,141, 69,220,106,255,
|
||||
/* 0x03a0 */ 80,137,240,232,219,253,255,255, 49,210,137,195,141, 70, 28,131,
|
||||
/* 0x03b0 */ 196, 28,139, 78, 16, 57,202, 15,131,168, 0, 0, 0,131, 56, 14,
|
||||
/* 0x03c0 */ 15,133,150, 0, 0, 0, 3, 64, 8,106, 0,106, 0, 80,232,141,
|
||||
/* 0x03d0 */ 252,255,255,131,196, 12,133,192,137,199,120, 23,106, 0,255,117,
|
||||
/* 0x03e0 */ 212,255,117,216, 86, 87,232,109,252,255,255,131,196, 20, 57, 69,
|
||||
/* 0x03f0 */ 216,116, 15,106,127,232, 82,252,255,255,139, 91, 8,137, 93,212,
|
||||
/* 0x0400 */ 235,218,139, 6, 61,202,254,186,190,116, 7, 61,190,186,254,202,
|
||||
/* 0x0410 */ 117, 42, 15,182, 70, 7,141, 94, 8,107,192, 20,131,192, 8, 80,
|
||||
/* 0x0420 */ 86,232, 8,252,255,255, 89, 90, 49,192,139, 86, 4, 57,208,115,
|
||||
/* 0x0430 */ 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106, 0,139, 85,
|
||||
/* 0x0440 */ 212,106, 0,137,240,106, 0, 87,106, 0,232, 52,253,255,255, 87,
|
||||
/* 0x0450 */ 137,195,232, 5,252,255,255,131,196, 24,235, 9, 3, 64, 4, 66,
|
||||
/* 0x0460 */ 233, 80,255,255,255,141,101,244,137,216, 91, 94, 95,201,195
|
||||
unsigned char stub_i386_darwin_macho_fold[1457] = {
|
||||
/* 0x0000 */ 88, 90, 89,139, 89, 24,190, 0, 8, 0, 0, 57,243,119, 2,137,
|
||||
/* 0x0010 */ 243, 94,106, 0,137,231, 41,220, 96,232,103, 4, 0, 0,139,124,
|
||||
/* 0x0020 */ 36, 20,139,116, 36, 28, 80, 87, 86,232, 59, 0, 0, 0, 88, 88,
|
||||
/* 0x0030 */ 88,139, 76, 36, 16,141,100, 12, 32,255,224,139, 68, 36, 4,139,
|
||||
/* 0x0040 */ 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141, 64, 4,119,
|
||||
/* 0x0050 */ 242,195,243,144,233,249,255,255,255,195, 90, 15, 52,176, 4,235,
|
||||
/* 0x0060 */ 2,176, 1,235, 2,176, 74,235, 2,176, 73,235, 2,176,153,235,
|
||||
/* 0x0070 */ 2,176, 6,235, 2,176, 5,235, 2,176,197,235, 2,176, 3, 15,
|
||||
/* 0x0080 */ 182,192,137,225,232,209,255,255,255,115, 3,131,200,255,195,144,
|
||||
/* 0x0090 */ 85,137,229, 87, 86,139,125, 8, 83,137,195, 57, 56,139,112, 4,
|
||||
/* 0x00a0 */ 115, 7,106,127,232,184,255,255,255,133,255,116, 10,137,249,138,
|
||||
/* 0x00b0 */ 6, 70,136, 2, 66,226,248, 1,123, 4, 41, 59,141,101,244, 91,
|
||||
/* 0x00c0 */ 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,236,
|
||||
/* 0x00d0 */ 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,172,
|
||||
/* 0x00e0 */ 0, 0, 0,141, 85,228,137,240,106, 12,232,161,255,255,255,139,
|
||||
/* 0x00f0 */ 69,228, 90,133,192,139, 77,232,117, 19,129,249, 85, 80, 88, 33,
|
||||
/* 0x0100 */ 117, 15,131, 62, 0, 15,132,132, 0, 0, 0,235, 4,133,201,117,
|
||||
/* 0x0110 */ 7,106,127,232, 73,255,255,255, 57,193,119,245, 59, 3,119,241,
|
||||
/* 0x0120 */ 57,193,115, 76,137, 69,224, 15,182, 69,236, 80,141, 69,224, 80,
|
||||
/* 0x0130 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117,
|
||||
/* 0x0140 */ 208,139, 85,224, 59, 85,228,117,200,138, 69,237,132,192,116, 22,
|
||||
/* 0x0150 */ 133,255,116, 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115,
|
||||
/* 0x0160 */ 4,255,215,131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12,
|
||||
/* 0x0170 */ 139, 83, 4, 81,137,240,232, 21,255,255,255, 88,139, 85,228,139,
|
||||
/* 0x0180 */ 3, 1, 83, 4, 41,208,133,192,137, 3,233, 78,255,255,255,141,
|
||||
/* 0x0190 */ 101,244, 91, 94, 95,201,195, 85,137,229, 87, 86,131,206,255, 83,
|
||||
/* 0x01a0 */ 131,236, 88,199, 69,192, 0, 0, 0, 0,139, 69, 8,199, 69,188,
|
||||
/* 0x01b0 */ 0, 0, 0, 0,139, 85, 12,199, 69,180, 0, 0, 0, 0,137, 69,
|
||||
/* 0x01c0 */ 216,139, 69, 20,139,125,216,137, 85,212,137, 69,204,139, 69,216,
|
||||
/* 0x01d0 */ 139, 93, 16,131,199, 28,131,120, 12, 7,139, 85, 28,137, 93,208,
|
||||
/* 0x01e0 */ 139, 93, 32,137, 85,200,139, 72, 16,137, 93,196,137,250,116, 14,
|
||||
/* 0x01f0 */ 139, 93,216,184, 16, 0, 0, 0,246, 67, 26, 32,116, 2, 49,192,
|
||||
/* 0x0200 */ 5, 2, 16, 0, 0,133,201,137, 69,164,126, 77,131, 58, 1,117,
|
||||
/* 0x0210 */ 62,139, 66, 28,133,192,137, 69,156,116, 52,139, 66, 24,133,192,
|
||||
/* 0x0220 */ 117, 6,246, 69,164, 16,117, 39,139, 93,216,131,123, 12, 7,117,
|
||||
/* 0x0230 */ 13,131,254,255,117, 8,133,192,116, 4,131, 77,164, 16, 57,198,
|
||||
/* 0x0240 */ 118, 2,137,198, 3, 69,156, 57, 69,180,115, 3,137, 69,180,139,
|
||||
/* 0x0250 */ 66, 4,131,224,252, 1,194,226,179,129,230, 0,240,255,255, 41,
|
||||
/* 0x0260 */ 117,180,139, 93,180,129,195,255, 15, 0, 0,129,227, 0,240,255,
|
||||
/* 0x0270 */ 255,246, 69,164, 16,116, 12, 83, 86,137,117,188,232,232,253,255,
|
||||
/* 0x0280 */ 255, 88, 90,106, 0,106, 0,106,255,255,117,164,106, 0, 83,255,
|
||||
/* 0x0290 */ 117,188,232,226,253,255,255,131,196, 28, 41,240,199, 69,176, 0,
|
||||
/* 0x02a0 */ 0, 0, 0,137, 69,184, 49,210,139, 69,216, 59, 80, 16, 15,131,
|
||||
/* 0x02b0 */ 198, 1, 0, 0,131, 63, 1,117, 29,131,127, 28, 0,117, 23,139,
|
||||
/* 0x02c0 */ 69,208,141, 85,228,106, 12,232,196,253,255,255,139, 93,208,139,
|
||||
/* 0x02d0 */ 69,232, 1, 67, 4, 89,139, 7,131,248, 1, 15,133,111, 1, 0,
|
||||
/* 0x02e0 */ 0,139, 95, 28,133,219, 15,132,100, 1, 0, 0,139, 79, 36,139,
|
||||
/* 0x02f0 */ 85,184,137, 77,220,137,206, 3, 87, 24, 1,211,137,208, 37,255,
|
||||
/* 0x0300 */ 15, 0, 0,137, 93,172,137,211,137, 85,224, 41,195, 1,198,116,
|
||||
/* 0x0310 */ 89,131,125,208, 0,117, 11,133,201,199, 69,168, 18, 0, 0, 0,
|
||||
/* 0x0320 */ 117, 13,131,125,208, 0,199, 69,168, 18, 16, 0, 0,117, 7,133,
|
||||
/* 0x0330 */ 201,139, 85,204,117, 3,131,202,255,139, 69,212, 3, 71, 32,106,
|
||||
/* 0x0340 */ 0, 80, 82,255,117,168,106, 3, 86, 83,232, 42,253,255,255,131,
|
||||
/* 0x0350 */ 196, 28, 57,216, 15,133,157, 0, 0, 0,131,125, 24, 0,116, 10,
|
||||
/* 0x0360 */ 139, 69, 24,131, 56, 0,117, 2,137, 24,131,125,208, 0,116, 89,
|
||||
/* 0x0370 */ 131,127, 36, 0,116, 30,131,127, 32, 0,117, 5,139, 85, 24,137,
|
||||
/* 0x0380 */ 26,255,117,196,255,117,200,141, 85,220,139, 69,208,232, 50,253,
|
||||
/* 0x0390 */ 255,255, 88, 90,131,125,208, 0,116, 47,133,246,116, 43,131,127,
|
||||
/* 0x03a0 */ 32, 0,117, 37,131,127, 48, 0,116, 31,137,248, 43, 69,216,131,
|
||||
/* 0x03b0 */ 224,252,139, 68, 3, 96,131,224,252,141, 4, 3,199, 64,248,144,
|
||||
/* 0x03c0 */ 15, 5,195,131,232, 8,137, 69,192,137,240,141, 20, 30,247,216,
|
||||
/* 0x03d0 */ 37,255, 15, 0, 0,137, 69,160,116, 8,137,193,198, 2, 0, 66,
|
||||
/* 0x03e0 */ 226,250,133,246,116, 24,255,119, 44, 86, 83,232,117,252,255,255,
|
||||
/* 0x03f0 */ 131,196, 12,133,192,116, 7,106,127,232, 99,252,255,255,139, 85,
|
||||
/* 0x0400 */ 160,141, 4, 22, 1,195, 59, 93,172,115, 39,133,219,116, 88,106,
|
||||
/* 0x0410 */ 0,106, 0,106,255,104, 18, 16, 0, 0,255,119, 44, 41, 93,172,
|
||||
/* 0x0420 */ 255,117,172, 83,232, 80,252,255,255,131,196, 28, 57,195,116, 55,
|
||||
/* 0x0430 */ 235,197,131,125,208, 0,116, 47,141, 70, 3, 37,255, 15, 0, 0,
|
||||
/* 0x0440 */ 131,248, 3,119, 34, 80, 83,232, 29,252,255,255, 89, 91,235, 23,
|
||||
/* 0x0450 */ 131,125,208, 0,117, 17,131,232, 4,131,248, 1,119, 9,139, 93,
|
||||
/* 0x0460 */ 184, 3, 95, 56,137, 93,192,139, 71, 4,255, 69,176,131,224,252,
|
||||
/* 0x0470 */ 139, 85,176, 1,199,233, 46,254,255,255,139, 69,192,141,101,244,
|
||||
/* 0x0480 */ 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 32,199, 69,
|
||||
/* 0x0490 */ 212, 0, 0, 0, 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69,
|
||||
/* 0x04a0 */ 216,139,125, 20,141, 66, 24,137,125,232,137, 69,240,139, 69, 28,
|
||||
/* 0x04b0 */ 131,232, 24,137, 69,236,139, 66, 24,139, 85,240,106, 0,137, 69,
|
||||
/* 0x04c0 */ 228,139, 69,236,137, 85,224,137, 69,220,141, 85,228,141, 69,236,
|
||||
/* 0x04d0 */ 83,232,238,251,255,255,255,117, 12, 83,255,117, 8,141, 69,220,
|
||||
/* 0x04e0 */ 106,255, 80,106, 0, 87,232,172,252,255,255, 49,210,137,195,141,
|
||||
/* 0x04f0 */ 71, 28,131,196, 36,139, 79, 16, 57,202, 15,131,167, 0, 0, 0,
|
||||
/* 0x0500 */ 131, 56, 14, 15,133,149, 0, 0, 0, 3, 64, 8,106, 0,106, 0,
|
||||
/* 0x0510 */ 80,232, 95,251,255,255,131,196, 12,133,192,137,198,120, 23,106,
|
||||
/* 0x0520 */ 0,255,117,212,255,117,216, 87, 86,232, 63,251,255,255,131,196,
|
||||
/* 0x0530 */ 20, 57, 69,216,116, 15,106,127,232, 36,251,255,255,139, 91, 8,
|
||||
/* 0x0540 */ 137, 93,212,235,218,139, 7, 61,202,254,186,190,116, 7, 61,190,
|
||||
/* 0x0550 */ 186,254,202,117, 42, 15,182, 71, 7,141, 95, 8,107,192, 20,131,
|
||||
/* 0x0560 */ 192, 8, 80, 87,232,210,250,255,255, 89, 90, 49,192,139, 87, 4,
|
||||
/* 0x0570 */ 57,208,115, 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106,
|
||||
/* 0x0580 */ 0,106, 0,106, 0, 86,106, 0,255,117,212, 87,232, 6,252,255,
|
||||
/* 0x0590 */ 255, 86,137,195,232,216,250,255,255,131,196, 32,235, 9, 3, 64,
|
||||
/* 0x05a0 */ 4, 66,233, 81,255,255,255,141,101,244,137,216, 91, 94, 95,201,
|
||||
/* 0x05b0 */ 195
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user