ZIG_DIST_VERSION of 2024-09-17

also https://github.com/upx/upx/issues/847

	modified:   ../.github/workflows/ci.yml
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_lx_elf.cpp
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/i386-darwin.macho-entry.S
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-09-17 01:55:08 -07:00
parent 7cb3f40dab
commit d55fdf2205
17 changed files with 3812 additions and 3812 deletions
+12 -6
View File
@@ -7509,8 +7509,12 @@ void PackLinuxElf64::unpack(OutputFile *fo)
if (PT_LOAD64==get_te32(&phdr->p_type)) {
unsigned const filesz = get_te64(&phdr->p_filesz);
unsigned const offset = get_te64(&phdr->p_offset);
if (fo)
if (fo) {
fo->seek(offset, SEEK_SET);
if (total_out < offset) {
total_out = offset; // FIXME: can it be re-write?
}
}
if (Elf64_Phdr::PF_X & get_te32(&phdr->p_flags)) {
unpackExtent(filesz, fo,
c_adler, u_adler, first_PF_X);
@@ -7659,8 +7663,7 @@ void PackLinuxElf64::unpack(OutputFile *fo)
}
unpackExtent(size, fo,
c_adler, u_adler, false,
is_shlib && ((phdr[j].p_offset != hi_offset)));
// FIXME: should not depend on is_shlib ?
(hi_offset != get_te64(&phdr[j].p_offset)));
}
}
@@ -8677,8 +8680,12 @@ void PackLinuxElf32::unpack(OutputFile *fo)
if (PT_LOAD32==get_te32(&phdr->p_type)) {
unsigned const filesz = get_te32(&phdr->p_filesz);
unsigned const offset = get_te32(&phdr->p_offset);
if (fo)
if (fo) {
fo->seek(offset, SEEK_SET);
if (total_out < offset) {
total_out = offset; // FIXME: can it be re-write?
}
}
if (Elf32_Phdr::PF_X & get_te32(&phdr->p_flags)) {
unpackExtent(filesz, fo,
c_adler, u_adler, first_PF_X);
@@ -8827,8 +8834,7 @@ void PackLinuxElf32::unpack(OutputFile *fo)
}
unpackExtent(size, fo,
c_adler, u_adler, false,
is_shlib && ((phdr[j].p_offset != hi_offset)));
// FIXME: should not depend on is_shlib ?
(hi_offset != get_te32(&phdr[j].p_offset)));
}
}
+69 -69
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-entry.h
created from amd64-linux.elf-entry.bin, 1149 (0x47d) bytes
created from amd64-linux.elf-entry.bin, 1145 (0x479) bytes
This file is part of the UPX executable compressor.
@@ -32,11 +32,11 @@
/* clang-format off */
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1149
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x64b64e40
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xb7cf8e69
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1145
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xf6574ab6
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x9256a733
unsigned char stub_amd64_linux_elf_entry[1149] = {
unsigned char stub_amd64_linux_elf_entry[1145] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0,
@@ -45,68 +45,68 @@ unsigned char stub_amd64_linux_elf_entry[1149] = {
/* 0x0050 */ 175,117,252, 87,186, 0, 16, 0, 0, 94, 72,173,133,192,116, 8,
/* 0x0060 */ 131,248, 6, 72,173,117,243,146, 88, 72,247,218, 82, 80,104,117,
/* 0x0070 */ 112,120, 0, 84, 95,190, 16, 0, 0, 0,184, 63, 1, 0, 0, 15,
/* 0x0080 */ 5,133,192,121, 45,133,246,116, 4, 49,246,235,237,232, 17, 0,
/* 0x0090 */ 0, 0,192, 1, 0, 0, 2, 0, 65, 0, 47,100,101,118, 47,115,
/* 0x00a0 */ 104,109, 0, 94,173,146,173, 86,150, 95,106, 2, 88,232, 0, 1,
/* 0x00b0 */ 0, 0, 73,137,196, 89, 72,141, 61,127,255,255,255,139, 15, 72,
/* 0x00c0 */ 41,207, 72,141, 53, 0, 0, 0, 0,173,147, 65,137,221,173,146,
/* 0x00d0 */ 131,194, 16, 82,106,255, 87, 72, 41,217, 81, 72, 1,251, 83, 84,
/* 0x00e0 */ 93, 72, 41,212, 72,131,228,192, 84, 95,173, 80,173,102,131,248,
/* 0x00f0 */ 2,116, 1,244, 88, 72, 1,240, 80, 85, 49,219, 49,201, 72,141,
/* 0x0100 */ 21,194, 0, 0, 0,106,255, 93,252,168,164,255,210,114,251,141,
/* 0x0110 */ 65, 1,255,210, 17,192,255,210,115,248,131,232, 3,114, 12,193,
/* 0x0120 */ 224, 8,172,131,240,255,116, 47, 72, 99,232,141, 65, 1,255,210,
/* 0x0130 */ 17,201,255,210, 17,201,117, 13,137,193,131,192, 2,255,210, 17,
/* 0x0140 */ 201,255,210,115,248,129,253, 0,243,255,255, 17,193, 86, 72,141,
/* 0x0150 */ 52, 47,243,164, 94,235,180, 93, 89, 72, 57,206,116, 1,244, 72,
/* 0x0160 */ 139, 69, 48, 72,137, 4, 36, 72,139, 85, 32, 72,131,234, 16, 84,
/* 0x0170 */ 94, 76,137,231, 82,106, 1, 88,232, 53, 0, 0, 0, 72, 1,198,
/* 0x0180 */ 41,194,117,241, 94, 85, 92, 77, 49,201, 77,137,224,106, 1, 65,
/* 0x0190 */ 90,106, 7, 90, 41,255,106, 9, 88,232, 20, 0, 0, 0, 80, 72,
/* 0x01a0 */ 137, 69, 24, 65, 80, 95,106, 3, 88, 15, 5, 88, 72,131,192, 8,
/* 0x01b0 */ 255,224, 80, 15, 5, 89, 72, 61, 0,240,255,255,114, 1,244,195,
/* 0x01c0 */ 72,139, 60, 36,102,175,195,243, 15, 30,250, 1,219,116, 2,243,
/* 0x01d0 */ 195,139, 30, 72,131,238,252, 17,219,243,195, 0, 0, 0, 0, 0,
/* 0x01e0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54,
/* 0x01f0 */ 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,
/* 0x0200 */ 110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32,
/* 0x0210 */ 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32,
/* 0x0220 */ 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0230 */ 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0240 */ 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,
/* 0x0250 */ 103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76,
/* 0x0260 */ 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 57, 98,
/* 0x0270 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 52, 48, 32, 32, 50, 42, 42,
/* 0x0280 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32,
/* 0x0290 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 52,
/* 0x02a0 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,100, 99, 32, 32, 50, 42,
/* 0x02b0 */ 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77,
/* 0x02c0 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48,
/* 0x02d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x02e0 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69,
/* 0x02f0 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0300 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x0310 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77,
/* 0x0320 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0330 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x0340 */ 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10,
/* 0x0350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0360 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48,
/* 0x0370 */ 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65,
/* 0x0380 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
/* 0x0390 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70,
/* 0x03a0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
/* 0x03b0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x03c0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x03d0 */ 48, 48, 48, 48, 56, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95,
/* 0x03e0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x03f0 */ 90, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,
/* 0x0400 */ 102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x0410 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
/* 0x0420 */ 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x0430 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x0440 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x0450 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0460 */ 48, 48, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32,
/* 0x0470 */ 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x0080 */ 5,133,192,121, 29,133,246,116, 4, 49,246,235,237, 72,141, 53,
/* 0x0090 */ 28, 1, 0, 0,173,146,173, 86,150, 95,106, 2, 88,232, 0, 1,
/* 0x00a0 */ 0, 0, 73,137,196, 89, 72,141, 61,143,255,255,255,139, 15, 72,
/* 0x00b0 */ 41,207, 72,141, 53, 0, 0, 0, 0,173,147, 65,137,221,173,146,
/* 0x00c0 */ 131,194, 16, 82,106,255, 87, 72, 41,217, 81, 72, 1,251, 83, 84,
/* 0x00d0 */ 93, 72, 41,212, 72,131,228,192, 84, 95,173, 80,173,102,131,248,
/* 0x00e0 */ 2,116, 1,244, 88, 72, 1,240, 80, 85, 49,219, 49,201, 72,141,
/* 0x00f0 */ 21,204, 0, 0, 0,106,255, 93,252,168,164,255,210,114,251,141,
/* 0x0100 */ 65, 1,255,210, 17,192,255,210,115,248,131,232, 3,114, 12,193,
/* 0x0110 */ 224, 8,172,131,240,255,116, 47, 72, 99,232,141, 65, 1,255,210,
/* 0x0120 */ 17,201,255,210, 17,201,117, 13,137,193,131,192, 2,255,210, 17,
/* 0x0130 */ 201,255,210,115,248,129,253, 0,243,255,255, 17,193, 86, 72,141,
/* 0x0140 */ 52, 47,243,164, 94,235,180, 93, 89, 72, 57,206,116, 1,244, 72,
/* 0x0150 */ 139, 69, 48, 72,137, 4, 36, 72,139, 85, 32, 72,131,234, 16, 84,
/* 0x0160 */ 94, 76,137,231, 82,106, 1, 88,232, 53, 0, 0, 0, 72, 1,198,
/* 0x0170 */ 41,194,117,241, 94, 85, 92, 77, 49,201, 77,137,224,106, 1, 65,
/* 0x0180 */ 90,106, 7, 90, 41,255,106, 9, 88,232, 20, 0, 0, 0, 80, 72,
/* 0x0190 */ 137, 69, 24, 65, 80, 95,106, 3, 88, 15, 5, 88, 72,131,192, 8,
/* 0x01a0 */ 255,224, 80, 15, 5, 89, 72, 61, 0,240,255,255,114, 1,244,195,
/* 0x01b0 */ 192, 1, 0, 0, 2, 0, 65, 0, 47,100,101,118, 47,115,104,109,
/* 0x01c0 */ 0,243, 15, 30,250, 1,219,116, 2,243,195,139, 30, 72,131,238,
/* 0x01d0 */ 252, 17,219,243,195, 0, 0, 0, 0, 0, 0, 0,102,105,108,101,
/* 0x01e0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,120, 56,
/* 0x01f0 */ 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10,
/* 0x0200 */ 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0210 */ 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32,
/* 0x0220 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77,
/* 0x0230 */ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0240 */ 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32,
/* 0x0250 */ 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x0260 */ 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 57, 53, 32, 32, 48, 32,
/* 0x0270 */ 32, 48, 32, 32, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x0280 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77,
/* 0x0290 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 52, 32, 32, 48, 32,
/* 0x02a0 */ 32, 48, 32, 32, 48, 49,100, 56, 32, 32, 50, 42, 42, 50, 32, 32,
/* 0x02b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32,
/* 0x02c0 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x02d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x02e0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65,
/* 0x02f0 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0300 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
/* 0x0310 */ 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0320 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0330 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x0340 */ 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48,
/* 0x0350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32,
/* 0x0360 */ 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66,
/* 0x0370 */ 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x0380 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
/* 0x0390 */ 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x03a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x03b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x03c0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x03d0 */ 55, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50,
/* 0x03e0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120,
/* 0x03f0 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99,
/* 0x0400 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x0410 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x0420 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32,
/* 0x0430 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
/* 0x0440 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48,
/* 0x0450 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82,
/* 0x0460 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0470 */ 32, 79, 95, 66, 73, 78, 70, 79, 10
};
+1095 -1093
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -33,8 +33,8 @@
/* clang-format off */
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 17241
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xff32cfc2
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xc392ef87
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x7e2bd3e0
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xa14849ba
unsigned char stub_arm64_linux_elf_fold[17241] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -115,15 +115,15 @@ unsigned char stub_arm64_linux_elf_fold[17241] = {
/* 0x04b0 */ 63, 8, 0,113, 2, 0, 1,145, 21, 68, 64,249,128, 0, 0, 84,
/* 0x04c0 */ 21, 0, 21,203,224, 3, 21,170, 3, 0, 0, 20, 64, 8, 64,249,
/* 0x04d0 */ 21, 0,128,210, 65, 20, 64,249, 0, 0, 0,148, 68, 0, 0, 20,
/* 0x04e0 */ 63, 12, 0,113, 27, 2,128, 82, 0,112, 64,121,123, 19,159, 26,
/* 0x04f0 */ 225, 3, 20,170, 19, 0,130,210,249, 3, 24,170, 21, 0,128,146,
/* 0x0500 */ 0, 4, 0, 81, 31, 4, 0, 49, 32, 2, 0, 84, 34, 0, 64,185,
/* 0x0510 */ 95, 4, 0,113,129, 1, 0, 84, 34, 20, 64,249, 66, 1, 0,180,
/* 0x0520 */ 35, 8, 64,249, 98, 0, 2,139,191, 2, 3,235,181,146,131,154,
/* 0x0530 */ 63, 3, 2,235, 57, 35,130,154, 34, 24, 64,249,127, 2, 2,235,
/* 0x0540 */ 115, 34,130,154, 33,224, 0,145,238,255,255, 23, 57, 7, 0,209,
/* 0x0550 */ 0, 0, 0,148, 21, 0, 21,138, 57, 3, 0,203, 57, 3, 21,203,
/* 0x0560 */ 246, 3, 0,203, 57, 3, 0,138, 32, 0,128, 82,225, 3, 0, 42,
/* 0x04e0 */ 63, 12, 0,113, 27, 2,128, 82,123, 19,159, 26, 22,112, 64,121,
/* 0x04f0 */ 0, 0, 0,148, 19, 0,130,210,226, 3, 20,170,225, 3, 24,170,
/* 0x0500 */ 21, 0,128,146,214, 6, 0, 81,223, 6, 0, 49, 32, 2, 0, 84,
/* 0x0510 */ 67, 0, 64,185,127, 4, 0,113,129, 1, 0, 84, 68, 20, 64,249,
/* 0x0520 */ 68, 1, 0,180, 67, 8, 64,249,191, 2, 3,235,100, 0, 4,139,
/* 0x0530 */ 181,146,131,154, 67, 24, 64,249, 63, 0, 4,235, 33, 32,132,154,
/* 0x0540 */ 127, 2, 3,235,115, 34,131,154, 66,224, 0,145,238,255,255, 23,
/* 0x0550 */ 249, 3, 32,170,181, 2, 0,138, 57, 3, 1,139,246, 3, 0,203,
/* 0x0560 */ 57, 3, 21,203, 57, 3, 0,138, 32, 0,128, 82,225, 3, 0, 42,
/* 0x0570 */ 33,124, 22,155, 63, 0, 19,235, 98, 0, 0, 84, 0,120, 31, 83,
/* 0x0580 */ 251,255,255, 23, 26, 4, 0, 81, 67, 4,128, 82, 99, 3, 3, 42,
/* 0x0590 */ 224, 3, 21,170, 65,103, 22, 27, 2, 0,128, 82, 4, 0,128, 18,
@@ -641,7 +641,7 @@ unsigned char stub_arm64_linux_elf_fold[17241] = {
/* 0x2590 */ 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0,
/* 0x25a0 */ 27, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x25b0 */ 152, 4, 0, 0, 0, 0, 0, 0, 27, 1, 0, 0, 15, 0, 0, 0,
/* 0x25c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 5, 0, 0, 0, 0, 0, 0,
/* 0x25c0 */ 0, 0, 0, 0, 0, 0, 0, 0,176, 4, 0, 0, 0, 0, 0, 0,
/* 0x25d0 */ 27, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x25e0 */ 104, 5, 0, 0, 0, 0, 0, 0, 27, 1, 0, 0, 20, 0, 0, 0,
/* 0x25f0 */ 0, 0, 0, 0, 0, 0, 0, 0,144, 5, 0, 0, 0, 0, 0, 0,
@@ -987,7 +987,7 @@ unsigned char stub_arm64_linux_elf_fold[17241] = {
/* 0x3b30 */ 116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52,
/* 0x3b40 */ 57, 56, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 67, 65, 76,
/* 0x3b50 */ 76, 50, 54, 32, 32,109,117,110,109, 97,112, 10, 48, 48, 48, 48,
/* 0x3b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 49, 48, 32, 82, 95, 65,
/* 0x3b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 98, 48, 32, 82, 95, 65,
/* 0x3b70 */ 65, 82, 67, 72, 54, 52, 95, 67, 65, 76, 76, 50, 54, 32, 32,103,
/* 0x3b80 */ 101,116, 95,112, 97,103,101, 95,109, 97,115,107, 10, 48, 48, 48,
/* 0x3b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 54, 56, 32, 82, 95,
+158 -164
View File
@@ -1,5 +1,5 @@
/* i386-darwin.macho-entry.h
created from i386-darwin.macho-entry.bin, 9374 (0x249e) bytes
created from i386-darwin.macho-entry.bin, 9267 (0x2433) bytes
This file is part of the UPX executable compressor.
@@ -32,14 +32,14 @@
/* clang-format off */
#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 9374
#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0x82ecfa1e
#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x183ff92e
#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 9267
#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0x490bcbd9
#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x67e445db
unsigned char stub_i386_darwin_macho_entry[9374] = {
unsigned char stub_i386_darwin_macho_entry[9267] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 48, 28, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0020 */ 196, 27, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 0, 0, 0, 0,232,252,255,255,255,115, 0,139, 68, 36, 16,131,
/* 0x0040 */ 248, 73,116, 7,131,248, 70,116, 2,235, 96, 85,137,229, 83, 86,
/* 0x0050 */ 87,139,117, 8,139, 77, 12,139, 85, 16,136,198,141, 76, 14,253,
@@ -463,164 +463,158 @@ unsigned char stub_i386_darwin_macho_entry[9374] = {
/* 0x1a70 */ 80, 57,204,117,251,137,236, 49,201, 43,124, 36, 44,139, 76, 36,
/* 0x1a80 */ 48,137, 57, 43,116, 36, 36,137,116, 36, 28, 97,195, 93,141,117,
/* 0x1a90 */ 243, 15,183, 69, 0,141, 77, 2, 81, 1,197,137,242,137,247,173,
/* 0x1aa0 */ 41,199,137,241,173, 41,193, 81, 41,202, 82, 87,233,199, 0, 0,
/* 0x1ab0 */ 0, 91,141,119, 28, 41,201, 1,206,139, 78, 4,131, 62, 1,117,
/* 0x1ac0 */ 246,129,126, 10, 76, 73, 78, 75,117,237,129,126, 14, 69, 68, 73,
/* 0x1ad0 */ 84,117,228,139, 78, 24,137,222,106, 5,173, 80,137,226, 81,255,
/* 0x1ae0 */ 118, 4, 82, 81,173, 80,173, 86,255,213,131,196, 20, 95, 87, 87,
/* 0x1af0 */ 176, 74, 15,182,192,137,225, 13, 0, 0, 12, 0,232, 12, 0, 0,
/* 0x1b00 */ 0,115, 3,131,200,255,194, 12, 0,176, 4,235,229, 90, 15, 52,
/* 0x1b10 */ 96,137,230,139, 68, 36, 36,131,236,120,137,231, 80,176, 10,170,
/* 0x1b20 */ 88,170,193,232, 8,117,250,106, 8, 88, 80,176, 32,232, 28, 0,
/* 0x1b30 */ 0, 0, 88, 72,117,244,176, 10,170,151, 41,224,137,225, 80, 81,
/* 0x1b40 */ 106, 2,232,194,255,255,255,131,196,120, 97,194, 4, 0,170,173,
/* 0x1b50 */ 232, 16, 0, 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97,
/* 0x1b60 */ 98, 99,100,101,102, 91,106, 8, 89,193,192, 4,137,194,131,224,
/* 0x1b70 */ 15,215,170,146, 73,117,242,195,232, 52,255,255,255,102,105,108,
/* 0x1b80 */ 101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,105,
/* 0x1b90 */ 51, 56, 54, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,
/* 0x1ba0 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1bb0 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32,
/* 0x1bc0 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,
/* 0x1bd0 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,
/* 0x1be0 */ 108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, 67, 72, 77, 65, 73,
/* 0x1bf0 */ 78, 88, 32, 32, 32, 32, 32, 48, 53, 32, 32, 48, 32, 32, 48, 32,
/* 0x1c00 */ 32, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1c10 */ 69, 78, 84, 83, 10, 32, 32, 49, 32, 77, 65, 67, 72, 95, 85, 78,
/* 0x1c20 */ 67, 32, 32, 32, 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32,
/* 0x1c30 */ 48, 51, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1c40 */ 78, 84, 83, 10, 32, 32, 50, 32, 78, 82, 86, 95, 72, 69, 65, 68,
/* 0x1c50 */ 32, 32, 32, 32, 32, 32, 48,100, 97, 32, 32, 48, 32, 32, 48, 32,
/* 0x1c60 */ 32, 48, 51, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1c70 */ 69, 78, 84, 83, 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32,
/* 0x1c80 */ 32, 32, 32, 32, 32, 32, 32, 48,100, 56, 32, 32, 48, 32, 32, 48,
/* 0x1c90 */ 32, 32, 48, 49, 49, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1ca0 */ 78, 84, 69, 78, 84, 83, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68,
/* 0x1cb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 99, 99, 32, 32, 48, 32,
/* 0x1cc0 */ 32, 48, 32, 32, 48, 49,101, 98, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1cd0 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 53, 32, 78, 82, 86,
/* 0x1ce0 */ 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 98, 54, 32, 32,
/* 0x1cf0 */ 48, 32, 32, 48, 32, 32, 48, 50, 98, 55, 32, 32, 50, 42, 42, 48,
/* 0x1d00 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 54, 32, 76,
/* 0x1d10 */ 90, 77, 65, 95, 68, 69, 67, 48, 48, 32, 32, 32, 32, 48, 50,101,
/* 0x1d20 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 54,100, 32, 32, 50, 42,
/* 0x1d30 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 55,
/* 0x1d40 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48,
/* 0x1d50 */ 52, 56, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 57, 98, 32, 32,
/* 0x1d60 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32,
/* 0x1d70 */ 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32,
/* 0x1d80 */ 32, 48, 98, 51,101, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51,101,
/* 0x1d90 */ 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1da0 */ 83, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48,
/* 0x1db0 */ 32, 32, 32, 32, 48, 98, 51,101, 32, 32, 48, 32, 32, 48, 32, 32,
/* 0x1dc0 */ 48,102, 50, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1dd0 */ 69, 78, 84, 83, 10, 32, 49, 48, 32, 76, 90, 77, 65, 95, 68, 69,
/* 0x1de0 */ 67, 51, 48, 32, 32, 32, 32, 48, 49, 97, 32, 32, 48, 32, 32, 48,
/* 0x1df0 */ 32, 32, 48, 49, 97, 53,102, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1e00 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 49, 49, 32, 78, 82, 86, 95,
/* 0x1e10 */ 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 32, 32, 48, 32, 32,
/* 0x1e20 */ 48, 32, 32, 48, 49, 97, 55, 57, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1e30 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 49, 50, 32, 77, 65, 67,
/* 0x1e40 */ 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 48, 49, 52, 32, 32,
/* 0x1e50 */ 48, 32, 32, 48, 32, 32, 48, 49, 97, 55, 57, 32, 32, 50, 42, 42,
/* 0x1e60 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 49, 51, 32,
/* 0x1e70 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 48,102,
/* 0x1e80 */ 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 97, 56,100, 32, 32,
/* 0x1e90 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83,
/* 0x1ea0 */ 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48,
/* 0x1eb0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
/* 0x1ec0 */ 86, 95, 72, 69, 65, 68, 32, 48, 32, 78, 82, 86, 95, 72, 69, 65,
/* 0x1ed0 */ 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1ee0 */ 100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 48, 32, 77,
/* 0x1ef0 */ 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f00 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65,
/* 0x1f10 */ 73, 78, 90, 32, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 10,
/* 0x1aa0 */ 41,199,137,241,173, 41,193, 81, 41,202, 82, 87,235, 95, 91,141,
/* 0x1ab0 */ 119, 28, 41,201, 1,206,139, 78, 4,131, 62, 1,117,246,129,126,
/* 0x1ac0 */ 10, 76, 73, 78, 75,117,237,129,126, 14, 69, 68, 73, 84,117,228,
/* 0x1ad0 */ 139, 78, 24,137,222,106, 5,173, 80,137,226, 81,255,118, 4, 82,
/* 0x1ae0 */ 81,173, 80,173, 86,255,213,131,196, 20, 95, 87, 87,176, 74, 15,
/* 0x1af0 */ 182,192,137,225, 13, 0, 0, 12, 0,232, 12, 0, 0, 0,115, 3,
/* 0x1b00 */ 131,200,255,194, 12, 0,176, 4,235,229, 90, 15, 52,232,156,255,
/* 0x1b10 */ 255,255,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,
/* 0x1b20 */ 102, 51, 50, 45,105, 51, 56, 54, 10, 10, 83,101, 99,116,105,111,
/* 0x1b30 */ 110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32,
/* 0x1b40 */ 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32,
/* 0x1b50 */ 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32,
/* 0x1b60 */ 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,
/* 0x1b70 */ 103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 77, 65,
/* 0x1b80 */ 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 53, 32, 32,
/* 0x1b90 */ 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32,
/* 0x1ba0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 77, 65,
/* 0x1bb0 */ 67, 72, 95, 85, 78, 67, 32, 32, 32, 32, 32, 32, 48, 32, 32, 48,
/* 0x1bc0 */ 32, 32, 48, 32, 32, 48, 51, 57, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1bd0 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 50, 32, 78, 82, 86,
/* 0x1be0 */ 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,100, 97, 32, 32,
/* 0x1bf0 */ 48, 32, 32, 48, 32, 32, 48, 51, 57, 32, 32, 50, 42, 42, 48, 32,
/* 0x1c00 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 51, 32, 78, 82,
/* 0x1c10 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48,100, 56, 32,
/* 0x1c20 */ 32, 48, 32, 32, 48, 32, 32, 48, 49, 49, 51, 32, 32, 50, 42, 42,
/* 0x1c30 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 52, 32,
/* 0x1c40 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 99,
/* 0x1c50 */ 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,101, 98, 32, 32, 50,
/* 0x1c60 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32,
/* 0x1c70 */ 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1c80 */ 48, 98, 54, 32, 32, 48, 32, 32, 48, 32, 32, 48, 50, 98, 55, 32,
/* 0x1c90 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
/* 0x1ca0 */ 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 32, 32,
/* 0x1cb0 */ 32, 32, 48, 50,101, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 54,
/* 0x1cc0 */ 100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1cd0 */ 83, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
/* 0x1ce0 */ 32, 32, 32, 32, 48, 52, 56, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x1cf0 */ 51, 57, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1d00 */ 78, 84, 83, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x1d10 */ 49, 48, 32, 32, 32, 32, 48, 98, 51,101, 32, 32, 48, 32, 32, 48,
/* 0x1d20 */ 32, 32, 48, 51,101, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1d30 */ 78, 84, 69, 78, 84, 83, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95,
/* 0x1d40 */ 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 98, 51,101, 32, 32, 48,
/* 0x1d50 */ 32, 32, 48, 32, 32, 48,102, 50, 49, 32, 32, 50, 42, 42, 48, 32,
/* 0x1d60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 49, 48, 32, 76, 90,
/* 0x1d70 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 49, 97, 32,
/* 0x1d80 */ 32, 48, 32, 32, 48, 32, 32, 48, 49, 97, 53,102, 32, 32, 50, 42,
/* 0x1d90 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 49, 49,
/* 0x1da0 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48,
/* 0x1db0 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 97, 55, 57, 32, 32, 50,
/* 0x1dc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 49,
/* 0x1dd0 */ 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32,
/* 0x1de0 */ 48, 49, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 97, 55, 57,
/* 0x1df0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1e00 */ 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, 32,
/* 0x1e10 */ 32, 32, 32, 48, 56, 53, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,
/* 0x1e20 */ 97, 56,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1e30 */ 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69,
/* 0x1e40 */ 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1e50 */ 100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 48, 32, 78, 82,
/* 0x1e60 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1e70 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78,
/* 0x1e80 */ 89, 32, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, 48,
/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77,
/* 0x1ea0 */ 65, 67, 72, 77, 65, 73, 78, 90, 32, 48, 32, 77, 65, 67, 72, 77,
/* 0x1eb0 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x1ec0 */ 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32,
/* 0x1ed0 */ 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x1ee0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67,
/* 0x1ef0 */ 72, 95, 85, 78, 67, 32, 48, 32, 77, 65, 67, 72, 95, 85, 78, 67,
/* 0x1f00 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1f10 */ 32, 32, 78, 82, 86, 50, 69, 32, 48, 32, 78, 82, 86, 50, 69, 10,
/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1f30 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 48, 32, 77, 65, 67,
/* 0x1f40 */ 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1f50 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 95, 85, 78, 67,
/* 0x1f60 */ 32, 48, 32, 77, 65, 67, 72, 95, 85, 78, 67, 10, 48, 48, 48, 48,
/* 0x1f70 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86,
/* 0x1f80 */ 50, 69, 32, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48,
/* 0x1f90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
/* 0x1fa0 */ 68, 32, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,
/* 0x1fb0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66,
/* 0x1fc0 */ 32, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1fd0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1fe0 */ 69, 67, 48, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48,
/* 0x1ff0 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x2000 */ 100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 48, 32,
/* 0x2010 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48,
/* 0x2020 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65,
/* 0x2030 */ 95, 68, 69, 67, 49, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69,
/* 0x2040 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
/* 0x2050 */ 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32,
/* 0x2060 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48,
/* 0x2070 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90,
/* 0x2080 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 48, 32, 76, 90, 77, 65, 95,
/* 0x2090 */ 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x20a0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32,
/* 0x20b0 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48,
/* 0x20c0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72,
/* 0x20d0 */ 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48,
/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x20f0 */ 42, 85, 78, 68, 42, 32, 48, 32,108,122,109, 97, 95,115,116, 97,
/* 0x2100 */ 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, 48,
/* 0x2110 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42,
/* 0x2120 */ 32, 48, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, 48, 48,
/* 0x2130 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x2140 */ 85, 78, 68, 42, 32, 48, 32,108,122,109, 97, 95, 99, 95,108,101,
/* 0x2150 */ 110, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x2160 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,108,122,109, 97, 95,
/* 0x2170 */ 112,114,111,112,101,114,116,105,101,115, 10, 48, 48, 48, 48, 48,
/* 0x2180 */ 48, 49, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72,
/* 0x2190 */ 77, 65, 73, 78, 89, 32, 48, 32,101,110,100, 95,100,101, 99,111,
/* 0x21a0 */ 109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x1f30 */ 32, 78, 82, 86, 50, 68, 32, 48, 32, 78, 82, 86, 50, 68, 10, 48,
/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1f50 */ 78, 82, 86, 50, 66, 32, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48,
/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x1f70 */ 90, 77, 65, 95, 68, 69, 67, 48, 48, 32, 48, 32, 76, 90, 77, 65,
/* 0x1f80 */ 95, 68, 69, 67, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1f90 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70,
/* 0x1fa0 */ 48, 48, 32, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10,
/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1fc0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 48, 32, 76, 90,
/* 0x1fd0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1fe0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1ff0 */ 69, 67, 50, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50,
/* 0x2000 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x2010 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 48, 32,
/* 0x2020 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48,
/* 0x2030 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95,
/* 0x2040 */ 84, 65, 73, 76, 32, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10,
/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32,
/* 0x2060 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116,
/* 0x2070 */ 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32,
/* 0x2080 */ 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,108,122,109,
/* 0x2090 */ 97, 95,115,116, 97, 99,107, 95, 97,100,106,117,115,116, 10, 48,
/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x20b0 */ 42, 85, 78, 68, 42, 32, 48, 32,108,122,109, 97, 95,117, 95,108,
/* 0x20c0 */ 101,110, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x20d0 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,108,122,109, 97,
/* 0x20e0 */ 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x20f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,
/* 0x2100 */ 108,122,109, 97, 95,112,114,111,112,101,114,116,105,101,115, 10,
/* 0x2110 */ 48, 48, 48, 48, 48, 48, 49, 52, 32,103, 32, 32, 32, 32, 32, 32,
/* 0x2120 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 48, 32,101,110,100,
/* 0x2130 */ 95,100,101, 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76,
/* 0x2140 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32,
/* 0x2150 */ 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58,
/* 0x2160 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x2170 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x2180 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54,
/* 0x2190 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67,
/* 0x21a0 */ 72, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x21b0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x21c0 */ 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83,
/* 0x21d0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x21e0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x21f0 */ 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50,
/* 0x2200 */ 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78,
/* 0x2210 */ 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x2220 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69,
/* 0x2230 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x2240 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x2250 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99,100, 32, 82, 95, 51,
/* 0x2260 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78,
/* 0x2270 */ 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 54, 97,
/* 0x2280 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x2290 */ 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69,
/* 0x22a0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
/* 0x22b0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70,
/* 0x22c0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x22d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x22e0 */ 48, 48, 48, 48, 48, 99, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67,
/* 0x22f0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69,
/* 0x2300 */ 65, 68, 10, 48, 48, 48, 48, 48, 48, 54, 97, 32, 82, 95, 51, 56,
/* 0x2310 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65,
/* 0x2320 */ 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x2330 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x2340 */ 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x2350 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2360 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x2370 */ 97,100, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32,
/* 0x2380 */ 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48,
/* 0x2390 */ 48, 48, 48, 48, 53, 55, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51,
/* 0x23a0 */ 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73,
/* 0x23b0 */ 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
/* 0x23c0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65,
/* 0x23d0 */ 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x23e0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x23f0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x2400 */ 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32,
/* 0x2410 */ 32, 32, 32, 32, 32,108,122,109, 97, 95,115,116, 97, 99,107, 95,
/* 0x2420 */ 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, 48, 49, 52, 32,
/* 0x2430 */ 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2440 */ 32, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, 48, 48, 48,
/* 0x2450 */ 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32,
/* 0x2460 */ 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95, 99, 95,108,
/* 0x2470 */ 101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97, 32, 82, 95, 51, 56,
/* 0x2480 */ 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,
/* 0x2490 */ 109, 97, 95,112,114,111,112,101,114,116,105,101,115, 10
/* 0x21c0 */ 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x21d0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x21e0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99,
/* 0x21f0 */ 100, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32,
/* 0x2200 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48,
/* 0x2210 */ 48, 48, 48, 54, 97, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50,
/* 0x2220 */ 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78,
/* 0x2230 */ 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x2240 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68,
/* 0x2250 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x2260 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x2270 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99, 49, 32, 82, 95, 51,
/* 0x2280 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78,
/* 0x2290 */ 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 54, 97,
/* 0x22a0 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x22b0 */ 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69,
/* 0x22c0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
/* 0x22d0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70,
/* 0x22e0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x22f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x2300 */ 48, 48, 48, 48, 48, 97,100, 32, 82, 95, 51, 56, 54, 95, 80, 67,
/* 0x2310 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69,
/* 0x2320 */ 65, 68, 10, 48, 48, 48, 48, 48, 48, 53, 55, 32, 82, 95, 51, 56,
/* 0x2330 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65,
/* 0x2340 */ 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x2350 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x2360 */ 91, 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70,
/* 0x2370 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x2380 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x2390 */ 48, 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50,
/* 0x23a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,115,
/* 0x23b0 */ 116, 97, 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48,
/* 0x23c0 */ 48, 48, 49, 52, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32,
/* 0x23d0 */ 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,117, 95,108,101,
/* 0x23e0 */ 110, 10, 48, 48, 48, 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54,
/* 0x23f0 */ 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109,
/* 0x2400 */ 97, 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97,
/* 0x2410 */ 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x2420 */ 32, 32, 32,108,122,109, 97, 95,112,114,111,112,101,114,116,105,
/* 0x2430 */ 101,115, 10
};
+1169 -1169
View File
File diff suppressed because it is too large Load Diff
+1175 -1174
View File
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -141,7 +141,7 @@ no_memfd: // so try /dev/shm
O_RDWR= 2
O_DIRECTORY= 0200000 // 0x010000
O_TMPFILE= 020000000 // 0x400000
call 0f; .int 0700, O_RDWR|O_DIRECTORY|O_TMPFILE; .asciz "/dev/shm"; 0: pop %rsi
lea shm_param(%rip),%rsi
lodsl; xchg %eax,%arg3l
lodsl; push %rsi; xchg %eax,%arg2l
pop %arg1
@@ -301,10 +301,8 @@ sys_check:
cmp $-1<<12,%rax; jb 0f; hlt; 0:
ret
here: // OUT: %rdi= (2+ retaddrj) without disturbing shadow stack
mov (%rsp),%rdi
scasw // over jmp.s
ret
shm_param:
.int 0700, O_RDWR|O_DIRECTORY|O_TMPFILE; .asciz "/dev/shm"
getbit:
.byte 0xf3,0x0f,0x1e,0xfa // endbr64 // from "call *%rdx"
+1 -1
View File
@@ -441,6 +441,7 @@ static ElfW(Addr) // returns relocation constant
xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum, ElfW(Addr) *const p_brk)
{
ElfW(Addr) lo= ~0, hi= 0, addr = 0, p_align = 0x1000;
ElfW(Addr) page_mask = get_page_mask();
DPRINTF("xfind_pages %%x %%p %%d %%p %%p\\n", mflags, phdr, phnum, p_brk, page_mask);
for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type && phdr->p_memsz) {
if (phdr->p_vaddr < lo) {
@@ -453,7 +454,6 @@ xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum, ElfW(Addr) *cons
p_align = phdr->p_align;
}
} // end scan of PT_LOADs
ElfW(Addr) page_mask = get_page_mask();
size_t page_size = 0u - page_mask;
lo &= page_mask; // round down to page boundary
size_t len1 = page_mask & (hi - lo + page_size -1); // desired length
-1
View File
@@ -361,7 +361,6 @@ sysgo:
pop %edx // return address for sysenter
.byte 0x0f,0x34 // sysenter
#define DEBUG 1
#if DEBUG /*{*/
TRACE_BUFLEN=0x78
FD_STDERR=2
+3 -3
View File
@@ -2,8 +2,8 @@ file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 019b 0 0 040 2**0 CONTENTS
1 ELFMAINZ 04 0 0 01dc 2**2 CONTENTS
0 ELFMAINX 0195 0 0 040 2**0 CONTENTS
1 ELFMAINZ 04 0 0 01d8 2**2 CONTENTS
SYMBOL TABLE:
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
0000000000000000 l d ELFMAINX 0 ELFMAINX
@@ -12,7 +12,7 @@ SYMBOL TABLE:
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000085 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
0000000000000075 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
+3 -3
View File
@@ -8,13 +8,13 @@ Linker script and memory map
0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000000000 0x988
.text 0x0000000000000000 0x9a8
.text 0x0000000000000000 0x164 tmp/amd64-linux.elf-fold.o
0x000000000000015c get_page_mask
.text 0x0000000000000164 0x0 tmp/amd64-expand.o
.text 0x0000000000000164 0x824 tmp/amd64-linux.elf-main2.o
.text 0x0000000000000164 0x844 tmp/amd64-linux.elf-main2.o
0x00000000000002b9 underlay
0x0000000000000853 upx_main
0x0000000000000873 upx_main
.data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
+1 -1
View File
@@ -15,7 +15,7 @@ Idx Name Size VMA LMA File off Algn Flags
10 LZMA_DEC30 01a 0 0 01a5f 2**0 CONTENTS
11 NRV_TAIL 0 0 0 01a79 2**0 CONTENTS
12 MACHMAINY 014 0 0 01a79 2**0 CONTENTS
13 MACHMAINZ 0f0 0 0 01a8d 2**0 CONTENTS
13 MACHMAINZ 085 0 0 01a8d 2**0 CONTENTS
SYMBOL TABLE:
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d MACHMAINY 0 MACHMAINY
+5 -5
View File
@@ -8,17 +8,17 @@ Linker script and memory map
TARGET(elf64-powerpc)
.text 0x0000000000000000 0xe64
.text 0x0000000000000000 0xe6c
*(.text)
.text 0x0000000000000000 0xe64 tmp/powerpc64-linux.elf-fold.o
.text 0x0000000000000000 0xe6c tmp/powerpc64-linux.elf-fold.o
0x0000000000000014 get_page_mask
0x000000000000002c Pprotect
0x0000000000000050 Pmap
0x0000000000000074 Punmap
0x0000000000000c40 underlay
0x0000000000000ccc upx_main
0x0000000000000c48 underlay
0x0000000000000cd4 upx_main
*(.data)
.data 0x0000000000000e64 0x0 tmp/powerpc64-linux.elf-fold.o
.data 0x0000000000000e6c 0x0 tmp/powerpc64-linux.elf-fold.o
.data
LOAD tmp/powerpc64-linux.elf-fold.o
+5 -5
View File
@@ -8,17 +8,17 @@ Linker script and memory map
TARGET(elf64-powerpcle)
.text 0x0000000000000000 0xe90
.text 0x0000000000000000 0xe98
*(.text)
.text 0x0000000000000000 0xe90 tmp/powerpc64le-linux.elf-fold.o
.text 0x0000000000000000 0xe98 tmp/powerpc64le-linux.elf-fold.o
0x0000000000000014 get_page_mask
0x000000000000002c Pprotect
0x0000000000000050 Pmap
0x0000000000000074 Punmap
0x0000000000000c6c underlay
0x0000000000000cf8 upx_main
0x0000000000000c74 underlay
0x0000000000000d00 upx_main
*(.data)
.data 0x0000000000000e90 0x0 tmp/powerpc64le-linux.elf-fold.o
.data 0x0000000000000e98 0x0 tmp/powerpc64le-linux.elf-fold.o
.data
LOAD tmp/powerpc64le-linux.elf-fold.o