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

stash work-in-progress

modified:   stub/src/amd64-darwin.macho-main.c
	modified:   stub/src/arm64-darwin.macho-fold.S
This commit is contained in:
John Reiser 2017-12-19 21:19:53 -08:00
parent e8aa80f904
commit 9d2d59b5d2
6 changed files with 475 additions and 447 deletions

View File

@ -1,5 +1,5 @@
/* amd64-darwin.macho-fold.h /* amd64-darwin.macho-fold.h
created from amd64-darwin.macho-fold.bin, 3634 (0xe32) bytes created from amd64-darwin.macho-fold.bin, 3747 (0xea3) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -31,11 +31,11 @@
*/ */
#define STUB_AMD64_DARWIN_MACHO_FOLD_SIZE 3634 #define STUB_AMD64_DARWIN_MACHO_FOLD_SIZE 3747
#define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0x7233848c #define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0xf284b1a1
#define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0x14c3e5c3 #define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0x7a8ad96c
unsigned char stub_amd64_darwin_macho_fold[3634] = { unsigned char stub_amd64_darwin_macho_fold[3747] = {
/* 0x0000 */ 232, 74, 0, 0, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55, /* 0x0000 */ 232, 74, 0, 0, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,
/* 0x0010 */ 253, 94, 86, 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128, /* 0x0010 */ 253, 94, 86, 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,
/* 0x0020 */ 114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1, /* 0x0020 */ 114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1,
@ -43,7 +43,7 @@ unsigned char stub_amd64_darwin_macho_fold[3634] = {
/* 0x0040 */ 41,248, 1,216,171, 72, 57,206,115, 3,172,235,223, 91,195, 65, /* 0x0040 */ 41,248, 1,216,171, 72, 57,206,115, 3,172,235,223, 91,195, 65,
/* 0x0050 */ 89, 76,137,247, 76,137,254, 73,137,228,139, 79, 24,184, 0, 8, /* 0x0050 */ 89, 76,137,247, 76,137,254, 73,137,228,139, 79, 24,184, 0, 8,
/* 0x0060 */ 0, 0, 57,193, 15, 66,200, 73,141, 68, 36, 32, 73,137,232, 72, /* 0x0060 */ 0, 0, 57,193, 15, 66,200, 73,141, 68, 36, 32, 73,137,232, 72,
/* 0x0070 */ 41,204, 72,137,226, 80,232,104, 11, 0, 0, 72,139, 40, 72,139, /* 0x0070 */ 41,204, 72,137,226, 80,232,181, 11, 0, 0, 72,139, 40, 72,139,
/* 0x0080 */ 136,128, 0, 0, 0, 76,137,228, 72,137, 76, 36, 24, 95,232, 45, /* 0x0080 */ 136,128, 0, 0, 0, 76,137,228, 72,137, 76, 36, 24, 95,232, 45,
/* 0x0090 */ 0, 0, 0, 95, 94,184, 73, 0, 0, 2,255,229,139, 7, 15,200, /* 0x0090 */ 0, 0, 0, 95, 94,184, 73, 0, 0, 2,255,229,139, 7, 15,200,
/* 0x00a0 */ 137, 7,131,238, 4, 72,141,127, 4,119,241,195,176, 4,235, 2, /* 0x00a0 */ 137, 7,131,238, 4, 72,141,127, 4,119,241,195,176, 4,235, 2,
@ -168,10 +168,10 @@ unsigned char stub_amd64_darwin_macho_fold[3634] = {
/* 0x0810 */ 92, 36, 56, 72,139, 11,255,116, 36, 40, 49,192, 72,131,124, 36, /* 0x0810 */ 92, 36, 56, 72,139, 11,255,116, 36, 40, 49,192, 72,131,124, 36,
/* 0x0820 */ 80, 0,116, 9, 72,139, 92, 36, 80, 72,139, 67, 8, 80, 73,137, /* 0x0820 */ 80, 0,116, 9, 72,139, 92, 36, 80, 72,139, 67, 8, 80, 73,137,
/* 0x0830 */ 209, 76,139, 68, 36, 88, 72,139, 84, 36,104,139,116, 36, 84, 49, /* 0x0830 */ 209, 76,139, 68, 36, 88, 72,139, 84, 36,104,139,116, 36, 84, 49,
/* 0x0840 */ 192,232,209,249,255,255, 65, 88, 65, 89, 49,210,199, 68, 36, 20, /* 0x0840 */ 192,232,209,249,255,255, 65, 88, 65, 89, 49,210, 72,139, 68, 36,
/* 0x0850 */ 0, 0, 0, 0, 72,139, 68, 36, 88, 59, 80, 16, 15,131,109, 3, /* 0x0850 */ 88,199, 68, 36, 20, 0, 0, 0, 0, 59, 80, 16, 15,131,186, 3,
/* 0x0860 */ 0, 0, 65,139, 69, 0,131,248, 25, 15,133, 31, 3, 0, 0, 73, /* 0x0860 */ 0, 0, 65,139, 69, 0,131,248, 25, 15,133, 39, 3, 0, 0, 73,
/* 0x0870 */ 131,125, 32, 0, 15,132, 20, 3, 0, 0, 73,131,125, 40, 0,117, /* 0x0870 */ 131,125, 32, 0, 15,132, 28, 3, 0, 0, 73,131,125, 40, 0,117,
/* 0x0880 */ 61, 73,131,125, 48, 0,116, 54, 72,139, 76, 36, 56, 72,139, 1, /* 0x0880 */ 61, 73,131,125, 48, 0,116, 54, 72,139, 76, 36, 56, 72,139, 1,
/* 0x0890 */ 72,133,192,116, 41,246, 64, 26, 32,116, 35, 73, 43, 69, 24,232, /* 0x0890 */ 72,133,192,116, 41,246, 64, 26, 32,116, 35, 73, 43, 69, 24,232,
/* 0x08a0 */ 10, 0, 0, 0,114,101,108,111, 99, 61, 37,112, 10, 0, 95, 72, /* 0x08a0 */ 10, 0, 0, 0,114,101,108,111, 99, 61, 37,112, 10, 0, 95, 72,
@ -201,67 +201,74 @@ unsigned char stub_amd64_darwin_macho_fold[3634] = {
/* 0x0a20 */ 116, 47, 73,131,125, 48, 0,116, 40, 73,131,125, 40, 0,117, 8, /* 0x0a20 */ 116, 47, 73,131,125, 48, 0,116, 40, 73,131,125, 40, 0,117, 8,
/* 0x0a30 */ 72,139, 68, 36, 56, 72,137, 40, 72,139, 76, 36, 40, 72,139, 84, /* 0x0a30 */ 72,139, 68, 36, 56, 72,137, 40, 72,139, 76, 36, 40, 72,139, 84,
/* 0x0a40 */ 36, 48, 72,141,116, 36, 96, 72,139,124, 36, 72,232, 66,251,255, /* 0x0a40 */ 36, 48, 72,141,116, 36, 96, 72,139,124, 36, 72,232, 66,251,255,
/* 0x0a50 */ 255, 72,139, 84, 36, 56, 72,131, 58, 0, 15,149,194, 49,192, 77, /* 0x0a50 */ 255, 72,131,124, 36, 72, 0, 15,149,194, 49,192, 77,133,255, 15,
/* 0x0a60 */ 133,255, 15,149,192,133,194,116,111, 73,131,125, 40, 0,117,104, /* 0x0a60 */ 149,192,133,194,116,111, 73,131,125, 40, 0,117,104, 65,131,125,
/* 0x0a70 */ 65,131,125, 64, 0,116, 97, 76,137,233, 72, 43, 76, 36, 88, 73, /* 0x0a70 */ 64, 0,116, 97, 76,137,233, 72, 43, 76, 36, 88, 73,137,232,232,
/* 0x0a80 */ 137,232,232, 37, 0, 0, 0,104, 97,116, 99,104, 61, 37,112, 32, /* 0x0a80 */ 37, 0, 0, 0,104, 97,116, 99,104, 61, 37,112, 32, 32,115,101,
/* 0x0a90 */ 32,115,101, 99,112, 61, 37,112, 32, 32,115,101,103,112, 61, 37, /* 0x0a90 */ 99,112, 61, 37,112, 32, 32,115,101,103,112, 61, 37,112, 32, 32,
/* 0x0aa0 */ 112, 32, 32,109,104,100,114, 61, 37,112, 10, 0, 95, 72,141, 76, /* 0x0aa0 */ 109,104,100,114, 61, 37,112, 10, 0, 95, 72,141, 76, 13, 0, 72,
/* 0x0ab0 */ 13, 0, 72,141, 81, 72,139, 66, 48, 72,141, 68, 5, 0, 72,141, /* 0x0ab0 */ 141, 81, 72,139, 66, 48, 72,141, 68, 5, 0, 72,141, 88,252,199,
/* 0x0ac0 */ 88,252,199, 64,252,144, 15, 5,195, 49,192, 72,137,222,232, 68, /* 0x0ac0 */ 64,252,144, 15, 5,195, 49,192, 72,137,222,232, 71,247,255,255,
/* 0x0ad0 */ 247,255,255, 72,137, 92, 36, 32, 76,137,251, 74,141, 84, 61, 0, /* 0x0ad0 */ 72,137, 92, 36, 32, 76,137,251, 74,141, 84, 61, 0, 72,247,219,
/* 0x0ae0 */ 72,247,219,129,227,255, 15, 0, 0, 72,137,216, 72,133,219,116, /* 0x0ae0 */ 129,227,255, 15, 0, 0, 72,137,216, 72,133,219,116, 11,198, 2,
/* 0x0af0 */ 11,198, 2, 0, 72,255,194, 72,255,200,235,243, 77,133,255,116, /* 0x0af0 */ 0, 72,255,194, 72,255,200,235,243, 77,133,255,116, 29, 65,139,
/* 0x0b00 */ 29, 65,139, 85, 60, 76,137,254, 72,137,239,232,164,245,255,255, /* 0x0b00 */ 85, 60, 76,137,254, 72,137,239,232,167,245,255,255,133,192,116,
/* 0x0b10 */ 133,192,116, 10,191, 10, 0, 0, 0,232, 79,250,255,255, 73,141, /* 0x0b10 */ 10,191, 10, 0, 0, 0,232, 82,250,255,255, 73,141, 4, 31, 72,
/* 0x0b20 */ 4, 31, 72, 1,197, 72, 59,108, 36, 8,115, 60, 72,133,237, 15, /* 0x0b20 */ 1,197, 72, 59,108, 36, 8,115, 67, 72,133,237, 15,132,206, 0,
/* 0x0b30 */ 132,134, 0, 0, 0, 72, 41,108, 36, 8, 65,139, 85, 60, 69, 49, /* 0x0b30 */ 0, 0, 72, 41,108, 36, 8, 65,139, 85, 60, 69, 49,201, 72,139,
/* 0x0b40 */ 201, 72,139,116, 36, 8, 65,131,200,255,185, 50, 0, 0, 0, 72, /* 0x0b40 */ 116, 36, 8, 65,131,200,255,185, 50, 0, 0, 0, 72,137,239,232,
/* 0x0b50 */ 137,239,232,113,245,255,255, 72, 57,197,116, 95,191, 9, 0, 0, /* 0x0b50 */ 116,245,255,255, 72, 57,197, 15,132,163, 0, 0, 0,191, 9, 0,
/* 0x0b60 */ 0,232, 7,250,255,255,235, 83, 72,131,124, 36, 72, 0,116, 75, /* 0x0b60 */ 0, 0,232, 6,250,255,255,233,148, 0, 0, 0, 72,131,124, 36,
/* 0x0b70 */ 73,131,199, 3, 65,129,231,255, 15, 0, 0, 73,131,255, 3,119, /* 0x0b70 */ 72, 0, 15,132,136, 0, 0, 0, 73,131,199, 3, 65,129,231,255,
/* 0x0b80 */ 58, 76,137,254, 72,137,239,232, 44,245,255,255,235, 45,131,232, /* 0x0b80 */ 15, 0, 0, 73,131,255, 3,119,119, 76,137,254, 72,137,239,232,
/* 0x0b90 */ 4,131,248, 1,119, 37, 72,184, 4, 0, 0, 0, 42, 0, 0, 0, /* 0x0b90 */ 36,245,255,255,235,106,131,232, 4,131,248, 1,119, 98, 49,192,
/* 0x0ba0 */ 73, 57, 69, 8,117, 21, 72,139, 76, 36, 24, 73, 1,141,144, 0, /* 0x0ba0 */ 76,137,238,232, 20, 0, 0, 0,116,104,114,101, 97,100, 95, 99,
/* 0x0bb0 */ 0, 0, 73,141, 93, 16, 72,137, 92, 36, 32, 65,139, 69, 4,255, /* 0x0bb0 */ 111,109,109, 97,110,100, 61, 32, 37,112, 10, 0, 95,232, 85,246,
/* 0x0bc0 */ 68, 36, 20,139, 84, 36, 20, 73, 1,197,233,133,252,255,255, 72, /* 0x0bc0 */ 255,255, 65,131,125, 8, 4,117, 55, 73,141, 93, 16, 49,192,232,
/* 0x0bd0 */ 139, 68, 36, 32, 72,131,196,120, 91, 93, 65, 92, 65, 93, 65, 94, /* 0x0bd0 */ 18, 0, 0, 0,116,104,114,101, 97,100, 95,115,116, 97,116,101,
/* 0x0be0 */ 65, 95,195, 65, 87, 77,137,207, 65, 86, 65, 85, 77,137,197, 65, /* 0x0be0 */ 61, 32, 37,112, 10, 0, 95, 72,137,222,232, 40,246,255,255, 72,
/* 0x0bf0 */ 84, 85, 72,137,213, 72,141, 87, 24, 83, 72,131,236,104, 68,139, /* 0x0bf0 */ 139, 84, 36, 24, 73, 1,149,144, 0, 0, 0, 72,137, 92, 36, 32,
/* 0x0c00 */ 79, 24, 72,137,116, 36, 88, 72,139, 68, 36, 88, 76,141,116, 36, /* 0x0c00 */ 65,139, 69, 4, 72,139, 76, 36, 88,255, 68, 36, 20,139, 92, 36,
/* 0x0c10 */ 48, 76,139,164, 36,160, 0, 0, 0, 72,137, 76, 36, 16, 76,137, /* 0x0c10 */ 20, 73, 1,197, 59, 89, 16,233, 64,252,255,255, 72,139, 68, 36,
/* 0x0c20 */ 249, 72,137, 84, 36, 72, 72,137, 84, 36, 40, 77,137,240, 72,131, /* 0x0c20 */ 32, 72,131,196,120, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195,
/* 0x0c30 */ 232, 24, 76,137, 76, 36, 48, 72,139,116, 36, 88, 72,137, 68, 36, /* 0x0c30 */ 65, 87, 77,137,207, 65, 86, 65, 85, 77,137,197, 65, 84, 85, 72,
/* 0x0c40 */ 64, 72,137, 68, 36, 32, 72,199, 68, 36, 8, 0, 0, 0, 0,199, /* 0x0c40 */ 137,213, 72,141, 87, 24, 83, 72,131,236,104, 68,139, 79, 24, 72,
/* 0x0c50 */ 68, 36, 4, 0, 0, 0, 0, 72,137,108, 36, 56, 65,255, 52, 36, /* 0x0c50 */ 137,116, 36, 88, 72,139, 68, 36, 88, 76,141,116, 36, 48, 76,139,
/* 0x0c60 */ 232, 88, 0, 0, 0,117,112,120, 95,109, 97,105,110, 32,115,122, /* 0x0c60 */ 164, 36,160, 0, 0, 0, 72,137, 76, 36, 16, 76,137,249, 72,137,
/* 0x0c70 */ 99, 61, 37,120, 32, 32,102, 95,100,101, 99, 61, 37,112, 32, 32, /* 0x0c70 */ 84, 36, 72, 72,137, 84, 36, 40, 77,137,240, 72,131,232, 24, 76,
/* 0x0c80 */ 102, 95,117,110,102, 61, 37,112, 32, 32, 32, 32,120,111, 61, 37, /* 0x0c80 */ 137, 76, 36, 48, 72,139,116, 36, 88, 72,137, 68, 36, 64, 72,137,
/* 0x0c90 */ 112, 40, 37,120, 32, 37,112, 41, 32, 32,120,105, 61, 37,112, 40, /* 0x0c90 */ 68, 36, 32, 72,199, 68, 36, 8, 0, 0, 0, 0,199, 68, 36, 4,
/* 0x0ca0 */ 37,120, 32, 37,112, 41, 32, 32,109,104,100,114,112,112, 61, 37, /* 0x0ca0 */ 0, 0, 0, 0, 72,137,108, 36, 56, 65,255, 52, 36,232, 88, 0,
/* 0x0cb0 */ 112, 32, 32,109,104,100,114,112, 61, 37,112, 10, 0, 95, 65, 84, /* 0x0cb0 */ 0, 0,117,112,120, 95,109, 97,105,110, 32,115,122, 99, 61, 37,
/* 0x0cc0 */ 82, 76,137,234, 80, 49,192, 72,141, 92, 36, 96, 83, 85,232, 68, /* 0x0cc0 */ 120, 32, 32,102, 95,100,101, 99, 61, 37,112, 32, 32,102, 95,117,
/* 0x0cd0 */ 245,255,255, 72,131,196, 48, 76,137,234, 76,137,246, 49,201, 72, /* 0x0cd0 */ 110,102, 61, 37,112, 32, 32, 32, 32,120,111, 61, 37,112, 40, 37,
/* 0x0ce0 */ 137,223,232,172,248,255,255, 80, 77,137,233, 77,137,224,131,201, /* 0x0ce0 */ 120, 32, 37,112, 41, 32, 32,120,105, 61, 37,112, 40, 37,120, 32,
/* 0x0cf0 */ 255, 49,246, 72,137,239, 72,141, 84, 36, 40, 65, 87,232, 93,250, /* 0x0cf0 */ 37,112, 41, 32, 32,109,104,100,114,112,112, 61, 37,112, 32, 32,
/* 0x0d00 */ 255,255, 65, 92, 65, 94,139,117, 16, 72,141, 85, 32, 73,137,197, /* 0x0d00 */ 109,104,100,114,112, 61, 37,112, 10, 0, 95, 65, 84, 82, 76,137,
/* 0x0d10 */ 49,201, 57,241, 15,131, 4, 1, 0, 0,131, 58, 14, 15,133,238, /* 0x0d10 */ 234, 80, 49,192, 72,141, 92, 36, 96, 83, 85,232,247,244,255,255,
/* 0x0d20 */ 0, 0, 0,139, 66, 8,232, 10, 0, 0, 0,100,121,108,100, 61, /* 0x0d20 */ 72,131,196, 48, 76,137,234, 76,137,246, 49,201, 72,137,223,232,
/* 0x0d30 */ 32, 37,115, 10, 0, 95, 72,141, 28, 2, 49,192, 72,137,222,232, /* 0x0d30 */ 95,248,255,255, 80, 77,137,233, 77,137,224,131,201,255, 49,246,
/* 0x0d40 */ 211,244,255,255, 49,210, 49,246, 49,192, 72,137,223,232,114,243, /* 0x0d40 */ 72,137,239, 72,141, 84, 36, 40, 65, 87,232, 16,250,255,255, 65,
/* 0x0d50 */ 255,255,133,192, 65,137,196,121, 10,191, 18, 0, 0, 0,232, 10, /* 0x0d50 */ 92, 65, 94,139,117, 16, 72,141, 85, 32, 73,137,197, 49,201, 57,
/* 0x0d60 */ 248,255,255,139, 76, 36, 4, 72,139, 84, 36, 16, 72,137,238, 68, /* 0x0d60 */ 241, 15,131, 40, 1, 0, 0,131, 58, 14, 15,133, 18, 1, 0, 0,
/* 0x0d70 */ 137,231,232, 69,243,255,255, 72, 57, 68, 36, 16,116, 10,191, 19, /* 0x0d70 */ 139, 66, 8,232, 10, 0, 0, 0,100,121,108,100, 61, 32, 37,115,
/* 0x0d80 */ 0, 0, 0,232,229,247,255,255,139, 69, 0, 61,202,254,186,190, /* 0x0d80 */ 10, 0, 95, 72,141, 28, 2, 49,192, 72,137,222,232,134,244,255,
/* 0x0d90 */ 116, 7, 61,190,186,254,202,117, 49, 72, 15,182,117, 7, 72,137, /* 0x0d90 */ 255, 49,210, 49,246, 49,192, 72,137,223,232, 37,243,255,255,133,
/* 0x0da0 */ 239, 72,141, 93, 8, 72,107,246, 20,131,198, 8,232,235,242,255, /* 0x0da0 */ 192, 65,137,196,121, 10,191, 18, 0, 0, 0,232,189,247,255,255,
/* 0x0db0 */ 255,139, 69, 4, 49,201, 57,193,115, 16,129, 59, 7, 0, 0, 1, /* 0x0db0 */ 139, 76, 36, 4, 72,139, 84, 36, 16, 72,137,238, 68,137,231,232,
/* 0x0dc0 */ 116, 67,255,193, 72,131,195, 20,235,236, 72,199, 68, 36, 24, 0, /* 0x0dc0 */ 248,242,255,255, 72, 57, 68, 36, 16,116, 10,191, 19, 0, 0, 0,
/* 0x0dd0 */ 0, 0, 0, 83, 69, 49,201, 68,137,225, 49,210,106, 0,139,116, /* 0x0dd0 */ 232,152,247,255,255,139, 69, 0, 61,202,254,186,190,116, 7, 61,
/* 0x0de0 */ 36, 20, 72,137,239, 76,141, 68, 36, 40,232,112,249,255,255, 68, /* 0x0de0 */ 190,186,254,202,117, 49, 72, 15,182,117, 7, 72,137,239, 72,141,
/* 0x0df0 */ 137,231, 76,137, 40, 72,137, 68, 36, 24,232,193,242,255,255, 65, /* 0x0df0 */ 93, 8, 72,107,246, 20,131,198, 8,232,158,242,255,255,139, 69,
/* 0x0e00 */ 90, 65, 91,235, 25,139, 91, 8,137, 92, 36, 4,233, 82,255,255, /* 0x0e00 */ 4, 49,201, 57,193,115, 16,129, 59, 7, 0, 0, 1,116,103,255,
/* 0x0e10 */ 255,139, 66, 4,255,193, 72, 1,194,233,244,254,255,255, 72,139, /* 0x0e10 */ 193, 72,131,195, 20,235,236, 72,199, 68, 36, 24, 0, 0, 0, 0,
/* 0x0e20 */ 68, 36, 8, 72,131,196,104, 91, 93, 65, 92, 65, 93, 65, 94, 65, /* 0x0e20 */ 83, 69, 49,201, 68,137,225, 49,210,106, 0,139,116, 36, 20, 72,
/* 0x0e30 */ 95,195 /* 0x0e30 */ 137,239, 76,141, 68, 36, 40,232, 35,249,255,255, 72,137, 68, 36,
/* 0x0e40 */ 24, 72,137,198, 49,192, 65, 90, 65, 91,232, 15, 0, 0, 0,104,
/* 0x0e50 */ 97,116, 99,104, 32,112,116,114, 61, 32, 37,112, 10, 0, 95,232,
/* 0x0e60 */ 179,243,255,255, 72,139, 68, 36, 8, 68,137,231, 76,137, 40,232,
/* 0x0e70 */ 76,242,255,255,235, 25,139, 91, 8,137, 92, 36, 4,233, 46,255,
/* 0x0e80 */ 255,255,139, 66, 4,255,193, 72, 1,194,233,208,254,255,255, 72,
/* 0x0e90 */ 139, 68, 36, 8, 72,131,196,104, 91, 93, 65, 92, 65, 93, 65, 94,
/* 0x0ea0 */ 65, 95,195
}; };

View File

@ -1,5 +1,5 @@
/* arm64-darwin.macho-fold.h /* arm64-darwin.macho-fold.h
created from arm64-darwin.macho-fold.bin, 4392 (0x1128) bytes created from arm64-darwin.macho-fold.bin, 4528 (0x11b0) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -31,284 +31,292 @@
*/ */
#define STUB_ARM64_DARWIN_MACHO_FOLD_SIZE 4392 #define STUB_ARM64_DARWIN_MACHO_FOLD_SIZE 4528
#define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0x4d170c93 #define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0xa7c7351d
#define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0xa4e1bfcd #define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0x27d37905
unsigned char stub_arm64_darwin_macho_fold[4392] = { unsigned char stub_arm64_darwin_macho_fold[4528] = {
/* 0x0000 */ 224, 3, 20,170,225, 3, 21,170, 3, 24, 64,185, 9, 0,132, 82, /* 0x0000 */ 224, 3, 20,170,225, 3, 21,170, 3, 24, 64,185, 9, 0,132, 82,
/* 0x0010 */ 127, 0, 9,107, 99,128,137, 26, 99, 60, 0, 17, 99,108, 28, 18, /* 0x0010 */ 127, 0, 9,107, 99,128,137, 26, 99, 60, 0, 17, 99,108, 28, 18,
/* 0x0020 */ 230,131, 0,145,243, 3, 0,145,255, 67, 35,203,226, 3, 0,145, /* 0x0020 */ 230,131, 0,145,243, 3, 0,145,255, 67, 35,203,226, 3, 0,145,
/* 0x0030 */ 228, 3, 28,170,165, 1, 0, 16, 39, 3, 0,148, 20,128, 64,249, /* 0x0030 */ 228, 3, 28,170,197, 1, 0, 16, 0, 0, 32,212, 60, 3, 0,148,
/* 0x0040 */ 28, 0, 64,249,127, 2, 0,145,224, 3, 64,185, 39, 0, 0,148, /* 0x0040 */ 20,128, 64,249, 28, 0, 64,249,127, 2, 0,145,224, 3, 64,185,
/* 0x0050 */ 224, 7, 64,249,225, 19, 64,185, 40, 9,128, 82,254, 3, 20,170, /* 0x0050 */ 42, 0, 0,148,224, 7, 64,249,225, 19, 64,185, 40, 9,128, 82,
/* 0x0060 */ 255,131, 0,145,128, 3, 31,214, 99, 28, 0, 18,127, 72, 1,113, /* 0x0060 */ 254, 3, 20,170,255,131, 0,145,128, 3, 31,214, 99, 28, 0, 18,
/* 0x0070 */ 1, 2, 0, 84, 33,124, 2, 83,192, 1, 0,180,161, 1, 0, 52, /* 0x0070 */ 127, 72, 1,113, 1, 2, 0, 84, 33,124, 2, 83,192, 1, 0,180,
/* 0x0080 */ 33, 4, 0, 81, 2, 88, 97,184, 67,124, 26, 83,127,148, 0,113, /* 0x0080 */ 161, 1, 0, 52, 33, 4, 0, 81, 2, 88, 97,184, 67,124, 26, 83,
/* 0x0090 */ 193, 0, 0, 84, 67, 20, 6, 18, 66, 0, 1, 75, 66,100, 0, 18, /* 0x0090 */ 127,148, 0,113,193, 0, 0, 84, 67, 20, 6, 18, 66, 0, 1, 75,
/* 0x00a0 */ 66, 0, 3, 42, 2, 88, 33,184, 63, 0, 0,113,161,254,255, 84, /* 0x00a0 */ 66,100, 0, 18, 66, 0, 3, 42, 2, 88, 33,184, 63, 0, 0,113,
/* 0x00b0 */ 192, 3, 95,214,192, 3, 95,214,168, 11,128, 82, 1, 0, 0,212, /* 0x00b0 */ 161,254,255, 84,192, 3, 95,214,192, 3, 95,214,168, 11,128, 82,
/* 0x00c0 */ 232, 7,128, 82, 1, 0, 0,212,192, 3, 95,214, 8, 8,128, 82, /* 0x00c0 */ 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x00d0 */ 1, 0, 0,212,192, 3, 95,214, 0, 0, 32,212,168, 0,128, 82, /* 0x00d0 */ 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214, 0, 0, 32,212,
/* 0x00e0 */ 1, 0, 0,212,192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212, /* 0x00e0 */ 2, 0,128,210,225, 3, 0,170, 96, 12,128, 18, 8, 7,128, 82,
/* 0x00f0 */ 192, 3, 95,214,168, 5,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x00f0 */ 1, 0, 0,212,192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212,
/* 0x0100 */ 232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214, 72, 28,128, 82, /* 0x0100 */ 192, 3, 95,214,168, 5,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0110 */ 1, 0, 0,212,192, 3, 95,214,200, 27,128, 82, 1, 0, 0,212, /* 0x0110 */ 232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214, 72, 28,128, 82,
/* 0x0120 */ 192, 3, 95,214,104, 8,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x0120 */ 1, 0, 0,212,192, 3, 95,214,200, 27,128, 82, 1, 0, 0,212,
/* 0x0130 */ 233, 31,128, 82, 41, 29, 16, 50, 6, 0, 0, 20, 2, 0, 64,185, /* 0x0130 */ 192, 3, 95,214,104, 8,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0140 */ 35, 1, 2, 10, 34, 97,194, 10, 66, 32,195, 42, 2, 68, 0,184, /* 0x0140 */ 233, 31,128, 82, 41, 29, 16, 50, 6, 0, 0, 20, 2, 0, 64,185,
/* 0x0150 */ 33, 16, 0,113, 74,255,255, 84,192, 3, 95,214, 67, 1,128, 82, /* 0x0150 */ 35, 1, 2, 10, 34, 97,194, 10, 66, 32,195, 42, 2, 68, 0,184,
/* 0x0160 */ 229, 3, 3, 42, 4, 8,195, 26,159, 36, 0,113,105, 0, 0, 84, /* 0x0160 */ 33, 16, 0,113, 74,255,255, 84,192, 3, 95,214, 67, 1,128, 82,
/* 0x0170 */ 99,124, 5, 27,252,255,255, 23, 4, 0,128,210, 71, 1,128, 82, /* 0x0170 */ 229, 3, 3, 42, 4, 8,195, 26,159, 36, 0,113,105, 0, 0, 84,
/* 0x0180 */ 72,124, 64,147, 31, 36, 0,113, 69, 0, 4, 11, 41, 1, 0, 84, /* 0x0180 */ 99,124, 5, 27,252,255,255, 23, 4, 0,128,210, 71, 1,128, 82,
/* 0x0190 */ 5, 8,195, 26, 38, 0, 8,139,160,128, 3, 27,165,192, 0, 17, /* 0x0190 */ 72,124, 64,147, 31, 36, 0,113, 69, 0, 4, 11, 41, 1, 0, 84,
/* 0x01a0 */ 197,104, 36, 56, 99, 8,199, 26,132, 4, 0,145,246,255,255, 23, /* 0x01a0 */ 5, 8,195, 26, 38, 0, 8,139,160,128, 3, 27,165,192, 0, 17,
/* 0x01b0 */ 0,192, 0, 17, 32,200, 37, 56,160, 4, 0, 17,192, 3, 95,214, /* 0x01b0 */ 197,104, 36, 56, 99, 8,199, 26,132, 4, 0,145,246,255,255, 23,
/* 0x01c0 */ 229, 1,128, 82, 3, 0,254,210,127, 0, 0,234,129, 0, 0, 84, /* 0x01c0 */ 0,192, 0, 17, 32,200, 37, 56,160, 4, 0, 17,192, 3, 95,214,
/* 0x01d0 */ 165, 4, 0,113, 99,252, 68,211,129,255,255, 84, 4, 0,128,210, /* 0x01d0 */ 229, 1,128, 82, 3, 0,254,210,127, 0, 0,234,129, 0, 0, 84,
/* 0x01e0 */ 230, 10,128, 82, 7, 6,128, 82,130, 8, 0, 17,163, 1, 0,180, /* 0x01e0 */ 165, 4, 0,113, 99,252, 68,211,129,255,255, 84, 4, 0,128,210,
/* 0x01f0 */ 162, 0, 4, 75, 40, 0, 4,139, 66,116, 30, 83, 99,252, 68,211, /* 0x01f0 */ 230, 10,128, 82, 7, 6,128, 82,130, 8, 0, 17,163, 1, 0,180,
/* 0x0200 */ 2, 36,194,154,132, 4, 0,145, 66, 12, 0, 18, 95, 36, 0,113, /* 0x0200 */ 162, 0, 4, 75, 40, 0, 4,139, 66,116, 30, 83, 99,252, 68,211,
/* 0x0210 */ 201,128,135, 26, 34, 1, 2, 11, 2, 9, 0, 57,243,255,255, 23, /* 0x0210 */ 2, 36,194,154,132, 4, 0,145, 66, 12, 0, 18, 95, 36, 0,113,
/* 0x0220 */ 224, 3, 2, 42,192, 3, 95,214,253,123,171,169,253, 3, 0,145, /* 0x0220 */ 201,128,135, 26, 34, 1, 2, 11, 2, 9, 0, 57,243,255,255, 23,
/* 0x0230 */ 245, 91, 2,169,247, 99, 3,169,243, 83, 1,169,161,143, 0,249, /* 0x0230 */ 224, 3, 2, 42,192, 3, 95,214,253,123,171,169,253, 3, 0,145,
/* 0x0240 */ 161, 3, 4,145,162,147, 0,249,248, 3, 0,170,249,107, 4,169, /* 0x0240 */ 245, 91, 2,169,247, 99, 3,169,243, 83, 1,169,161,143, 0,249,
/* 0x0250 */ 163,151, 0,249,160, 67, 5,145,164,155, 0,249, 2, 0,128,210, /* 0x0250 */ 161, 3, 4,145,162,147, 0,249,248, 3, 0,170,249,107, 4,169,
/* 0x0260 */ 165,159, 0,249,243, 3, 2, 42,166,163, 0,249, 21, 6,128, 82, /* 0x0260 */ 163,151, 0,249,160, 67, 5,145,164,155, 0,249, 2, 0,128,210,
/* 0x0270 */ 167,167, 0,249, 22, 15,128, 82,160, 39,128, 61,183, 5,128, 82, /* 0x0270 */ 165,159, 0,249,243, 3, 2, 42,166,163, 0,249, 21, 6,128, 82,
/* 0x0280 */ 161, 43,128, 61,162, 47,128, 61,163, 51,128, 61,164, 55,128, 61, /* 0x0280 */ 167,167, 0,249, 22, 15,128, 82,160, 39,128, 61,183, 5,128, 82,
/* 0x0290 */ 165, 59,128, 61,166, 63,128, 61, 39, 0,128, 61,160, 59, 0,249, /* 0x0290 */ 161, 43,128, 61,162, 47,128, 61,163, 51,128, 61,164, 55,128, 61,
/* 0x02a0 */ 160, 63, 0,249,160, 67, 4,145,160, 67, 0,249,224, 6,128, 18, /* 0x02a0 */ 165, 59,128, 61,166, 63,128, 61, 39, 0,128, 61,160, 59, 0,249,
/* 0x02b0 */ 160,139, 0,185,224, 15,128, 18,160,143, 0,185, 25, 3, 64, 57, /* 0x02b0 */ 160, 63, 0,249,160, 67, 4,145,160, 67, 0,249,224, 6,128, 18,
/* 0x02c0 */ 20, 7, 0,145,250, 3, 20,170,121, 0, 0, 53, 34, 1, 0,181, /* 0x02c0 */ 160,139, 0,185,224, 15,128, 18,160,143, 0,185, 25, 3, 64, 57,
/* 0x02d0 */ 137, 0, 0, 20, 63,151, 0,113,160, 0, 0, 84, 95, 0, 31,235, /* 0x02d0 */ 20, 7, 0,145,250, 3, 20,170,121, 0, 0, 53, 34, 1, 0,181,
/* 0x02e0 */ 66, 16,148,154,248, 3, 20,170,245,255,255, 23,226, 0, 0,180, /* 0x02e0 */ 137, 0, 0, 20, 63,151, 0,113,160, 0, 0, 84, 95, 0, 31,235,
/* 0x02f0 */ 65, 4, 0,209, 64, 0,128, 82,130, 2, 2,203,116,255,255,151, /* 0x02f0 */ 66, 16,148,154,248, 3, 20,170,245,255,255, 23,226, 0, 0,180,
/* 0x0300 */ 115, 2, 0, 11,153, 15, 0, 52, 0, 7, 64, 57, 20, 11, 0,145, /* 0x0300 */ 65, 4, 0,209, 64, 0,128, 82,130, 2, 2,203,113,255,255,151,
/* 0x0310 */ 31,192, 1,113,224, 6, 0, 84,168, 0, 0, 84,192, 14, 0, 52, /* 0x0310 */ 115, 2, 0, 11,153, 15, 0, 52, 0, 7, 64, 57, 20, 11, 0,145,
/* 0x0320 */ 31,144, 1,113,160, 3, 0, 84, 7, 0, 0, 20, 31,212, 1,113, /* 0x0320 */ 31,192, 1,113,224, 6, 0, 84,168, 0, 0, 84,192, 14, 0, 52,
/* 0x0330 */ 32, 1, 0, 84, 31,224, 1,113,224, 7, 0, 84, 31,204, 1,113, /* 0x0330 */ 31,144, 1,113,160, 3, 0, 84, 7, 0, 0, 20, 31,212, 1,113,
/* 0x0340 */ 192, 10, 0, 84, 64, 0,128, 82,225, 3, 26,170, 34, 0,128,210, /* 0x0340 */ 32, 1, 0, 84, 31,224, 1,113,224, 7, 0, 84, 31,204, 1,113,
/* 0x0350 */ 78, 0, 0, 20,161,139, 64,185,160, 59, 64,249,161, 0,248, 54, /* 0x0350 */ 192, 10, 0, 84, 64, 0,128, 82,225, 3, 26,170, 34, 0,128,210,
/* 0x0360 */ 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107,173, 0, 0, 84, /* 0x0360 */ 78, 0, 0, 20,161,139, 64,185,160, 59, 64,249,161, 0,248, 54,
/* 0x0370 */ 1, 44, 0,145, 33,240,125,146,161, 59, 0,249, 3, 0, 0, 20, /* 0x0370 */ 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107,173, 0, 0, 84,
/* 0x0380 */ 160, 63, 64,249, 0,192, 33,139, 0, 0, 64,185,161, 99, 1,145, /* 0x0380 */ 1, 44, 0,145, 33,240,125,146,161, 59, 0,249, 3, 0, 0, 20,
/* 0x0390 */ 2, 0,128, 82, 21, 0, 0, 20,161,139, 64,185,160, 59, 64,249, /* 0x0390 */ 160, 63, 64,249, 0,192, 33,139, 0, 0, 64,185,161, 99, 1,145,
/* 0x03a0 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107, /* 0x03a0 */ 2, 0,128, 82, 21, 0, 0, 20,161,139, 64,185,160, 59, 64,249,
/* 0x03b0 */ 173, 0, 0, 84, 1, 44, 0,145, 33,240,125,146,161, 59, 0,249, /* 0x03b0 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107,
/* 0x03c0 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 0, 0, 64,185, /* 0x03c0 */ 173, 0, 0, 84, 1, 44, 0,145, 33,240,125,146,161, 59, 0,249,
/* 0x03d0 */ 2, 0,128, 82,128, 0,248, 54,224, 3, 0, 75,183, 99, 1, 57, /* 0x03d0 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 0, 0, 64,185,
/* 0x03e0 */ 34, 0,128, 82,161, 99, 1,145, 93,255,255,151, 36, 0, 0, 20, /* 0x03e0 */ 2, 0,128, 82,128, 0,248, 54,224, 3, 0, 75,183, 99, 1, 57,
/* 0x03f0 */ 161,139, 64,185,181, 99, 1, 57,182,103, 1, 57,160, 59, 64,249, /* 0x03f0 */ 34, 0,128, 82,161, 99, 1,145, 93,255,255,151, 36, 0, 0, 20,
/* 0x0400 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107, /* 0x0400 */ 161,139, 64,185,181, 99, 1, 57,182,103, 1, 57,160, 59, 64,249,
/* 0x0410 */ 173, 0, 0, 84, 1, 60, 0,145, 33,240,125,146,161, 59, 0,249, /* 0x0410 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107,
/* 0x0420 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 0, 0, 64,249, /* 0x0420 */ 173, 0, 0, 84, 1, 60, 0,145, 33,240,125,146,161, 59, 0,249,
/* 0x0430 */ 17, 0, 0, 20,161,139, 64,185,160,103, 1, 57,181, 99, 1, 57, /* 0x0430 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 0, 0, 64,249,
/* 0x0440 */ 160, 59, 64,249,161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, /* 0x0440 */ 17, 0, 0, 20,161,139, 64,185,160,103, 1, 57,181, 99, 1, 57,
/* 0x0450 */ 95, 0, 31,107,173, 0, 0, 84, 1, 44, 0,145, 33,240,125,146, /* 0x0450 */ 160, 59, 64,249,161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185,
/* 0x0460 */ 161, 59, 0,249, 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, /* 0x0460 */ 95, 0, 31,107,173, 0, 0, 84, 1, 44, 0,145, 33,240,125,146,
/* 0x0470 */ 0, 0,128,185,161, 99, 1,145, 82,255,255,151, 2,124, 64,147, /* 0x0470 */ 161, 59, 0,249, 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139,
/* 0x0480 */ 161, 99, 1,145, 64, 0,128, 82, 17,255,255,151,115, 2, 0, 11, /* 0x0480 */ 0, 0,128,185,161, 99, 1,145, 82,255,255,151, 2,124, 64,147,
/* 0x0490 */ 2, 0,128,210,148,255,255, 23,161,139, 64,185,160, 59, 64,249, /* 0x0490 */ 161, 99, 1,145, 64, 0,128, 82, 14,255,255,151,115, 2, 0, 11,
/* 0x04a0 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107, /* 0x04a0 */ 2, 0,128,210,148,255,255, 23,161,139, 64,185,160, 59, 64,249,
/* 0x04b0 */ 173, 0, 0, 84, 1, 60, 0,145, 33,240,125,146,161, 59, 0,249, /* 0x04b0 */ 161, 0,248, 54, 34, 32, 0, 17,162,139, 0,185, 95, 0, 31,107,
/* 0x04c0 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 1, 0, 64,249, /* 0x04c0 */ 173, 0, 0, 84, 1, 60, 0,145, 33,240,125,146,161, 59, 0,249,
/* 0x04d0 */ 226, 3, 1,170,161, 0, 0,180, 64, 0, 64, 57, 96, 0, 0, 52, /* 0x04d0 */ 3, 0, 0, 20,160, 63, 64,249, 0,192, 33,139, 1, 0, 64,249,
/* 0x04e0 */ 66, 4, 0,145,253,255,255, 23, 64, 0,128, 82, 66, 0, 1,203, /* 0x04e0 */ 226, 3, 1,170,161, 0, 0,180, 64, 0, 64, 57, 96, 0, 0, 52,
/* 0x04f0 */ 230,255,255, 23,224, 3, 19, 42,243, 83, 65,169,245, 91, 66,169, /* 0x04f0 */ 66, 4, 0,145,253,255,255, 23, 64, 0,128, 82, 66, 0, 1,203,
/* 0x0500 */ 247, 99, 67,169,249,107, 68,169,253,123,213,168,192, 3, 95,214, /* 0x0500 */ 230,255,255, 23,224, 3, 19, 42,243, 83, 65,169,245, 91, 66,169,
/* 0x0510 */ 253,123,189,169,253, 3, 0,145,243, 83, 1,169,243, 3, 0,170, /* 0x0510 */ 247, 99, 67,169,249,107, 68,169,253,123,213,168,192, 3, 95,214,
/* 0x0520 */ 244, 3, 2,170,245, 91, 2,169, 22, 4, 64,249,245, 3, 1,170, /* 0x0520 */ 253,123,189,169,253, 3, 0,145,243, 83, 1,169,243, 3, 0,170,
/* 0x0530 */ 98, 2, 64,249,225, 3, 19,170,227, 3, 22,170,228, 3, 21,170, /* 0x0530 */ 244, 3, 2,170,245, 91, 2,169, 22, 4, 64,249,245, 3, 1,170,
/* 0x0540 */ 229, 3, 20,170, 7, 0, 0,148,120,114,101, 97,100, 32, 37,112, /* 0x0540 */ 98, 2, 64,249,225, 3, 19,170,227, 3, 22,170,228, 3, 21,170,
/* 0x0550 */ 40, 37,120, 32, 37,112, 41, 32, 37,112, 32, 37,120, 10, 0, 0, /* 0x0550 */ 229, 3, 20,170, 7, 0, 0,148,120,114,101, 97,100, 32, 37,112,
/* 0x0560 */ 224, 3, 30,170, 49,255,255,151, 98, 2, 64,249, 0, 0,128,210, /* 0x0560 */ 40, 37,120, 32, 37,112, 41, 32, 37,112, 32, 37,120, 10, 0, 0,
/* 0x0570 */ 95, 0, 20,235, 34, 2, 0, 84, 99, 6, 64,249,225, 3, 19,170, /* 0x0570 */ 224, 3, 30,170, 49,255,255,151, 98, 2, 64,249, 0, 0,128,210,
/* 0x0580 */ 228, 3, 21,170,229, 3, 20,170, 8, 0, 0,148,120,114,101, 97, /* 0x0580 */ 95, 0, 20,235, 34, 2, 0, 84, 99, 6, 64,249,225, 3, 19,170,
/* 0x0590 */ 100,102, 97,105,108, 32, 37,112, 40, 37,120, 32, 37,112, 41, 32, /* 0x0590 */ 228, 3, 21,170,229, 3, 20,170, 8, 0, 0,148,120,114,101, 97,
/* 0x05a0 */ 37,112, 32, 37,120, 10, 0, 0,224, 3, 30,170, 31,255,255,151, /* 0x05a0 */ 100,102, 97,105,108, 32, 37,112, 40, 37,120, 32, 37,112, 41, 32,
/* 0x05b0 */ 224, 15,128, 82,193,254,255,151, 31, 0, 20,235,160, 0, 0, 84, /* 0x05b0 */ 37,112, 32, 37,120, 10, 0, 0,224, 3, 30,170, 31,255,255,151,
/* 0x05c0 */ 193,106, 96, 56,161,106, 32, 56, 0, 4, 0,145,251,255,255, 23, /* 0x05c0 */ 224, 15,128, 82,190,254,255,151, 31, 0, 20,235,160, 0, 0, 84,
/* 0x05d0 */ 97, 6, 64,249,245, 91, 66,169, 33, 0, 0,139, 97, 6, 0,249, /* 0x05d0 */ 193,106, 96, 56,161,106, 32, 56, 0, 4, 0,145,251,255,255, 23,
/* 0x05e0 */ 97, 2, 64,249, 32, 0, 0,203, 96, 2, 0,249,243, 83, 65,169, /* 0x05e0 */ 97, 6, 64,249,245, 91, 66,169, 33, 0, 0,139, 97, 6, 0,249,
/* 0x05f0 */ 253,123,195,168,192, 3, 95,214,253,123,190,169,253, 3, 0,145, /* 0x05f0 */ 97, 2, 64,249, 32, 0, 0,203, 96, 2, 0,249,243, 83, 65,169,
/* 0x0600 */ 243, 11, 0,249,243, 3, 0, 42,225, 3, 19, 42, 5, 0, 0,148, /* 0x0600 */ 253,123,195,168,192, 3, 95,214,253,123,190,169,253, 3, 0,145,
/* 0x0610 */ 101,114,114, 95,101,120,105,116, 32, 37,120, 10, 0, 0, 0, 0, /* 0x0610 */ 243, 11, 0,249,243, 3, 0, 42,225, 3, 19, 42, 5, 0, 0,148,
/* 0x0620 */ 224, 3, 30,170, 1,255,255,151,224, 3, 19, 42,163,254,255,151, /* 0x0620 */ 101,114,114, 95,101,120,105,116, 32, 37,120, 10, 0, 0, 0, 0,
/* 0x0630 */ 255,131, 1,209,253,123, 1,169,253, 67, 0,145,243, 83, 2,169, /* 0x0630 */ 224, 3, 30,170, 1,255,255,151,224, 3, 19, 42,160,254,255,151,
/* 0x0640 */ 244, 3, 0,170,243, 3, 1,170,245, 91, 3,169,227, 3, 0,249, /* 0x0640 */ 255,131, 1,209,253,123, 1,169,253, 67, 0,145,243, 83, 2,169,
/* 0x0650 */ 246, 3, 2,170,245, 3, 3,170,130, 2, 64,249,131, 6, 64,249, /* 0x0650 */ 244, 3, 0,170,243, 3, 1,170,245, 91, 3,169,227, 3, 0,249,
/* 0x0660 */ 225, 3, 20,170,101, 2, 64,249,228, 3, 19,170,102, 6, 64,249, /* 0x0660 */ 246, 3, 2,170,245, 3, 3,170,130, 2, 64,249,131, 6, 64,249,
/* 0x0670 */ 231, 3, 22,170, 14, 0, 0,148,117,110,112, 97, 99,107, 69,120, /* 0x0670 */ 225, 3, 20,170,101, 2, 64,249,228, 3, 19,170,102, 6, 64,249,
/* 0x0680 */ 116,101,110,116, 32,105,110, 61, 37,112, 40, 37,120, 32, 37,112, /* 0x0680 */ 231, 3, 22,170, 14, 0, 0,148,117,110,112, 97, 99,107, 69,120,
/* 0x0690 */ 41, 32, 32,111,117,116, 61, 37,112, 40, 37,120, 32, 37,112, 41, /* 0x0690 */ 116,101,110,116, 32,105,110, 61, 37,112, 40, 37,120, 32, 37,112,
/* 0x06a0 */ 32, 32, 37,112, 32, 37,112, 10, 0, 0, 0, 0,224, 3, 30,170, /* 0x06a0 */ 41, 32, 32,111,117,116, 61, 37,112, 40, 37,120, 32, 37,112, 41,
/* 0x06b0 */ 222,254,255,151, 96, 2, 64,249,160, 10, 0,180,130, 1,128,210, /* 0x06b0 */ 32, 32, 37,112, 32, 37,112, 10, 0, 0, 0, 0,224, 3, 30,170,
/* 0x06c0 */ 224, 3, 20,170,161, 3, 1,145,146,255,255,151,162, 67, 64,185, /* 0x06c0 */ 222,254,255,151, 96, 2, 64,249,160, 10, 0,180,130, 1,128,210,
/* 0x06d0 */ 164, 71, 64,185, 98, 1, 0, 53,160, 10,138, 82, 0, 43,164,114, /* 0x06d0 */ 224, 3, 20,170,161, 3, 1,145,146,255,255,151,162, 67, 64,185,
/* 0x06e0 */ 159, 0, 0,107, 96, 0, 0, 84, 64, 0,128, 82, 4, 0, 0, 20, /* 0x06e0 */ 164, 71, 64,185, 98, 1, 0, 53,160, 10,138, 82, 0, 43,164,114,
/* 0x06f0 */ 128, 2, 64,249,192, 8, 0,180, 96, 0,128, 82,191,255,255,151, /* 0x06f0 */ 159, 0, 0,107, 96, 0, 0, 84, 64, 0,128, 82, 4, 0, 0, 20,
/* 0x0700 */ 100, 0, 0, 53,128, 0,128, 82,253,255,255, 23,159, 0, 2,107, /* 0x0700 */ 128, 2, 64,249,192, 8, 0,180, 96, 0,128, 82,191,255,255,151,
/* 0x0710 */ 41, 2, 0, 84, 99, 2, 64,249,225, 3, 4, 42, 10, 0, 0,148, /* 0x0710 */ 100, 0, 0, 53,128, 0,128, 82,253,255,255, 23,159, 0, 2,107,
/* 0x0720 */ 115,122, 95, 99,112,114, 61, 37,120, 32, 32,115,122, 95,117,110, /* 0x0720 */ 41, 2, 0, 84, 99, 2, 64,249,225, 3, 4, 42, 10, 0, 0,148,
/* 0x0730 */ 99, 61, 37,120, 32, 32,120,111, 45, 62,115,105,122,101, 61, 37, /* 0x0730 */ 115,122, 95, 99,112,114, 61, 37,120, 32, 32,115,122, 95,117,110,
/* 0x0740 */ 120, 10, 0, 0,224, 3, 30,170,184,254,255,151,160, 0,128, 82, /* 0x0740 */ 99, 61, 37,120, 32, 32,120,111, 45, 62,115,105,122,101, 61, 37,
/* 0x0750 */ 235,255,255, 23, 97, 2, 64,249,224, 3, 2, 42, 31, 0, 1,235, /* 0x0750 */ 120, 10, 0, 0,224, 3, 30,170,184,254,255,151,160, 0,128, 82,
/* 0x0760 */ 168,253,255, 84,159, 0, 2,107,162, 3, 0, 84,160, 31, 0,249, /* 0x0760 */ 235,255,255, 23, 97, 2, 64,249,224, 3, 2, 42, 31, 0, 1,235,
/* 0x0770 */ 225, 3, 4, 42,128, 6, 64,249,163,227, 0,145, 98, 6, 64,249, /* 0x0770 */ 168,253,255, 84,159, 0, 2,107,162, 3, 0, 84,160, 31, 0,249,
/* 0x0780 */ 164, 35, 65, 57,192, 2, 63,214,160, 0, 0, 53,161, 31, 64,249, /* 0x0780 */ 225, 3, 4, 42,128, 6, 64,249,163,227, 0,145, 98, 6, 64,249,
/* 0x0790 */ 160, 67, 64,185, 63, 0, 0,235, 96, 0, 0, 84,224, 0,128, 82, /* 0x0790 */ 164, 35, 65, 57,192, 2, 63,214,160, 0, 0, 53,161, 31, 64,249,
/* 0x07a0 */ 215,255,255, 23,163, 39, 65, 57,181, 0, 0,180,131, 0, 0, 52, /* 0x07a0 */ 160, 67, 64,185, 63, 0, 0,235, 96, 0, 0, 84,224, 0,128, 82,
/* 0x07b0 */ 96, 6, 64,249,162, 43, 65, 57,160, 2, 63,214,162, 71, 64,185, /* 0x07b0 */ 215,255,255, 23,163, 39, 65, 57,181, 0, 0,180,131, 0, 0, 52,
/* 0x07c0 */ 129, 6, 64,249,128, 2, 64,249, 33, 0, 2,139,129, 6, 0,249, /* 0x07c0 */ 96, 6, 64,249,162, 43, 65, 57,160, 2, 63,214,162, 71, 64,185,
/* 0x07d0 */ 0, 0, 2,203,128, 2, 0,249, 5, 0, 0, 20, 97, 6, 64,249, /* 0x07d0 */ 129, 6, 64,249,128, 2, 64,249, 33, 0, 2,139,129, 6, 0,249,
/* 0x07e0 */ 224, 3, 20,170,226, 3, 4, 42, 74,255,255,151,162, 67, 64,185, /* 0x07e0 */ 0, 0, 2,203,128, 2, 0,249, 5, 0, 0, 20, 97, 6, 64,249,
/* 0x07f0 */ 97, 6, 64,249, 96, 2, 64,249, 33, 0, 2,139, 97, 6, 0,249, /* 0x07f0 */ 224, 3, 20,170,226, 3, 4, 42, 74,255,255,151,162, 67, 64,185,
/* 0x0800 */ 0, 0, 2,203, 96, 2, 0,249,171,255,255, 23,191, 67, 0,209, /* 0x0800 */ 97, 6, 64,249, 96, 2, 64,249, 33, 0, 2,139, 97, 6, 0,249,
/* 0x0810 */ 243, 83, 66,169,245, 91, 67,169,253,123, 65,169,255,131, 1,145, /* 0x0810 */ 0, 0, 2,203, 96, 2, 0,249,171,255,255, 23,191, 67, 0,209,
/* 0x0820 */ 192, 3, 95,214,253,123,180,169,253, 3, 0,145,234, 47, 7,109, /* 0x0820 */ 243, 83, 66,169,245, 91, 67,169,253,123, 65,169,255,131, 1,145,
/* 0x0830 */ 243, 83, 1,169,232, 39, 6,109,245, 91, 2,169,247, 99, 3,169, /* 0x0830 */ 192, 3, 95,214,253,123,179,169,253, 3, 0,145,234, 47, 7,109,
/* 0x0840 */ 251,115, 5,169,249,107, 4,169,236, 67, 0,253,251, 3, 0,170, /* 0x0840 */ 243, 83, 1,169,236, 55, 8,109,247, 99, 3,169,232, 39, 6,109,
/* 0x0850 */ 105, 0, 39, 30, 19,128, 0,145, 43, 0, 39, 30,246, 3, 2,170, /* 0x0850 */ 249,107, 4,169,238, 63, 9,109,251,115, 5,169,245, 91, 2,169,
/* 0x0860 */ 248, 3, 4,170,227, 3, 4,170,172, 0,103,158,202, 0,103,158, /* 0x0860 */ 251, 3, 0,170, 19,128, 0,145,106, 0, 39, 30,247, 3, 2,170,
/* 0x0870 */ 17, 0, 0,148,100,111, 95,120,109, 97,112, 32, 32,102,100,105, /* 0x0870 */ 44, 0, 39, 30,249, 3, 4,170,173, 0,103,158,227, 3, 4,170,
/* 0x0880 */ 61, 37,120, 32, 32,109,104,100,114, 61, 37,112, 32, 32, 42,109, /* 0x0880 */ 203, 0,103,158, 17, 0, 0,148,100,111, 95,120,109, 97,112, 32,
/* 0x0890 */ 104,100,114,112,112, 61, 37,112, 32, 32,120,105, 61, 37,112, 40, /* 0x0890 */ 32,102,100,105, 61, 37,120, 32, 32,109,104,100,114, 61, 37,112,
/* 0x08a0 */ 37,120, 32, 37,112, 41, 32,102, 95,117,110,102, 61, 37,112, 10, /* 0x08a0 */ 32, 32, 42,109,104,100,114,112,112, 61, 37,112, 32, 32,120,105,
/* 0x08b0 */ 0, 0, 0, 0,224, 3, 30,170, 68, 0, 0,180,131, 0, 64,249, /* 0x08b0 */ 61, 37,112, 40, 37,120, 32, 37,112, 41, 32,102, 95,117,110,102,
/* 0x08c0 */ 150, 0, 0,180,197, 2, 64,249,198, 6, 64,249, 3, 0, 0, 20, /* 0x08c0 */ 61, 37,112, 10, 0, 0, 0, 0,224, 3, 30,170, 68, 0, 0,180,
/* 0x08d0 */ 229, 3, 22,170,230, 3, 22,170, 33, 1, 38, 30, 23, 0,128,210, /* 0x08d0 */ 131, 0, 64,249,151, 0, 0,180,229, 2, 64,249,230, 6, 64,249,
/* 0x08e0 */ 71, 1,102,158,226, 3, 27,170,228, 3, 22,170, 28, 0,128, 82, /* 0x08e0 */ 3, 0, 0, 20,229, 3, 23,170,230, 3, 23,170, 65, 1, 38, 30,
/* 0x08f0 */ 249, 3, 23,170, 77,254,255,151, 96, 19, 64,185,159, 3, 0,107, /* 0x08f0 */ 226, 3, 27,170,103, 1,102,158,228, 3, 23,170, 24, 0,128,210,
/* 0x0900 */ 66, 29, 0, 84, 96, 2, 64,185, 31,100, 0,113,161, 26, 0, 84, /* 0x0900 */ 28, 0,128, 82,250, 3, 24,170, 76,254,255,151, 6, 0, 0,148,
/* 0x0910 */ 97, 18, 64,249, 97, 26, 0,180, 96, 22, 64,249, 0, 2, 0,181, /* 0x0910 */ 116,104,114,101, 97,100, 95, 99,111,109,109, 97,110,100, 61, 32,
/* 0x0920 */ 96, 26, 64,249,192, 1, 0,180, 0, 3, 64,249,128, 1, 0,180, /* 0x0920 */ 37,112, 10, 0,224, 3, 30,170, 14, 0,103,158, 6, 0, 0,148,
/* 0x0930 */ 1, 24, 64,185, 65, 1,168, 54,119, 14, 64,249, 23, 0, 23,203, /* 0x0930 */ 116,104,114,101, 97,100, 95,115,116, 97,116,101, 61, 32, 37,112,
/* 0x0940 */ 225, 3, 23,170, 4, 0, 0,148,114,101,108,111, 99, 61, 37,112, /* 0x0940 */ 10, 0, 0, 0,224, 3, 30,170, 15, 0,103,158, 96, 19, 64,185,
/* 0x0950 */ 10, 0, 0, 0,224, 3, 30,170, 52,254,255,151,116, 14, 64,249, /* 0x0950 */ 159, 3, 0,107, 66, 29, 0, 84, 96, 2, 64,185, 31,100, 0,113,
/* 0x0960 */ 98, 26, 64,249,244, 2, 20,139,122, 18, 64,249,137, 46, 64,146, /* 0x0960 */ 97, 26, 0, 84, 97, 18, 64,249, 33, 26, 0,180, 96, 22, 64,249,
/* 0x0970 */ 180, 95, 0,249,128, 2, 26,139,162, 91, 0,249, 58, 1, 2,171, /* 0x0970 */ 0, 2, 0,181, 96, 26, 64,249,192, 1, 0,180, 32, 3, 64,249,
/* 0x0980 */ 148, 2, 9,203, 8, 0,103,158,192, 10, 0, 84, 0, 3, 64,249, /* 0x0980 */ 128, 1, 0,180, 1, 24, 64,185, 65, 1,168, 54,120, 14, 64,249,
/* 0x0990 */ 223, 2, 31,235,104, 0,128,210, 85, 0,128, 82, 8, 17,159,154, /* 0x0990 */ 24, 0, 24,203,225, 3, 24,170, 4, 0, 0,148,114,101,108,111,
/* 0x09a0 */ 31, 0, 31,235, 64, 2,128, 82, 8, 1, 26,139, 21, 16,149, 26, /* 0x09a0 */ 99, 61, 37,112, 10, 0, 0, 0,224, 3, 30,170, 35,254,255,151,
/* 0x09b0 */ 223, 2, 31,235,234, 7,159, 26,106, 0, 0, 53,224, 3, 10, 42, /* 0x09b0 */ 118, 14, 64,249, 98, 26, 64,249, 22, 3, 22,139, 96, 18, 64,249,
/* 0x09c0 */ 66, 0, 0,181, 0, 4,128, 82, 21, 0, 21, 42, 95, 0, 31,235, /* 0x09c0 */ 212, 46, 64,146,182,103, 0,249,192, 2, 0,139,162, 99, 0,249,
/* 0x09d0 */ 32, 1, 38, 30,107, 22, 64,249,226, 3, 8,170,225, 3, 20,170, /* 0x09d0 */ 214, 2, 20,203,148, 2, 2,171, 8, 0,103,158, 64, 10, 0, 84,
/* 0x09e0 */ 99, 0,128, 82,228, 3, 21, 42,231, 3, 23,170,170, 75, 0,249, /* 0x09e0 */ 32, 3, 64,249,255, 2, 31,235,104, 0,128,210, 85, 0,128, 82,
/* 0x09f0 */ 12, 16,159, 90,168, 79, 0,249, 96, 1, 38, 30,229, 3, 12, 42, /* 0x09f0 */ 8, 17,159,154, 31, 0, 31,235, 64, 2,128, 82, 8, 1, 20,139,
/* 0x0a00 */ 172, 83, 0,249, 11, 0, 11, 11,171, 87, 0,249,230, 3, 11, 42, /* 0x0a00 */ 0, 16,149, 26,255, 2, 31,235,245, 7,159, 26, 85, 0, 0, 53,
/* 0x0a10 */ 18, 0, 0,148,109,109, 97,112, 32, 32, 97,100,100,114, 61, 37, /* 0x0a10 */ 66, 0, 0,181, 21, 4,128, 82,181, 2, 0, 42, 95, 0, 31,235,
/* 0x0a20 */ 112, 32, 32,108,101,110, 61, 37,112, 32, 32,112,114,111,116, 61, /* 0x0a20 */ 64, 1, 38, 30,105, 22, 64,249,226, 3, 8,170,228, 3, 21, 42,
/* 0x0a30 */ 37,120, 32, 32,102,108, 97,103,115, 61, 37,120, 32, 32,102,100, /* 0x0a30 */ 225, 3, 22,170, 99, 0,128, 82,231, 3, 24,170,168, 87, 0,249,
/* 0x0a40 */ 61, 37,100, 32, 32,111,102,102, 61, 37,112, 32, 32,114,101,108, /* 0x0a40 */ 10, 16,159, 90,170, 91, 0,249,128, 1, 38, 30,229, 3, 10, 42,
/* 0x0a50 */ 111, 99, 61, 37,112, 10, 0, 0,224, 3, 30,170,243,253,255,151, /* 0x0a50 */ 9, 0, 9, 11,169, 95, 0,249,230, 3, 9, 42, 18, 0, 0,148,
/* 0x0a60 */ 168, 79, 64,249,224, 3, 20,170,172, 83, 64,249, 98, 0,128, 82, /* 0x0a60 */ 109,109, 97,112, 32, 32, 97,100,100,114, 61, 37,112, 32, 32,108,
/* 0x0a70 */ 171, 87, 64,249,225, 3, 8,170,227, 3, 21, 42,228, 3, 12, 42, /* 0x0a70 */ 101,110, 61, 37,112, 32, 32,112,114,111,116, 61, 37,120, 32, 32,
/* 0x0a80 */ 229, 3, 11, 42,165,253,255,151,225, 3, 0,170, 0, 3, 64,249, /* 0x0a80 */ 102,108, 97,103,115, 61, 37,120, 32, 32,102,100, 61, 37,100, 32,
/* 0x0a90 */ 170, 75, 64,249,192, 0, 0,181, 1, 3, 0,249,247, 3, 1,170, /* 0x0a90 */ 32,111,102,102, 61, 37,112, 32, 32,114,101,108,111, 99, 61, 37,
/* 0x0aa0 */ 244, 3, 1,170, 42, 2, 0, 53, 26, 0, 0, 20,159, 2, 1,235, /* 0x0aa0 */ 112, 10, 0, 0,224, 3, 30,170,228,253,255,151,168, 87, 64,249,
/* 0x0ab0 */ 128, 15, 0, 84,226, 3, 20,170, 6, 0, 0,148,109, 97,100,100, /* 0x0ab0 */ 227, 3, 21, 42,170, 91, 64,249,224, 3, 22,170,169, 95, 64,249,
/* 0x0ac0 */ 114, 61, 37,112, 32, 32, 97,100,100,114, 61, 37,112, 10, 0, 0, /* 0x0ac0 */ 225, 3, 8,170, 98, 0,128, 82,228, 3, 10, 42,229, 3, 9, 42,
/* 0x0ad0 */ 224, 3, 30,170,213,253,255,151, 0, 1,128, 82, 70, 0, 0, 20, /* 0x0ad0 */ 150,253,255,151,245, 3, 0,170, 32, 3, 64,249,128, 0, 0,181,
/* 0x0ae0 */ 229, 3, 22, 42, 86, 6, 0,180, 96, 26, 64,249, 32, 1, 0,180, /* 0x0ae0 */ 53, 3, 0,249,248, 3, 21,170, 16, 0, 0, 20,223, 2, 21,235,
/* 0x0af0 */ 96, 22, 64,249, 64, 0, 0,181, 20, 3, 0,249,130, 1,102,158, /* 0x0af0 */ 192, 1, 0, 84,225, 3, 21,170,226, 3, 22,170, 6, 0, 0,148,
/* 0x0b00 */ 224, 3, 22,170, 67, 1,102,158,161,195, 2,145,201,254,255,151, /* 0x0b00 */ 109, 97,100,100,114, 61, 37,112, 32, 32, 97,100,100,114, 61, 37,
/* 0x0b10 */ 95, 3, 31,235,229, 7,159, 26,165, 4, 0, 52, 0, 3, 64,249, /* 0x0b10 */ 112, 10, 0, 0,224, 3, 30,170,200,253,255,151, 0, 1,128, 82,
/* 0x0b20 */ 96, 4, 0,180, 96, 22, 64,249, 37, 0,128, 82, 0, 4, 0,181, /* 0x0b20 */ 71, 0, 0, 20,245, 3, 22,170,119, 1, 0,180, 96, 26, 64,249,
/* 0x0b30 */ 96, 66, 64,185,192, 3, 0, 52, 99, 2, 27,203,225, 3, 5, 42, /* 0x0b30 */ 32, 1, 0,180, 96, 22, 64,249, 64, 0, 0,181, 53, 3, 0,249,
/* 0x0b40 */ 131, 2, 3,139, 1,128,186,114, 98, 32, 1,145,228, 3, 20,170, /* 0x0b40 */ 162, 1,102,158,224, 3, 23,170, 99, 1,102,158,161, 3, 3,145,
/* 0x0b50 */ 165, 87, 0,249, 64, 48, 64,185, 0, 32, 0,209,153, 2, 0,139, /* 0x0b50 */ 188,254,255,151,255, 2, 31,235,224, 7,159, 26,159, 2, 31,235,
/* 0x0b60 */ 129,106, 32,184, 0,120,128, 82,224,203,186,114,225, 3, 25,170, /* 0x0b60 */ 229, 7,159, 26, 9, 0, 39, 30,101, 4, 0, 52, 64, 4, 0, 52,
/* 0x0b70 */ 32, 7, 0,185, 11, 0, 0,148,104, 97,116, 99,104, 61, 37,112, /* 0x0b70 */ 96, 22, 64,249, 0, 4, 0,181, 96, 66, 64,185,192, 3, 0, 52,
/* 0x0b80 */ 32, 32,115,101, 99,112, 61, 37,112, 32, 32,115,101,103,112, 61, /* 0x0b80 */ 99, 2, 27,203, 33, 0,128, 82,163, 2, 3,139, 1,128,186,114,
/* 0x0b90 */ 37,112, 32, 32,109,104,100,114, 61, 37,112, 10, 0, 0, 0, 0, /* 0x0b90 */ 98, 32, 1,145,228, 3, 21,170,165, 95, 0,249, 64, 48, 64,185,
/* 0x0ba0 */ 224, 3, 30,170,161,253,255,151,165, 87, 64,249,245, 3, 26,203, /* 0x0ba0 */ 0, 32, 0,209,186, 2, 0,139,161,106, 32,184, 0,120,128, 82,
/* 0x0bb0 */ 181, 46, 64,242, 97, 0, 0, 84, 5, 2, 0, 52, 8, 0, 0, 20, /* 0x0bb0 */ 224,203,186,114,225, 3, 26,170, 64, 7, 0,185, 11, 0, 0,148,
/* 0x0bc0 */ 129, 2, 26,139, 0, 0,128,210, 63,104, 32, 56, 0, 4, 0,145, /* 0x0bc0 */ 104, 97,116, 99,104, 61, 37,112, 32, 32,115,101, 99,112, 61, 37,
/* 0x0bd0 */ 31, 0, 21,235,161,255,255, 84,248,255,255, 23, 98, 62, 64,185, /* 0x0bd0 */ 112, 32, 32,115,101,103,112, 61, 37,112, 32, 32,109,104,100,114,
/* 0x0be0 */ 224, 3, 20,170,225, 3, 26,170, 73,253,255,151, 96, 0, 0, 52, /* 0x0be0 */ 61, 37,112, 10, 0, 0, 0, 0,224, 3, 30,170,147,253,255,151,
/* 0x0bf0 */ 64, 1,128, 82,129,254,255,151, 0, 1,102,158,181, 2, 26,139, /* 0x0bf0 */ 165, 95, 64,249,246, 3, 20,203,214, 46, 64,242, 97, 0, 0, 84,
/* 0x0c00 */ 148, 2, 21,139,159, 2, 0,235,194, 1, 0, 84, 52, 4, 0,180, /* 0x0c00 */ 5, 2, 0, 52, 8, 0, 0, 20,161, 2, 20,139, 0, 0,128,210,
/* 0x0c10 */ 1, 1,102,158, 98, 62, 64,185,224, 3, 20,170, 67, 6,128, 82, /* 0x0c10 */ 63,104, 32, 56, 0, 4, 0,145, 31, 0, 22,235,161,255,255, 84,
/* 0x0c20 */ 4, 0,128, 18, 5, 0,128, 82, 33, 0, 20,203, 59,253,255,151, /* 0x0c20 */ 248,255,255, 23, 98, 62, 64,185,224, 3, 21,170,225, 3, 20,170,
/* 0x0c30 */ 159, 2, 0,235,224, 2, 0, 84, 32, 1,128, 82,238,255,255, 23, /* 0x0c30 */ 59,253,255,151, 96, 0, 0, 52, 64, 1,128, 82,115,254,255,151,
/* 0x0c40 */ 150, 2, 0,180, 65, 15, 0,145, 33, 44, 64,146, 63, 12, 0,241, /* 0x0c40 */ 0, 1,102,158,214, 2, 20,139,181, 2, 22,139,191, 2, 0,235,
/* 0x0c50 */ 8, 2, 0, 84,224, 3, 20,170, 42,253,255,151, 13, 0, 0, 20, /* 0x0c50 */ 194, 1, 0, 84,213, 4, 0,180, 1, 1,102,158, 98, 62, 64,185,
/* 0x0c60 */ 0, 16, 0, 81, 31, 4, 0,113, 72, 1, 0, 84, 97, 6, 64,249, /* 0x0c60 */ 224, 3, 21,170, 67, 6,128, 82, 4, 0,128, 18, 5, 0,128, 82,
/* 0x0c70 */ 128, 0,128,210,128, 8,192,242, 63, 0, 0,235,161, 0, 0, 84, /* 0x0c70 */ 33, 0, 21,203, 45,253,255,151,191, 2, 0,235,128, 3, 0, 84,
/* 0x0c80 */ 96,138, 64,249,121, 66, 0,145, 0, 0, 23,139, 96,138, 0,249, /* 0x0c80 */ 32, 1,128, 82,238,255,255, 23, 32, 1, 38, 30, 0, 3, 0, 52,
/* 0x0c90 */ 96, 6, 64,185,156, 7, 0, 17,115, 2, 0,139, 23,255,255, 23, /* 0x0c90 */ 129, 14, 0,145, 33, 44, 64,146, 63, 12, 0,241,136, 2, 0, 84,
/* 0x0ca0 */ 74,242,255, 53,160,255,255, 23,224, 3, 25,170,232, 39, 70,109, /* 0x0ca0 */ 224, 3, 21,170, 27,253,255,151, 17, 0, 0, 20, 0, 16, 0, 81,
/* 0x0cb0 */ 243, 83, 65,169,234, 47, 71,109,245, 91, 66,169,247, 99, 67,169, /* 0x0cb0 */ 31, 4, 0,113,200, 1, 0, 84,192, 1,102,158,225, 3, 19,170,
/* 0x0cc0 */ 249,107, 68,169,251,115, 69,169,236, 67, 64,253,253,123,204,168, /* 0x0cc0 */ 94,253,255,151, 96, 10, 64,185, 31, 16, 0,113, 1, 1, 0, 84,
/* 0x0cd0 */ 192, 3, 95,214,255, 3, 3,209,253,123, 2,169,253,131, 0,145, /* 0x0cd0 */ 224, 1,102,158,122, 66, 0,145,225, 3, 26,170, 87,253,255,151,
/* 0x0ce0 */ 243, 83, 3,169,161, 47, 0,249,243, 3, 2,170, 2, 96, 0,145, /* 0x0ce0 */ 96,138, 64,249, 0, 0, 24,139, 96,138, 0,249, 96, 6, 64,185,
/* 0x0cf0 */ 162, 63, 0,249,167, 47, 64,249,244, 3, 4,170,245, 91, 4,169, /* 0x0cf0 */ 156, 7, 0, 17,115, 2, 0,139, 21,255,255, 23,224, 3, 26,170,
/* 0x0d00 */ 231, 96, 0,209,167, 59, 0,249,246, 3, 5,170, 5, 24, 64,185, /* 0x0d00 */ 232, 39, 70,109,243, 83, 65,169,234, 47, 71,109,245, 91, 66,169,
/* 0x0d10 */ 231, 3, 0,249,245, 3, 6,170,230, 11, 0,249,167,195, 1,145, /* 0x0d10 */ 236, 55, 72,109,247, 99, 67,169,238, 63, 73,109,249,107, 68,169,
/* 0x0d20 */ 226, 7, 0,249,160, 7, 71,169,194, 0, 64,249,230, 3, 19,170, /* 0x0d20 */ 251,115, 69,169,253,123,205,168,192, 3, 95,214,255, 3, 3,209,
/* 0x0d30 */ 160, 7, 9,169,161, 47, 64,249,247, 99, 5,169,226, 15, 0,249, /* 0x0d30 */ 253,123, 2,169,253,131, 0,145,243, 83, 3,169,161, 47, 0,249,
/* 0x0d40 */ 247, 3, 3,170,226, 3, 4,170,227, 3, 22,170,164, 3, 2,145, /* 0x0d40 */ 243, 3, 2,170, 2, 96, 0,145,162, 63, 0,249,167, 47, 64,249,
/* 0x0d50 */ 165, 67, 0,249,249, 51, 0,249,179, 71, 0,249, 23, 0, 0,148, /* 0x0d50 */ 244, 3, 4,170,245, 91, 4,169,231, 96, 0,209,167, 59, 0,249,
/* 0x0d60 */ 117,112,120, 95,109, 97,105,110, 32,115,122, 99, 61, 37,120, 32, /* 0x0d60 */ 246, 3, 5,170, 5, 24, 64,185,231, 3, 0,249,245, 3, 6,170,
/* 0x0d70 */ 32,102, 95,100,101, 99, 61, 37,112, 32, 32,102, 95,117,110,102, /* 0x0d70 */ 230, 11, 0,249,167,195, 1,145,226, 7, 0,249,160, 7, 71,169,
/* 0x0d80 */ 61, 37,112, 32, 32, 32, 32,120,111, 61, 37,112, 40, 37,120, 32, /* 0x0d80 */ 194, 0, 64,249,230, 3, 19,170,160, 7, 9,169,161, 47, 64,249,
/* 0x0d90 */ 37,112, 41, 32, 32,120,105, 61, 37,112, 40, 37,120, 32, 37,112, /* 0x0d90 */ 247, 99, 5,169,226, 15, 0,249,247, 3, 3,170,226, 3, 4,170,
/* 0x0da0 */ 41, 32, 32,109,104,100,114,112,112, 61, 37,112, 32, 32,109,104, /* 0x0da0 */ 227, 3, 22,170,164, 3, 2,145,165, 67, 0,249,249, 51, 0,249,
/* 0x0db0 */ 100,114,112, 61, 37,112, 10, 0,224, 3, 30,170, 27,253,255,151, /* 0x0db0 */ 179, 71, 0,249, 23, 0, 0,148,117,112,120, 95,109, 97,105,110,
/* 0x0dc0 */ 160,195, 1,145,161, 3, 2,145,226, 3, 20,170, 3, 0,128,210, /* 0x0dc0 */ 32,115,122, 99, 61, 37,120, 32, 32,102, 95,100,101, 99, 61, 37,
/* 0x0dd0 */ 24,254,255,151, 1, 0,128, 82,228, 3, 21,170,224, 3, 19,170, /* 0x0dd0 */ 112, 32, 32,102, 95,117,110,102, 61, 37,112, 32, 32, 32, 32,120,
/* 0x0de0 */ 162, 67, 2,145, 3, 0,128, 18,229, 3, 20,170,230, 3, 22,170, /* 0x0de0 */ 111, 61, 37,112, 40, 37,120, 32, 37,112, 41, 32, 32,120,105, 61,
/* 0x0df0 */ 141,254,255,151,248, 3, 0,170, 96, 18, 64,185, 97,130, 0,145, /* 0x0df0 */ 37,112, 40, 37,120, 32, 37,112, 41, 32, 32,109,104,100,114,112,
/* 0x0e00 */ 4, 0,128, 82,159, 0, 0,107,224, 9, 0, 84, 34, 0, 64,185, /* 0x0e00 */ 112, 61, 37,112, 32, 32,109,104,100,114,112, 61, 37,112, 10, 0,
/* 0x0e10 */ 95, 56, 0,113, 1, 9, 0, 84, 52, 8, 64,185, 22, 0,128, 82, /* 0x0e10 */ 224, 3, 30,170, 9,253,255,151,160,195, 1,145,161, 3, 2,145,
/* 0x0e20 */ 4, 0, 0,148,100,121,108,100, 61, 32, 37,115, 10, 0, 0, 0, /* 0x0e20 */ 226, 3, 20,170, 3, 0,128,210, 6,254,255,151, 1, 0,128, 82,
/* 0x0e30 */ 224, 3, 30,170, 52, 0, 20,139,153, 2,128, 82,225, 3, 20,170, /* 0x0e30 */ 228, 3, 21,170,224, 3, 19,170,162, 67, 2,145, 3, 0,128, 18,
/* 0x0e40 */ 250,252,255,151, 1, 0,128, 82,224, 3, 20,170,226, 3, 1, 42, /* 0x0e40 */ 229, 3, 20,170,230, 3, 22,170,123,254,255,151,248, 3, 0,170,
/* 0x0e50 */ 162,252,255,151,244, 3, 0, 42, 20, 3,248, 54, 64, 2,128, 82, /* 0x0e50 */ 96, 18, 64,185, 97,130, 0,145, 4, 0,128, 82,159, 0, 0,107,
/* 0x0e60 */ 30, 0, 0, 20, 98, 2, 64,185, 64,217,159, 82, 64,215,183,114, /* 0x0e60 */ 224, 10, 0, 84, 34, 0, 64,185, 95, 56, 0,113, 1, 10, 0, 84,
/* 0x0e70 */ 95, 0, 0,107, 65, 3, 0, 84, 97, 30, 64, 57,224, 3, 19,170, /* 0x0e70 */ 52, 8, 64,185, 22, 0,128, 82, 4, 0, 0,148,100,121,108,100,
/* 0x0e80 */ 117, 34, 0,145, 33,124, 25, 27, 33, 32, 0, 17,169,252,255,151, /* 0x0e80 */ 61, 32, 37,115, 10, 0, 0, 0,224, 3, 30,170, 52, 0, 20,139,
/* 0x0e90 */ 96, 6, 64,185, 1, 0,128, 82, 63, 0, 0,107, 0, 3, 0, 84, /* 0x0e90 */ 153, 2,128, 82,225, 3, 20,170,232,252,255,151, 1, 0,128, 82,
/* 0x0ea0 */ 163, 2, 64,185,226, 0,128, 82, 2, 32,160,114,127, 0, 2,107, /* 0x0ea0 */ 224, 3, 20,170,226, 3, 1, 42,141,252,255,151,244, 3, 0, 42,
/* 0x0eb0 */ 1, 2, 0, 84,182, 10, 64,185,224, 3, 20, 42,225, 3, 19,170, /* 0x0eb0 */ 20, 3,248, 54, 64, 2,128, 82, 30, 0, 0, 20, 98, 2, 64,185,
/* 0x0ec0 */ 226, 3, 23,170,227, 3, 22, 42,151,252,255,151,255, 2, 0,235, /* 0x0ec0 */ 64,217,159, 82, 64,215,183,114, 95, 0, 0,107, 65, 3, 0, 84,
/* 0x0ed0 */ 160,252,255, 84, 96, 2,128, 82,200,253,255,151,193, 87,151, 82, /* 0x0ed0 */ 97, 30, 64, 57,224, 3, 19,170,117, 34, 0,145, 33,124, 25, 27,
/* 0x0ee0 */ 193, 95,185,114, 95, 0, 1,107,128,252,255, 84, 4, 0, 0, 20, /* 0x0ee0 */ 33, 32, 0, 17,151,252,255,151, 96, 6, 64,185, 1, 0,128, 82,
/* 0x0ef0 */ 33, 4, 0, 17,181, 82, 0,145,232,255,255, 23,164,131, 2,145, /* 0x0ef0 */ 63, 0, 0,107, 0, 3, 0, 84,163, 2, 64,185,226, 0,128, 82,
/* 0x0f00 */ 2, 0,128,210,224, 3, 19,170,225, 3, 22, 42,227, 3, 20, 42, /* 0x0f00 */ 2, 32,160,114,127, 0, 2,107, 1, 2, 0, 84,182, 10, 64,185,
/* 0x0f10 */ 229, 3, 2,170,159,140, 28,248,230, 3, 2,170, 66,254,255,151, /* 0x0f10 */ 224, 3, 20, 42,225, 3, 19,170,226, 3, 23,170,227, 3, 22, 42,
/* 0x0f20 */ 243, 3, 0,170, 24, 0, 0,249,224, 3, 20, 42,111,252,255,151, /* 0x0f20 */ 133,252,255,151,255, 2, 0,235,160,252,255, 84, 96, 2,128, 82,
/* 0x0f30 */ 6, 0, 0, 20, 34, 4, 64,185,132, 4, 0, 17, 33, 0, 2,139, /* 0x0f30 */ 182,253,255,151,193, 87,151, 82,193, 95,185,114, 95, 0, 1,107,
/* 0x0f40 */ 177,255,255, 23, 19, 0,128,210,191,131, 0,209,224, 3, 19,170, /* 0x0f40 */ 128,252,255, 84, 4, 0, 0, 20, 33, 4, 0, 17,181, 82, 0,145,
/* 0x0f50 */ 243, 83, 67,169,245, 91, 68,169,247, 99, 69,169,249, 51, 64,249, /* 0x0f50 */ 232,255,255, 23,164,131, 2,145, 2, 0,128,210,225, 3, 22, 42,
/* 0x0f60 */ 253,123, 66,169,255, 3, 3,145,192, 3, 95,214, 0, 0, 0, 0, /* 0x0f60 */ 227, 3, 20, 42,229, 3, 2,170,230, 3, 2,170,159,140, 28,248,
/* 0x0f70 */ 20, 0, 0, 0, 0, 0, 0, 0, 1,122, 82, 0, 4,120, 30, 1, /* 0x0f70 */ 224, 3, 19,170, 48,254,255,151,243, 3, 0,170,225, 3, 19,170,
/* 0x0f80 */ 27, 12, 31, 0, 0, 0, 0, 0, 20, 0, 0, 0, 28, 0, 0, 0, /* 0x0f80 */ 5, 0, 0,148,104, 97,116, 99,104, 32,112,116,114, 61, 32, 37,
/* 0x0f90 */ 204,241,255,255,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0f90 */ 112, 10, 0, 0,224, 3, 30,170,168,252,255,151,120, 2, 0,249,
/* 0x0fa0 */ 20, 0, 0, 0, 52, 0, 0, 0, 24,242,255,255,104, 0, 0, 0, /* 0x0fa0 */ 224, 3, 20, 42, 85,252,255,151, 6, 0, 0, 20, 34, 4, 64,185,
/* 0x0fb0 */ 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 76, 0, 0, 0, /* 0x0fb0 */ 132, 4, 0, 17, 33, 0, 2,139,169,255,255, 23, 19, 0,128,210,
/* 0x0fc0 */ 104,242,255,255,232, 2, 0, 0, 0, 65, 14,208, 2,157, 42,158, /* 0x0fc0 */ 191,131, 0,209,224, 3, 19,170,243, 83, 67,169,245, 91, 68,169,
/* 0x0fd0 */ 41, 65, 13, 29, 70,149, 38,150, 37,151, 36,152, 35,147, 40,148, /* 0x0fd0 */ 247, 99, 69,169,249, 51, 64,249,253,123, 66,169,255, 3, 3,145,
/* 0x0fe0 */ 39, 66,153, 34,154, 33, 2,175,222,221,218,217,216,215,214,213, /* 0x0fe0 */ 192, 3, 95,214, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
/* 0x0ff0 */ 212,211, 12, 31, 0, 0, 0, 0, 44, 0, 0, 0,140, 0, 0, 0, /* 0x0ff0 */ 1,122, 82, 0, 4,120, 30, 1, 27, 12, 31, 0, 0, 0, 0, 0,
/* 0x1000 */ 16,245,255,255,232, 0, 0, 0, 0, 65, 14, 48,157, 6,158, 5, /* 0x1000 */ 20, 0, 0, 0, 28, 0, 0, 0,100,241,255,255,100, 0, 0, 0,
/* 0x1010 */ 65, 13, 29, 65,147, 4,148, 3, 67,149, 2,150, 1,115,222,221, /* 0x1010 */ 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 52, 0, 0, 0,
/* 0x1020 */ 214,213,212,211, 12, 31, 0, 0, 28, 0, 0, 0,188, 0, 0, 0, /* 0x1020 */ 176,241,255,255,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x1030 */ 200,245,255,255, 56, 0, 0, 0, 0, 65, 14, 32,157, 4,158, 3, /* 0x1030 */ 60, 0, 0, 0, 76, 0, 0, 0, 0,242,255,255,232, 2, 0, 0,
/* 0x1040 */ 65, 13, 29, 65,147, 2, 0, 0, 52, 0, 0, 0,220, 0, 0, 0, /* 0x1040 */ 0, 65, 14,208, 2,157, 42,158, 41, 65, 13, 29, 70,149, 38,150,
/* 0x1050 */ 224,245,255,255,244, 1, 0, 0, 0, 65, 14, 96, 65,157, 10,158, /* 0x1050 */ 37,151, 36,152, 35,147, 40,148, 39, 66,153, 34,154, 33, 2,175,
/* 0x1060 */ 9, 65, 12, 29, 80, 65,147, 8,148, 7, 67,149, 6,150, 5, 2, /* 0x1060 */ 222,221,218,217,216,215,214,213,212,211, 12, 31, 0, 0, 0, 0,
/* 0x1070 */ 113, 12, 31, 96, 68,222,221,214,213,212,211, 14, 0, 0, 0, 0, /* 0x1070 */ 44, 0, 0, 0,140, 0, 0, 0,168,244,255,255,232, 0, 0, 0,
/* 0x1080 */ 92, 0, 0, 0, 20, 1, 0, 0,156,247,255,255,176, 4, 0, 0, /* 0x1080 */ 0, 65, 14, 48,157, 6,158, 5, 65, 13, 29, 65,147, 4,148, 3,
/* 0x1090 */ 0, 65, 14,192, 1,157, 24,158, 23, 65, 13, 29, 72, 5, 74, 10, /* 0x1090 */ 67,149, 2,150, 1,115,222,221,214,213,212,211, 12, 31, 0, 0,
/* 0x10a0 */ 5, 75, 9,147, 22,148, 21, 5, 72, 12, 5, 73, 11,149, 20,150, /* 0x10a0 */ 28, 0, 0, 0,188, 0, 0, 0, 96,245,255,255, 56, 0, 0, 0,
/* 0x10b0 */ 19,151, 18,152, 17,155, 14,156, 13,153, 16,154, 15, 5, 76, 8, /* 0x10b0 */ 0, 65, 14, 32,157, 4,158, 3, 65, 13, 29, 65,147, 2, 0, 0,
/* 0x10c0 */ 3, 33, 1,222,221, 6, 76, 6, 75, 6, 74, 6, 73, 6, 72,220, /* 0x10c0 */ 52, 0, 0, 0,220, 0, 0, 0,120,245,255,255,244, 1, 0, 0,
/* 0x10d0 */ 219,218,217,216,215,214,213,212,211, 12, 31, 0, 0, 0, 0, 0, /* 0x10d0 */ 0, 65, 14, 96, 65,157, 10,158, 9, 65, 12, 29, 80, 65,147, 8,
/* 0x10e0 */ 68, 0, 0, 0,116, 1, 0, 0,236,251,255,255,152, 2, 0, 0, /* 0x10e0 */ 148, 7, 67,149, 6,150, 5, 2,113, 12, 31, 96, 68,222,221,214,
/* 0x10f0 */ 0, 65, 14,192, 1, 65,157, 20,158, 19, 65, 12, 29,160, 1, 66, /* 0x10f0 */ 213,212,211, 14, 0, 0, 0, 0,108, 0, 0, 0, 20, 1, 0, 0,
/* 0x1100 */ 147, 18,148, 17, 72,149, 16,150, 15, 78,151, 14,152, 13, 70,153, /* 0x1100 */ 52,247,255,255,248, 4, 0, 0, 0, 65, 14,208, 1,157, 26,158,
/* 0x1110 */ 12, 2,125, 12, 31,192, 1, 71,222,221,217,216,215,214,213,212, /* 0x1110 */ 25, 65, 13, 29, 73, 5, 74, 12, 5, 75, 11,147, 24,148, 23, 5,
/* 0x1120 */ 211, 14, 0, 0, 0, 0, 0, 0 /* 0x1120 */ 76, 10, 5, 77, 9,151, 20,152, 19, 5, 72, 14, 5, 73, 13,153,
/* 0x1130 */ 18,154, 17, 5, 78, 8, 5, 79, 7,155, 16,156, 15,149, 22,150,
/* 0x1140 */ 21, 3, 50, 1,222,221, 6, 79, 6, 78, 6, 77, 6, 76, 6, 75,
/* 0x1150 */ 6, 74, 6, 73, 6, 72,220,219,218,217,216,215,214,213,212,211,
/* 0x1160 */ 12, 31, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,132, 1, 0, 0,
/* 0x1170 */ 188,251,255,255,184, 2, 0, 0, 0, 65, 14,192, 1, 65,157, 20,
/* 0x1180 */ 158, 19, 65, 12, 29,160, 1, 66,147, 18,148, 17, 72,149, 16,150,
/* 0x1190 */ 15, 78,151, 14,152, 13, 70,153, 12, 2,133, 12, 31,192, 1, 71,
/* 0x11a0 */ 222,221,217,216,215,214,213,212,211, 14, 0, 0, 0, 0, 0, 0
}; };

View File

@ -477,9 +477,9 @@ do_xmap(
} }
unpackExtent(xi, &xo, f_decompress, f_unf); unpackExtent(xi, &xo, f_decompress, f_unf);
} }
if (*mhdrpp && mlen && !sc->fileoff && sc->nsects) { if (xi && mlen && !sc->fileoff && sc->nsects) {
// main target __TEXT segment at beginning of file with sections (__text) // main target __TEXT segment at beginning of file with sections (__text)
// Use 4 bytes of header padding for the escape hatch. // Use upto 2 words of header padding for the escape hatch.
// fold.S could do this easier, except PROT_WRITE is missing then. // fold.S could do this easier, except PROT_WRITE is missing then.
Mach_segment_command *segp = (Mach_segment_command *)(((char *)sc - (char *)mhdr) + addr); Mach_segment_command *segp = (Mach_segment_command *)(((char *)sc - (char *)mhdr) + addr);
Mach_section_command *const secp = (Mach_section_command *)(1+ segp); Mach_section_command *const secp = (Mach_section_command *)(1+ segp);
@ -492,7 +492,7 @@ do_xmap(
hatch[0] = 0xc3050f90; // nop; syscall; ret hatch[0] = 0xc3050f90; // nop; syscall; ret
#endif //} #endif //}
DPRINTF("hatch=%%p secp=%%p segp=%%p mhdr=%%p\\n", hatch, secp, segp, addr); DPRINTF("hatch=%%p secp=%%p segp=%%p mhdr=%%p\\n", hatch, secp, segp, addr);
rv= (unsigned char *)hatch; rv = (unsigned char *)hatch;
} }
/*bzero(addr, frag);*/ // fragment at lo end /*bzero(addr, frag);*/ // fragment at lo end
frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary
@ -521,8 +521,10 @@ ERR_LAB
} }
else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) { else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) {
Mach_thread_command *const thrc = (Mach_thread_command *)sc; Mach_thread_command *const thrc = (Mach_thread_command *)sc;
DPRINTF("thread_command= %%p\\n", sc);
if (THREAD_STATE ==thrc->flavor if (THREAD_STATE ==thrc->flavor
&& THREAD_STATE_COUNT==thrc->count ) { /* FIXME && THREAD_STATE_COUNT==thrc->count*/ ) {
DPRINTF("thread_state= %%p\\n", &thrc->state);
#if defined(__AARCH64EL__) // { #if defined(__AARCH64EL__) // {
thrc->state.pc += reloc; thrc->state.pc += reloc;
#elif defined(__x86_64__) //}{ #elif defined(__x86_64__) //}{
@ -609,6 +611,7 @@ ERR_LAB
} // switch } // switch
Mach_header64 *dyhdr = 0; Mach_header64 *dyhdr = 0;
ts = (Mach_thread_state *)do_xmap(mhdr, fat_offset, 0, fdi, &dyhdr, 0, 0); ts = (Mach_thread_state *)do_xmap(mhdr, fat_offset, 0, fdi, &dyhdr, 0, 0);
DPRINTF("hatch ptr= %%p\\n", ts);
#if defined(__AARCH64EL__) // { #if defined(__AARCH64EL__) // {
ts->x0 = (uint64_t)hatch; ts->x0 = (uint64_t)hatch;
#elif defined(__x86_64__) //}{ #elif defined(__x86_64__) //}{

View File

@ -41,7 +41,7 @@
NBPW= 8 NBPW= 8
#include "arch/arm64/v8/macros.S" #include "arch/arm64/v8/macros.S"
arg1 .req x0 arg1 .req x0; arg1w .req w0
arg2 .req x1 arg2 .req x1
arg3 .req x2 arg3 .req x2
arg4 .req x3; arg4w .req w3 arg4 .req x3; arg4w .req w3
@ -89,6 +89,7 @@ r_EXP .req x28
mov arg5,r_EXP mov arg5,r_EXP
adr arg6,f_unfilter adr arg6,f_unfilter
// upx_main(x0=&l_info, w1=len_cpr, x2=temp[sz_mhdr], w3=sz_mhdr, x4=f_exp, x5=f_unf, x6=mhdr **) // upx_main(x0=&l_info, w1=len_cpr, x2=temp[sz_mhdr], w3=sz_mhdr, x4=f_exp, x5=f_unf, x6=mhdr **)
brk #0
bl upx_main // OUT: x0= &Mach_thread_state of dyld; will be in temp mhdr[] bl upx_main // OUT: x0= &Mach_thread_state of dyld; will be in temp mhdr[]
ARM64_ts_pc= 32*NBPW ARM64_ts_pc= 32*NBPW
@ -173,6 +174,7 @@ __NR_pread = 0x43 // 67
__NR_read = 0x3f // 63 __NR_read = 0x3f // 63
__NR_write = 0x40 // 64 __NR_write = 0x40 // 64
#endif /*}*/ #endif /*}*/
FD_CWD = -100
.globl exit .globl exit
exit: exit:
@ -189,7 +191,15 @@ write:
.globl open .globl open
open: open:
brk #0 brk #0
#ifdef SIMULATE_ON_DEBIAN_EABI4 //{
mov arg3,#0 // O_RDONLY
mov arg2,arg1
mov arg1w,#FD_CWD
do_sys __NR_openat
ret
#else //}{
do_sys __NR_open; ret do_sys __NR_open; ret
#endif //}
.globl close .globl close
close: close:

View File

@ -72,7 +72,7 @@ LOAD tmp/amd64-darwin.macho-main.o
.plt .plt
*(.plt) *(.plt)
.text 0x0000000008048000 0xe32 .text 0x0000000008048000 0xea3
*(.text .stub .text.* .gnu.linkonce.t.*) *(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000008048000 0x157 tmp/amd64-darwin.macho-fold.o .text 0x0000000008048000 0x157 tmp/amd64-darwin.macho-fold.o
0x00000000080480b8 munmap 0x00000000080480b8 munmap
@ -87,17 +87,17 @@ LOAD tmp/amd64-darwin.macho-main.o
0x00000000080480b4 mprotect 0x00000000080480b4 mprotect
0x00000000080480c0 close 0x00000000080480c0 close
*fill* 0x0000000008048157 0x1 90909090 *fill* 0x0000000008048157 0x1 90909090
.text 0x0000000008048158 0xcda tmp/amd64-darwin.macho-main.o .text 0x0000000008048158 0xd4b tmp/amd64-darwin.macho-main.o
0x000000000804875f do_xmap 0x000000000804875f do_xmap
0x0000000008048be3 upx_main 0x0000000008048c30 upx_main
*(.text.*personality*) *(.text.*personality*)
*(.gnu.warning) *(.gnu.warning)
.fini .fini
*(.fini) *(.fini)
0x0000000008048e32 PROVIDE (__etext, .) 0x0000000008048ea3 PROVIDE (__etext, .)
0x0000000008048e32 PROVIDE (_etext, .) 0x0000000008048ea3 PROVIDE (_etext, .)
0x0000000008048e32 PROVIDE (etext, .) 0x0000000008048ea3 PROVIDE (etext, .)
.rodata .rodata
*(.rodata .rodata.* .gnu.linkonce.r.*) *(.rodata .rodata.* .gnu.linkonce.r.*)
@ -113,8 +113,8 @@ LOAD tmp/amd64-darwin.macho-main.o
.gcc_except_table .gcc_except_table
*(.gcc_except_table .gcc_except_table.*) *(.gcc_except_table .gcc_except_table.*)
0x0000000008048e32 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff)) 0x0000000008048ea3 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x0000000008049e32 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000) 0x0000000008049ea3 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
.eh_frame .eh_frame
*(.eh_frame) *(.eh_frame)
@ -129,22 +129,22 @@ LOAD tmp/amd64-darwin.macho-main.o
*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon) *(.tcommon)
.preinit_array 0x0000000008049e32 0x0 .preinit_array 0x0000000008049ea3 0x0
0x0000000008049e32 PROVIDE (__preinit_array_start, .) 0x0000000008049ea3 PROVIDE (__preinit_array_start, .)
*(.preinit_array) *(.preinit_array)
0x0000000008049e32 PROVIDE (__preinit_array_end, .) 0x0000000008049ea3 PROVIDE (__preinit_array_end, .)
.init_array 0x0000000008049e32 0x0 .init_array 0x0000000008049ea3 0x0
0x0000000008049e32 PROVIDE (__init_array_start, .) 0x0000000008049ea3 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*)) *(SORT(.init_array.*))
*(.init_array) *(.init_array)
0x0000000008049e32 PROVIDE (__init_array_end, .) 0x0000000008049ea3 PROVIDE (__init_array_end, .)
.fini_array 0x0000000008049e32 0x0 .fini_array 0x0000000008049ea3 0x0
0x0000000008049e32 PROVIDE (__fini_array_start, .) 0x0000000008049ea3 PROVIDE (__fini_array_start, .)
*(.fini_array) *(.fini_array)
*(SORT(.fini_array.*)) *(SORT(.fini_array.*))
0x0000000008049e32 PROVIDE (__fini_array_end, .) 0x0000000008049ea3 PROVIDE (__fini_array_end, .)
.ctors .ctors
*crtbegin*.o(.ctors) *crtbegin*.o(.ctors)
@ -170,35 +170,35 @@ LOAD tmp/amd64-darwin.macho-main.o
.got .got
*(.got) *(.got)
0x0000000008049e32 . = (. DATA_SEGMENT_RELRO_END 0xc) 0x0000000008049ea3 . = (. DATA_SEGMENT_RELRO_END 0xc)
.got.plt .got.plt
*(.got.plt) *(.got.plt)
.data 0x0000000008049e34 0x0 .data 0x0000000008049ea4 0x0
*(.data .data.* .gnu.linkonce.d.*) *(.data .data.* .gnu.linkonce.d.*)
.data 0x0000000008049e34 0x0 tmp/amd64-darwin.macho-fold.o .data 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-fold.o
.data 0x0000000008049e34 0x0 tmp/amd64-darwin.macho-main.o .data 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-main.o
*(.gnu.linkonce.d.*personality*) *(.gnu.linkonce.d.*personality*)
.data1 .data1
*(.data1) *(.data1)
0x0000000008049e34 _edata = . 0x0000000008049ea4 _edata = .
0x0000000008049e34 PROVIDE (edata, .) 0x0000000008049ea4 PROVIDE (edata, .)
0x0000000008049e34 __bss_start = . 0x0000000008049ea4 __bss_start = .
.bss 0x0000000008049e34 0x0 .bss 0x0000000008049ea4 0x0
*(.dynbss) *(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*) *(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x0000000008049e34 0x0 tmp/amd64-darwin.macho-fold.o .bss 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-fold.o
.bss 0x0000000008049e34 0x0 tmp/amd64-darwin.macho-main.o .bss 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-main.o
*(COMMON) *(COMMON)
0x0000000008049e34 . = ALIGN ((. != 0x0)?0x4:0x1) 0x0000000008049ea4 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000008049e34 . = ALIGN (0x4) 0x0000000008049ea4 . = ALIGN (0x4)
0x0000000008049e34 . = ALIGN (0x4) 0x0000000008049ea4 . = ALIGN (0x4)
0x0000000008049e34 _end = . 0x0000000008049ea4 _end = .
0x0000000008049e34 PROVIDE (end, .) 0x0000000008049ea4 PROVIDE (end, .)
0x0000000008049e34 . = DATA_SEGMENT_END (.) 0x0000000008049ea4 . = DATA_SEGMENT_END (.)
.stab .stab
*(.stab) *(.stab)

View File

@ -67,36 +67,36 @@ LOAD tmp/arm64-darwin.macho-main.o
*(.iplt) *(.iplt)
.iplt 0x0000000000400080 0x0 tmp/arm64-darwin.macho-fold.o .iplt 0x0000000000400080 0x0 tmp/arm64-darwin.macho-fold.o
.text 0x0000000000400078 0xf6c .text 0x0000000000400078 0xfe4
*(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*) *(.text.exit .text.exit.*)
*(.text.startup .text.startup.*) *(.text.startup .text.startup.*)
*(.text.hot .text.hot.*) *(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*) *(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000000400078 0x15c tmp/arm64-darwin.macho-fold.o .text 0x0000000000400078 0x16c tmp/arm64-darwin.macho-fold.o
0x0000000000400078 _start 0x0000000000400078 _start
0x000000000040012c spin 0x0000000000400130 spin
0x0000000000400130 exit 0x0000000000400134 exit
0x0000000000400138 read 0x000000000040013c read
0x0000000000400144 write 0x0000000000400148 write
0x0000000000400150 open 0x0000000000400154 open
0x0000000000400160 close 0x0000000000400170 close
0x000000000040016c brk 0x000000000040017c brk
0x0000000000400178 munmap 0x0000000000400188 munmap
0x0000000000400184 mprotect 0x0000000000400194 mprotect
0x0000000000400190 mmap 0x00000000004001a0 mmap
0x000000000040019c pread 0x00000000004001ac pread
0x00000000004001a8 bswap 0x00000000004001b8 bswap
.text 0x00000000004001d4 0xe10 tmp/arm64-darwin.macho-main.o .text 0x00000000004001e4 0xe78 tmp/arm64-darwin.macho-main.o
0x000000000040089c do_xmap 0x00000000004008ac do_xmap
0x0000000000400d4c upx_main 0x0000000000400da4 upx_main
*(.gnu.warning) *(.gnu.warning)
.fini .fini
*(SORT(.fini)) *(SORT(.fini))
0x0000000000400fe4 PROVIDE (__etext, .) 0x000000000040105c PROVIDE (__etext, .)
0x0000000000400fe4 PROVIDE (_etext, .) 0x000000000040105c PROVIDE (_etext, .)
0x0000000000400fe4 PROVIDE (etext, .) 0x000000000040105c PROVIDE (etext, .)
.rodata .rodata
*(.rodata .rodata.* .gnu.linkonce.r.*) *(.rodata .rodata.* .gnu.linkonce.r.*)
@ -107,18 +107,18 @@ LOAD tmp/arm64-darwin.macho-main.o
.eh_frame_hdr .eh_frame_hdr
*(.eh_frame_hdr) *(.eh_frame_hdr)
.eh_frame 0x0000000000400fe8 0x1b8 .eh_frame 0x0000000000401060 0x1c8
*(.eh_frame) *(.eh_frame)
.eh_frame 0x0000000000400fe8 0x1b8 tmp/arm64-darwin.macho-main.o .eh_frame 0x0000000000401060 0x1c8 tmp/arm64-darwin.macho-main.o
0x1a8 (size before relaxing) 0x1b8 (size before relaxing)
.gcc_except_table .gcc_except_table
*(.gcc_except_table .gcc_except_table.*) *(.gcc_except_table .gcc_except_table.*)
.exception_ranges .exception_ranges
*(.exception_ranges .exception_ranges*) *(.exception_ranges .exception_ranges*)
0x00000000004011a0 . = (ALIGN (0x10000) - ((0x10000 - .) & 0xffff)) 0x0000000000401228 . = (ALIGN (0x10000) - ((0x10000 - .) & 0xffff))
0x00000000004111a0 . = DATA_SEGMENT_ALIGN (0x10000, 0x1000) 0x0000000000411228 . = DATA_SEGMENT_ALIGN (0x10000, 0x1000)
.eh_frame .eh_frame
*(.eh_frame) *(.eh_frame)
@ -136,22 +136,22 @@ LOAD tmp/arm64-darwin.macho-main.o
*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon) *(.tcommon)
.preinit_array 0x00000000004111a0 0x0 .preinit_array 0x0000000000411228 0x0
0x00000000004111a0 PROVIDE (__preinit_array_start, .) 0x0000000000411228 PROVIDE (__preinit_array_start, .)
*(.preinit_array) *(.preinit_array)
0x00000000004111a0 PROVIDE (__preinit_array_end, .) 0x0000000000411228 PROVIDE (__preinit_array_end, .)
.init_array 0x00000000004111a0 0x0 .init_array 0x0000000000411228 0x0
0x00000000004111a0 PROVIDE (__init_array_start, .) 0x0000000000411228 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*)) *(SORT(.init_array.*))
*(.init_array) *(.init_array)
0x00000000004111a0 PROVIDE (__init_array_end, .) 0x0000000000411228 PROVIDE (__init_array_end, .)
.fini_array 0x00000000004111a0 0x0 .fini_array 0x0000000000411228 0x0
0x00000000004111a0 PROVIDE (__fini_array_start, .) 0x0000000000411228 PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*)) *(SORT(.fini_array.*))
*(.fini_array) *(.fini_array)
0x00000000004111a0 PROVIDE (__fini_array_end, .) 0x0000000000411228 PROVIDE (__fini_array_end, .)
.ctors .ctors
*crtbegin.o(.ctors) *crtbegin.o(.ctors)
@ -180,43 +180,43 @@ LOAD tmp/arm64-darwin.macho-main.o
.got .got
*(.got) *(.got)
*(.igot) *(.igot)
0x00000000004111a0 . = DATA_SEGMENT_RELRO_END (., 0x18) 0x0000000000411228 . = DATA_SEGMENT_RELRO_END (., 0x18)
.got.plt 0x00000000004111a0 0x0 .got.plt 0x0000000000411228 0x0
*(.got.plt) *(.got.plt)
*(.igot.plt) *(.igot.plt)
.igot.plt 0x00000000004111a0 0x0 tmp/arm64-darwin.macho-fold.o .igot.plt 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.data 0x00000000004111a0 0x0 .data 0x0000000000411228 0x0
0x00000000004111a0 PROVIDE (__data_start, .) 0x0000000000411228 PROVIDE (__data_start, .)
*(.data .data.* .gnu.linkonce.d.*) *(.data .data.* .gnu.linkonce.d.*)
.data 0x00000000004111a0 0x0 tmp/arm64-darwin.macho-fold.o .data 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.data 0x00000000004111a0 0x0 tmp/arm64-darwin.macho-main.o .data 0x0000000000411228 0x0 tmp/arm64-darwin.macho-main.o
.data1 .data1
*(.data1) *(.data1)
0x00000000004111a0 _edata = . 0x0000000000411228 _edata = .
0x00000000004111a0 PROVIDE (edata, .) 0x0000000000411228 PROVIDE (edata, .)
0x00000000004111a0 . = . 0x0000000000411228 . = .
0x00000000004111a0 __bss_start = . 0x0000000000411228 __bss_start = .
0x00000000004111a0 __bss_start__ = . 0x0000000000411228 __bss_start__ = .
.bss 0x00000000004111a0 0x0 .bss 0x0000000000411228 0x0
*(.dynbss) *(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*) *(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x00000000004111a0 0x0 tmp/arm64-darwin.macho-fold.o .bss 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.bss 0x00000000004111a0 0x0 tmp/arm64-darwin.macho-main.o .bss 0x0000000000411228 0x0 tmp/arm64-darwin.macho-main.o
*(COMMON) *(COMMON)
0x00000000004111a0 . = ALIGN ((. != 0x0)?0x8:0x1) 0x0000000000411228 . = ALIGN ((. != 0x0)?0x8:0x1)
0x00000000004111a0 _bss_end__ = . 0x0000000000411228 _bss_end__ = .
0x00000000004111a0 __bss_end__ = . 0x0000000000411228 __bss_end__ = .
0x00000000004111a0 . = ALIGN (0x8) 0x0000000000411228 . = ALIGN (0x8)
0x00000000004111a0 . = SEGMENT_START ("ldata-segment", .) 0x0000000000411228 . = SEGMENT_START ("ldata-segment", .)
0x00000000004111a0 . = ALIGN (0x8) 0x0000000000411228 . = ALIGN (0x8)
0x00000000004111a0 __end__ = . 0x0000000000411228 __end__ = .
0x00000000004111a0 _end = . 0x0000000000411228 _end = .
0x00000000004111a0 PROVIDE (end, .) 0x0000000000411228 PROVIDE (end, .)
0x00000000004111a0 . = DATA_SEGMENT_END (.) 0x0000000000411228 . = DATA_SEGMENT_END (.)
.stab .stab
*(.stab) *(.stab)