diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index 3544e218..108709bd 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -1060,8 +1060,6 @@ PackLinuxElf64amd::defineSymbols(Filter const *ft) { PackLinuxElf64::defineSymbols(ft); - unsigned const hlen = sz_elf_hdrs + sizeof(l_info) + sizeof(p_info); - // We want to know if compressed data, plus stub, plus a couple pages, // will fit below the uncompressed program in memory. But we don't // know the final total compressed size yet, so use the uncompressed @@ -1079,15 +1077,13 @@ PackLinuxElf64amd::defineSymbols(Filter const *ft) } lsize = /*getLoaderSize()*/ 64 * 1024; // XXX: upper bound; avoid circularity upx_uint64_t lo_va_stub = get_te64(&elfout.phdr[0].p_vaddr); - upx_uint64_t adrc; upx_uint64_t adrm; - upx_uint64_t adru; - upx_uint64_t adrx; - unsigned cntc; unsigned lenm; unsigned lenu; len += (7&-lsize) + lsize; - is_big = (lo_va_user < (lo_va_stub + len + 2*page_size)); + upx_uint64_t my_page_size = 4096u; + upx_uint64_t my_page_mask = -my_page_size; + is_big = (lo_va_user < (lo_va_stub + len + 2 * my_page_size)); if (is_pie || (is_big /*&& ehdri.ET_EXEC==get_te16(&ehdri.e_type)*/)) { // .e_entry is set later by PackLinuxElf64::updateLoader set_te64( &elfout.ehdr.e_entry, @@ -1095,44 +1091,20 @@ PackLinuxElf64amd::defineSymbols(Filter const *ft) set_te64(&elfout.phdr[0].p_vaddr, lo_va_user); set_te64(&elfout.phdr[0].p_paddr, lo_va_user); lo_va_stub = lo_va_user; - adrc = lo_va_stub; - adrm = getbrk(phdri, e_phnum); - adru = page_mask & (~page_mask + adrm); // round up to page boundary - adrx = adru + hlen; - lenm = page_size + len; - lenu = page_size + len; - cntc = len >> 3; // over-estimate; corrected at runtime + adrm = getbrk(phdri, e_phnum) - lo_va_user; + lenm = my_page_size + len; + lenu = my_page_size + len; } else { - adrm = lo_va_stub + len; - adrc = adrm; - adru = lo_va_stub; - adrx = lo_va_stub + hlen; - lenm = page_size; - lenu = page_size + len; - cntc = 0; + adrm = len; + lenm = my_page_size; + lenu = my_page_size + len; } - adrm = page_mask & (~page_mask + adrm); // round up to page boundary - adrc = page_mask & (~page_mask + adrc); // round up to page boundary - - //linker->defineSymbol("ADRX", adrx); // compressed input for eXpansion - ACC_UNUSED(adrx); - - // For actual moving, we need the true count, which depends on sz_pack2 - // and is not yet known. So the runtime stub detects "no move" - // if adrm==adrc, and otherwise uses actual sz_pack2 to compute cntc. - //linker->defineSymbol("CNTC", cntc); // count for copy - ACC_UNUSED(cntc); + adrm = my_page_mask & (~my_page_mask + adrm); // round up to page boundary linker->defineSymbol("LENU", lenu); // len for unmap - //linker->defineSymbol("ADRC", adrc); // addr for copy - //linker->defineSymbol("ADRU", adru); // addr for unmap - ACC_UNUSED(adru); -#define EI_NIDENT 16 /* */ - linker->defineSymbol("JMPU", EI_NIDENT -4 + lo_va_user); // unmap trampoline -#undef EI_NIDENT linker->defineSymbol("LENM", lenm); // len for map - linker->defineSymbol("ADRM", adrm); // addr for map + linker->defineSymbol("ADRM", adrm); // offset from &Elf64_Ehdr //linker->dumpSymbols(); // debug } @@ -3769,7 +3741,7 @@ void PackLinuxElf64::pack4(OutputFile *fo, Filter &ft) if (Elf64_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) { upx_uint64_t const base= get_te64(&elfout.phdr[0].p_vaddr); set_te16(&elfout.ehdr.e_type, Elf64_Ehdr::ET_DYN); - set_te16(&elfout.ehdr.e_phnum, 1); + //set_te16(&elfout.ehdr.e_phnum, 1); set_te64( &elfout.ehdr.e_entry, get_te64(&elfout.ehdr.e_entry) - base); set_te64(&elfout.phdr[0].p_vaddr, get_te64(&elfout.phdr[0].p_vaddr) - base); diff --git a/src/stub/amd64-linux.elf-entry.h b/src/stub/amd64-linux.elf-entry.h index c4d9f310..a4407519 100644 --- a/src/stub/amd64-linux.elf-entry.h +++ b/src/stub/amd64-linux.elf-entry.h @@ -1,5 +1,5 @@ /* amd64-linux.elf-entry.h - created from amd64-linux.elf-entry.bin, 10119 (0x2787) bytes + created from amd64-linux.elf-entry.bin, 10026 (0x272a) bytes This file is part of the UPX executable compressor. @@ -31,11 +31,11 @@ */ -#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 10119 -#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xb1ef104c -#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xb46dbf18 +#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 10026 +#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xe06ffbe3 +#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x4af23ebf -unsigned char stub_amd64_linux_elf_entry[10119] = { +unsigned char stub_amd64_linux_elf_entry[10026] = { /* 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,144, 24, 0, 0, 0, 0, 0, 0, @@ -410,13 +410,13 @@ unsigned char stub_amd64_linux_elf_entry[10119] = { /* 0x1730 */ 97,105,108,101,100, 46, 10, 0, 94,106, 2, 95,106, 1, 88, 15, /* 0x1740 */ 5,106,127, 95,106, 60, 88, 15, 5, 94,173,146, 86, 91, 72,141, /* 0x1750 */ 69,247, 68,139, 56, 76, 41,248, 80, 65, 41,215, 72,141, 12, 16, -/* 0x1760 */ 104, 0, 0, 0, 0, 80,104, 0, 0, 0, 0, 81, 65, 87, 72,141, -/* 0x1770 */ 184, 0, 0, 0, 0,106, 7, 90,190, 0, 0, 0, 0,106, 50, 65, -/* 0x1780 */ 90, 69, 41,192,106, 9, 88, 15, 5, 72, 57,199, 15,133, 0, 0, -/* 0x1790 */ 0, 0, 72,139,116, 36, 24, 72,137,250, 72, 41,242, 72, 1,213, -/* 0x17a0 */ 72, 1, 84, 36, 8, 72, 1, 84, 36, 24, 72,137,217, 72, 41,241, -/* 0x17b0 */ 72,193,233, 3,252,243, 72,165, 72,151, 72,137,222, 80, 72,146, -/* 0x17c0 */ 173, 80, 72,137,225,173,151,173, 68, 15,182,192, 72,135,254,255, +/* 0x1760 */ 80,104, 0, 0, 0, 0, 81, 65, 87, 72,141,184, 0, 0, 0, 0, +/* 0x1770 */ 106, 7, 90,190, 0, 0, 0, 0,106, 50, 65, 90, 69, 41,192,106, +/* 0x1780 */ 9, 88, 15, 5, 72, 57,199, 15,133, 0, 0, 0, 0, 72,129,254, +/* 0x1790 */ 0, 16, 0, 0,118, 38, 72,139,116, 36, 24, 87, 90, 72, 41,242, +/* 0x17a0 */ 72, 1,213, 72, 1, 84, 36, 8, 72, 1, 84, 36, 24, 83, 89, 72, +/* 0x17b0 */ 41,241, 72,193,233, 3,252,243, 72,165, 72,151, 83, 94, 80, 80, +/* 0x17c0 */ 90,173, 80, 84, 89,173,151,173, 68, 15,182,192, 72,135,254,255, /* 0x17d0 */ 213, 89,195, 93,232, 0, 0, 0, 0, 0, 0, 0, 0,102,105,108, /* 0x17e0 */ 101, 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,120, /* 0x17f0 */ 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, @@ -565,108 +565,102 @@ unsigned char stub_amd64_linux_elf_entry[10119] = { /* 0x20e0 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x20f0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x2100 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2110 */ 48, 48, 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2110 */ 48, 48, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2130 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 85, 10, 48, 48, 48, +/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, /* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x2160 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, -/* 0x2170 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, +/* 0x2170 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, /* 0x2180 */ 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2190 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x21a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21b0 */ 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x21d0 */ 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, -/* 0x21f0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2200 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x2210 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, -/* 0x2220 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2230 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x2240 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 88, -/* 0x2250 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, -/* 0x2260 */ 76, 70, 77, 65, 73, 78, 90,117, 43, 48,120, 48, 48, 48, 48, 48, -/* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 54,102, 10, 10, 82, 69, 76, -/* 0x2280 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x2290 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, -/* 0x22a0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x22b0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x22c0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22d0 */ 48, 48, 48, 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x22e0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, -/* 0x22f0 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2300 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2310 */ 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, -/* 0x2320 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x2330 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2340 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x2350 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, -/* 0x2360 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x2370 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x2380 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x2390 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, -/* 0x23a0 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, -/* 0x23b0 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, -/* 0x23d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, -/* 0x23e0 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, -/* 0x23f0 */ 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102, -/* 0x2400 */ 102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, -/* 0x2410 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x2420 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, -/* 0x2430 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x2440 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2450 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2460 */ 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2470 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, -/* 0x2480 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2490 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24a0 */ 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, -/* 0x24b0 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x24c0 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x24d0 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x24e0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, -/* 0x24f0 */ 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x2500 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2510 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2520 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2530 */ 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, -/* 0x2540 */ 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, -/* 0x2550 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2560 */ 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x2570 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, -/* 0x2580 */ 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2590 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x25a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x25b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, -/* 0x25c0 */ 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x25d0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120,102, -/* 0x25e0 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, -/* 0x25f0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x2600 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, -/* 0x2610 */ 90,117, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x2620 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x2630 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x2640 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, -/* 0x2650 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, -/* 0x2660 */ 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2670 */ 48, 48, 48, 48, 48, 55, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2680 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, -/* 0x2690 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 32, 82, -/* 0x26a0 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 83, 32, 32, 32, 32, 32, -/* 0x26b0 */ 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x26c0 */ 48, 48, 48, 48, 49, 57, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x26d0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, -/* 0x26e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 55, 53, 32, 82, -/* 0x26f0 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, -/* 0x2700 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, -/* 0x2710 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 10, 48, 48, 48, -/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 55, 57, 32, 82, 95, -/* 0x2730 */ 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, -/* 0x2740 */ 79, 95, 66, 73, 78, 70, 79, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2750 */ 48, 48, 48, 48, 48, 48, 50,101, 32, 82, 95, 88, 56, 54, 95, 54, -/* 0x2760 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x2770 */ 73, 78, 89, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2780 */ 48, 48, 48, 48, 48,100, 10 +/* 0x21b0 */ 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, +/* 0x21c0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, +/* 0x21d0 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, +/* 0x21e0 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x21f0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2200 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2210 */ 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 88, 56, 54, 95, 54, 52, +/* 0x2220 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x2230 */ 78, 90,117, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2240 */ 48, 48, 48, 48, 54,102, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2250 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2260 */ 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, +/* 0x2270 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x2280 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x2290 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, +/* 0x22a0 */ 101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, +/* 0x22b0 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, +/* 0x22c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, +/* 0x22d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, +/* 0x22e0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x22f0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102, +/* 0x2300 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, +/* 0x2310 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2320 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, +/* 0x2330 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2340 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, 56, 54, 95, +/* 0x2370 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, +/* 0x2380 */ 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2390 */ 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23a0 */ 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, +/* 0x23b0 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, +/* 0x23c0 */ 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102, +/* 0x23d0 */ 102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x23e0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x23f0 */ 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, +/* 0x2400 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x2410 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x2420 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, +/* 0x2430 */ 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, +/* 0x2440 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, +/* 0x2450 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, +/* 0x2460 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 50, +/* 0x2470 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x2480 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102, +/* 0x2490 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, +/* 0x24a0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x24b0 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x24c0 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x24e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, +/* 0x2500 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2510 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, +/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 48, 10, 10, +/* 0x2530 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2540 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x2550 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, +/* 0x2560 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2570 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x2580 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 56, 32, 82, 95, 88, +/* 0x2590 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, +/* 0x25a0 */ 76, 70, 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102, +/* 0x25b0 */ 102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, +/* 0x25c0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x25d0 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90,117, 93, 58, 10, +/* 0x25e0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x25f0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2600 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 88, 56, 54, 95, +/* 0x2620 */ 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, +/* 0x2630 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2640 */ 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 83, 32, 32, +/* 0x2650 */ 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2660 */ 48, 48, 48, 48, 48, 48, 48, 49, 52, 32, 82, 95, 88, 56, 54, 95, +/* 0x2670 */ 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, +/* 0x2680 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 55, +/* 0x2690 */ 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, +/* 0x26a0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, +/* 0x26b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 10, +/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 55, 57, +/* 0x26d0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, +/* 0x26e0 */ 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10, 48, 48, 48, 48, 48, +/* 0x26f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 57, 32, 82, 95, 88, 56, +/* 0x2700 */ 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, +/* 0x2710 */ 70, 77, 65, 73, 78, 89, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, +/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48,100, 10 }; diff --git a/src/stub/amd64-linux.elf-fold.h b/src/stub/amd64-linux.elf-fold.h index 5fb1ab61..a383810d 100644 --- a/src/stub/amd64-linux.elf-fold.h +++ b/src/stub/amd64-linux.elf-fold.h @@ -1,5 +1,5 @@ /* amd64-linux.elf-fold.h - created from amd64-linux.elf-fold.bin, 1924 (0x784) bytes + created from amd64-linux.elf-fold.bin, 1920 (0x780) bytes This file is part of the UPX executable compressor. @@ -31,20 +31,20 @@ */ -#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 1924 -#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x0aead9dc -#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xeee592b2 +#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 1920 +#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xc4cbd98b +#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xd4393110 -unsigned char stub_amd64_linux_elf_fold[1924] = { +unsigned char stub_amd64_linux_elf_fold[1920] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, -/* 0x0060 */ 132, 7, 0, 0, 0, 0, 0, 0,132, 7, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 128, 7, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 132, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 128, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0, @@ -54,107 +54,106 @@ unsigned char stub_amd64_linux_elf_fold[1924] = { /* 0x00f0 */ 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206, /* 0x0100 */ 115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, /* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 65, 89, 72,137,230, 72, -/* 0x0120 */ 141,190,240,239,255,255, 72,137,252,106, 7, 89,243, 72,165, 72, +/* 0x0120 */ 141,190,240,239,255,255, 72,137,252,106, 6, 89,243, 72,165, 72, /* 0x0130 */ 131, 62, 0, 72,165,117,248, 72,137,250, 72,171, 72,131, 62, 0, /* 0x0140 */ 72,165,117,248, 87, 72,131, 62, 0, 72,165, 72,165,117,246, 76, /* 0x0150 */ 141,127,248, 72,137, 58,184, 32, 32, 32, 61,171,186, 0, 16, 0, /* 0x0160 */ 0, 72,137,254, 76,137,207,106, 89, 88, 15, 5,133,192,120, 4, -/* 0x0170 */ 198, 4, 6, 0, 73,131,193, 15, 89, 94, 95, 72,139, 68, 36, 24, -/* 0x0180 */ 72,129,236, 0, 8, 0, 0, 72,137,226, 73,137,232, 80,232, 91, -/* 0x0190 */ 4, 0, 0, 90, 72,129,196, 0, 8, 0, 0, 94, 95, 89, 89, 80, -/* 0x01a0 */ 106, 11, 88, 65,255, 39,176, 11,235, 13,176, 10,235, 9,176, 12, -/* 0x01b0 */ 235, 5,176, 9, 73,137,202, 15,182,192, 15, 5, 72, 61, 0,240, -/* 0x01c0 */ 255,255,114, 4, 72,131,200,255,195,176, 0,235,234,176, 2,235, -/* 0x01d0 */ 230,176, 3,235,226,176, 60,235,222, 0, 0, 0, 81, 72, 57, 23, -/* 0x01e0 */ 76,139, 71, 8, 72,141, 74,255,115, 10,191,127, 0, 0, 0,232, -/* 0x01f0 */ 225,255,255,255, 72,131,249,255,116, 17, 65, 15,182, 0, 72,255, -/* 0x0200 */ 201, 73,255,192,136, 6, 72,255,198,235,233, 72, 1, 87, 8, 72, -/* 0x0210 */ 41, 23, 88,195, 65, 85, 73,137,213, 65, 84, 73,137,204, 85, 72, -/* 0x0220 */ 137,253, 83, 72,137,243, 72,131,236, 40, 72,131, 62, 0, 15,132, -/* 0x0230 */ 226, 0, 0, 0, 72,141,116, 36, 16,186, 12, 0, 0, 0, 72,137, -/* 0x0240 */ 239,232,150,255,255,255,139, 84, 36, 16,139,116, 36, 20,133,210, -/* 0x0250 */ 117, 21,129,254, 85, 80, 88, 33,117, 17, 72,131,125, 0, 0, 15, -/* 0x0260 */ 132,177, 0, 0, 0,235, 4,133,246,117, 10,191,127, 0, 0, 0, -/* 0x0270 */ 232, 96,255,255,255, 57,214,119,242,137,208, 72, 59, 3,119,235, -/* 0x0280 */ 57,214, 72,139, 67, 8,115,104,137, 84, 36, 12, 72,139,125, 8, -/* 0x0290 */ 72,141, 76, 36, 12, 68,139, 68, 36, 24, 72,137,194, 65,255,213, -/* 0x02a0 */ 133,192,117,199,139,116, 36, 12, 59,116, 36, 16,117,189, 15,182, -/* 0x02b0 */ 76, 36, 25,132,201, 15,149,194, 49,192, 77,133,228, 15,149,192, -/* 0x02c0 */ 133,194,116, 30,129,254, 0, 2, 0, 0,119, 7,137,240, 72, 57, -/* 0x02d0 */ 3,117, 15, 15,182, 84, 36, 26, 15,182,201, 72,139,123, 8, 65, -/* 0x02e0 */ 255,212,139, 68, 36, 20, 72, 1, 69, 8, 72, 41, 69, 0,235, 13, -/* 0x02f0 */ 137,242, 72,137,239, 72,137,198,232,223,254,255,255,139, 84, 36, -/* 0x0300 */ 16, 72,139, 3, 72, 1, 83, 8, 72, 41,208, 72,133,192, 72,137, -/* 0x0310 */ 3,233, 24,255,255,255, 72,131,196, 40, 91, 93, 65, 92, 65, 93, -/* 0x0320 */ 195, 72,133,255, 73,137,208,116, 41, 72,139, 7,137,241, 72, 57, -/* 0x0330 */ 200,116, 17, 72,255,200, 15,148,194, 49,192,133,246, 15,149,192, -/* 0x0340 */ 133,194,116, 8, 72,137, 15, 76,137, 71, 8,195, 72,131,199, 16, -/* 0x0350 */ 235,215,195, 65, 87,184, 0, 0, 0, 0, 73,137,255, 65, 86, 65, -/* 0x0360 */ 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104, 76, 3,103, 32, -/* 0x0370 */ 102,131,127, 16, 3,137, 84, 36, 60, 15,183, 87, 56, 72,137, 76, -/* 0x0380 */ 36, 48,185, 16, 0, 0, 0, 72,137,116, 36, 64, 76,137, 68, 36, -/* 0x0390 */ 40, 76,137, 76, 36, 32, 15, 68,200, 76,137,230, 72,131,205,255, -/* 0x03a0 */ 49,219,131,193, 34,255,202,120, 33,131, 62, 1,117, 22, 72,139, -/* 0x03b0 */ 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40, 72, 57,195, -/* 0x03c0 */ 72, 15, 66,216, 72,131,198, 56,235,219, 72,129,229, 0,240,255, -/* 0x03d0 */ 255, 49,210, 69, 49,201, 72, 41,235, 65,131,200,255, 72,137,239, -/* 0x03e0 */ 72,129,195,255, 15, 0, 0, 72,129,227, 0,240,255,255, 72,137, -/* 0x03f0 */ 222,232,188,253,255,255, 72,141, 20, 24, 72, 41,232,102, 65,131, -/* 0x0400 */ 127, 56, 0, 72,137, 68, 36, 24,199, 68, 36, 20, 0, 0, 0, 0, -/* 0x0410 */ 72,137, 84, 36, 72, 15,132,155, 1, 0, 0, 72,131,124, 36, 64, -/* 0x0420 */ 0,116, 37, 65,131, 60, 36, 6,117, 30, 72,139, 84, 36, 24, 73, -/* 0x0430 */ 3, 84, 36, 16,190, 3, 0, 0, 0, 72,139,124, 36, 48,232,222, -/* 0x0440 */ 254,255,255,233, 87, 1, 0, 0, 65,131, 60, 36, 1, 15,133, 76, -/* 0x0450 */ 1, 0, 0, 72,139, 68, 36, 24, 73, 3, 68, 36, 16, 65,190, 64, -/* 0x0460 */ 98, 81,115, 65,139, 76, 36, 4, 65,131,200,255, 73,139, 84, 36, -/* 0x0470 */ 32, 72,137,197, 72,137, 68, 36, 88, 73,139, 68, 36, 40,131,225, -/* 0x0480 */ 7, 72,137,235, 72,137, 84, 36, 80,193,225, 2,129,227,255, 15, -/* 0x0490 */ 0, 0, 72, 1,232, 65,211,238, 72, 41,221, 72,137, 68, 36, 8, -/* 0x04a0 */ 73,139, 68, 36, 8, 65,131,230, 7, 76,141, 44, 26,185, 50, 0, -/* 0x04b0 */ 0, 0, 72, 41,216, 72,131,124, 36, 64, 0,117, 7, 68,139, 68, -/* 0x04c0 */ 36, 60,177, 18, 68,137,242, 73,137,193, 76,137,238,131,202, 2, -/* 0x04d0 */ 72,131,124, 36, 64, 0, 72,137,239, 65, 15, 68,214,232,208,252, -/* 0x04e0 */ 255,255, 72, 57,197,117,121, 72,131,124, 36, 64, 0,116, 25, 72, -/* 0x04f0 */ 139, 76, 36, 32, 72,139, 84, 36, 40, 72,141,116, 36, 80, 72,139, -/* 0x0500 */ 124, 36, 64,232, 12,253,255,255, 76,137,235, 72,247,219,129,227, -/* 0x0510 */ 255, 15, 0, 0, 65,246,198, 2,116, 13, 74,141,124, 45, 0, 49, -/* 0x0520 */ 192, 72,137,217,252,243,170, 72,131,124, 36, 64, 0,116, 59, 73, -/* 0x0530 */ 131,124, 36, 8, 0,117, 23, 72,139,124, 36, 48, 72,141, 85, 12, -/* 0x0540 */ 199, 69, 12, 15, 5,195,144, 49,246,232,211,253,255,255, 68,137, -/* 0x0550 */ 242, 76,137,238, 72,137,239,232, 78,252,255,255,133,192,116, 10, -/* 0x0560 */ 191,127, 0, 0, 0,232,107,252,255,255, 73,141, 68, 29, 0, 72, -/* 0x0570 */ 1,197, 72, 59,108, 36, 8,115, 38, 72, 41,108, 36, 8, 69, 49, -/* 0x0580 */ 201, 65,131,200,255, 72,139,116, 36, 8,185, 50, 0, 0, 0, 68, -/* 0x0590 */ 137,242, 72,137,239,232, 24,252,255,255, 72, 57,197,117,193,255, -/* 0x05a0 */ 68, 36, 20, 65, 15,183, 71, 56, 73,131,196, 56, 57, 68, 36, 20, -/* 0x05b0 */ 15,140,101,254,255,255, 72,131,188, 36,160, 0, 0, 0, 0,116, -/* 0x05c0 */ 16, 72,139, 68, 36, 24, 72,139,148, 36,160, 0, 0, 0, 72,137, -/* 0x05d0 */ 2, 73,139, 87, 24, 72, 1, 84, 36, 24, 72,139, 68, 36, 24, 72, -/* 0x05e0 */ 131,196,104, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195, 65, 87, -/* 0x05f0 */ 77,137,207, 65, 86, 65, 85, 77,137,197, 65, 84, 73,137,212, 85, -/* 0x0600 */ 72,141,106, 64, 83, 72,137,203, 49,201, 72,131,236, 56,139, 7, -/* 0x0610 */ 72,137, 52, 36, 72,137,116, 36, 16, 72,141,116, 36, 32, 72,137, -/* 0x0620 */ 84, 36, 40, 72,137,124, 36, 8, 76,137,194, 72,137,124, 36, 24, -/* 0x0630 */ 72,137,231, 72,137, 68, 36, 32,232,215,251,255,255, 72,139, 85, -/* 0x0640 */ 16,190, 3, 0, 0, 0, 72,137,223, 72,131,194, 64,232,207,252, -/* 0x0650 */ 255,255, 73, 15,183, 84, 36, 56,190, 5, 0, 0, 0, 72,137,223, -/* 0x0660 */ 232,188,252,255,255, 69, 15,183,116, 36, 16, 65,131,254, 3,117, -/* 0x0670 */ 62, 72,139, 84, 36,112, 73, 3, 84, 36, 24,190, 9, 0, 0, 0, -/* 0x0680 */ 102, 65,199, 68, 36, 16, 2, 0, 72,137,223,232,145,252,255,255, -/* 0x0690 */ 65, 15,183, 68, 36, 56,133,192,116, 21, 72,139, 84, 36,112, 72, -/* 0x06a0 */ 1, 85, 16, 72, 1, 85, 24, 72,131,197, 56,255,200,117,240, 65, -/* 0x06b0 */ 83, 77,137,249, 77,137,232, 49,210, 72,137,217, 72,141, 68, 36, -/* 0x06c0 */ 120, 72,141,116, 36, 24, 76,137,231, 80,232,132,252,255,255, 65, -/* 0x06d0 */ 89, 65,131,254, 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, -/* 0x06e0 */ 9, 0, 0, 0, 72,137,223,232, 53,252,255,255, 69, 49,246,102, -/* 0x06f0 */ 65,131,124, 36, 56, 0, 73,141,108, 36, 64,116,117,131,125, 0, -/* 0x0700 */ 3,117, 93, 72,139,124, 36,112, 72, 3,125, 16, 49,210, 49,246, -/* 0x0710 */ 232,184,250,255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0, -/* 0x0720 */ 76,137,230,137,199,232,159,250,255,255, 72, 61, 0, 4, 0, 0, -/* 0x0730 */ 116, 10,191,127, 0, 0, 0,232,153,250,255,255, 65, 80, 49,246, -/* 0x0740 */ 69, 49,201, 69, 49,192, 49,201,106, 0,137,218, 76,137,231,232, -/* 0x0750 */ 255,251,255,255,137,223, 73,137,197,232,115,250,255,255, 94, 95, -/* 0x0760 */ 65, 15,183, 68, 36, 56, 65,255,198, 72,131,197, 56, 65, 57,198, -/* 0x0770 */ 114,139, 72,131,196, 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, -/* 0x0780 */ 94, 65, 95,195 +/* 0x0170 */ 198, 4, 6, 0, 73,131,193, 15, 89, 94, 95, 72,139, 68, 36, 16, +/* 0x0180 */ 72,129,236, 0, 8, 0, 0, 72,137,226, 73,137,232, 80,232, 87, +/* 0x0190 */ 4, 0, 0, 90, 72,129,196, 0, 8, 0, 0, 94, 95, 89, 80,106, +/* 0x01a0 */ 11, 88, 65,255, 39,176, 11,235, 13,176, 10,235, 9,176, 12,235, +/* 0x01b0 */ 5,176, 9, 73,137,202, 15,182,192, 15, 5, 72, 61, 0,240,255, +/* 0x01c0 */ 255,114, 4, 72,131,200,255,195,176, 0,235,234,176, 2,235,230, +/* 0x01d0 */ 176, 3,235,226,176, 60,235,222, 81, 72, 57, 23, 76,139, 71, 8, +/* 0x01e0 */ 72,141, 74,255,115, 10,191,127, 0, 0, 0,232,228,255,255,255, +/* 0x01f0 */ 72,131,249,255,116, 17, 65, 15,182, 0, 72,255,201, 73,255,192, +/* 0x0200 */ 136, 6, 72,255,198,235,233, 72, 1, 87, 8, 72, 41, 23, 88,195, +/* 0x0210 */ 65, 85, 73,137,213, 65, 84, 73,137,204, 85, 72,137,253, 83, 72, +/* 0x0220 */ 137,243, 72,131,236, 40, 72,131, 62, 0, 15,132,226, 0, 0, 0, +/* 0x0230 */ 72,141,116, 36, 16,186, 12, 0, 0, 0, 72,137,239,232,150,255, +/* 0x0240 */ 255,255,139, 84, 36, 16,139,116, 36, 20,133,210,117, 21,129,254, +/* 0x0250 */ 85, 80, 88, 33,117, 17, 72,131,125, 0, 0, 15,132,177, 0, 0, +/* 0x0260 */ 0,235, 4,133,246,117, 10,191,127, 0, 0, 0,232, 99,255,255, +/* 0x0270 */ 255, 57,214,119,242,137,208, 72, 59, 3,119,235, 57,214, 72,139, +/* 0x0280 */ 67, 8,115,104,137, 84, 36, 12, 72,139,125, 8, 72,141, 76, 36, +/* 0x0290 */ 12, 68,139, 68, 36, 24, 72,137,194, 65,255,213,133,192,117,199, +/* 0x02a0 */ 139,116, 36, 12, 59,116, 36, 16,117,189, 15,182, 76, 36, 25,132, +/* 0x02b0 */ 201, 15,149,194, 49,192, 77,133,228, 15,149,192,133,194,116, 30, +/* 0x02c0 */ 129,254, 0, 2, 0, 0,119, 7,137,240, 72, 57, 3,117, 15, 15, +/* 0x02d0 */ 182, 84, 36, 26, 15,182,201, 72,139,123, 8, 65,255,212,139, 68, +/* 0x02e0 */ 36, 20, 72, 1, 69, 8, 72, 41, 69, 0,235, 13,137,242, 72,137, +/* 0x02f0 */ 239, 72,137,198,232,223,254,255,255,139, 84, 36, 16, 72,139, 3, +/* 0x0300 */ 72, 1, 83, 8, 72, 41,208, 72,133,192, 72,137, 3,233, 24,255, +/* 0x0310 */ 255,255, 72,131,196, 40, 91, 93, 65, 92, 65, 93,195, 72,133,255, +/* 0x0320 */ 73,137,208,116, 41, 72,139, 7,137,241, 72, 57,200,116, 17, 72, +/* 0x0330 */ 255,200, 15,148,194, 49,192,133,246, 15,149,192,133,194,116, 8, +/* 0x0340 */ 72,137, 15, 76,137, 71, 8,195, 72,131,199, 16,235,215,195, 65, +/* 0x0350 */ 87,184, 0, 0, 0, 0, 73,137,255, 65, 86, 65, 85, 65, 84, 73, +/* 0x0360 */ 137,252, 85, 83, 72,131,236,104, 76, 3,103, 32,102,131,127, 16, +/* 0x0370 */ 3,137, 84, 36, 60, 15,183, 87, 56, 72,137, 76, 36, 48,185, 16, +/* 0x0380 */ 0, 0, 0, 72,137,116, 36, 64, 76,137, 68, 36, 40, 76,137, 76, +/* 0x0390 */ 36, 32, 15, 68,200, 76,137,230, 72,131,205,255, 49,219,131,193, +/* 0x03a0 */ 34,255,202,120, 33,131, 62, 1,117, 22, 72,139, 70, 16, 72, 57, +/* 0x03b0 */ 232, 72, 15, 66,232, 72, 3, 70, 40, 72, 57,195, 72, 15, 66,216, +/* 0x03c0 */ 72,131,198, 56,235,219, 72,129,229, 0,240,255,255, 49,210, 69, +/* 0x03d0 */ 49,201, 72, 41,235, 65,131,200,255, 72,137,239, 72,129,195,255, +/* 0x03e0 */ 15, 0, 0, 72,129,227, 0,240,255,255, 72,137,222,232,191,253, +/* 0x03f0 */ 255,255, 72,141, 20, 24, 72, 41,232,102, 65,131,127, 56, 0, 72, +/* 0x0400 */ 137, 68, 36, 24,199, 68, 36, 20, 0, 0, 0, 0, 72,137, 84, 36, +/* 0x0410 */ 72, 15,132,155, 1, 0, 0, 72,131,124, 36, 64, 0,116, 37, 65, +/* 0x0420 */ 131, 60, 36, 6,117, 30, 72,139, 84, 36, 24, 73, 3, 84, 36, 16, +/* 0x0430 */ 190, 3, 0, 0, 0, 72,139,124, 36, 48,232,222,254,255,255,233, +/* 0x0440 */ 87, 1, 0, 0, 65,131, 60, 36, 1, 15,133, 76, 1, 0, 0, 72, +/* 0x0450 */ 139, 68, 36, 24, 73, 3, 68, 36, 16, 65,190, 64, 98, 81,115, 65, +/* 0x0460 */ 139, 76, 36, 4, 65,131,200,255, 73,139, 84, 36, 32, 72,137,197, +/* 0x0470 */ 72,137, 68, 36, 88, 73,139, 68, 36, 40,131,225, 7, 72,137,235, +/* 0x0480 */ 72,137, 84, 36, 80,193,225, 2,129,227,255, 15, 0, 0, 72, 1, +/* 0x0490 */ 232, 65,211,238, 72, 41,221, 72,137, 68, 36, 8, 73,139, 68, 36, +/* 0x04a0 */ 8, 65,131,230, 7, 76,141, 44, 26,185, 50, 0, 0, 0, 72, 41, +/* 0x04b0 */ 216, 72,131,124, 36, 64, 0,117, 7, 68,139, 68, 36, 60,177, 18, +/* 0x04c0 */ 68,137,242, 73,137,193, 76,137,238,131,202, 2, 72,131,124, 36, +/* 0x04d0 */ 64, 0, 72,137,239, 65, 15, 68,214,232,211,252,255,255, 72, 57, +/* 0x04e0 */ 197,117,121, 72,131,124, 36, 64, 0,116, 25, 72,139, 76, 36, 32, +/* 0x04f0 */ 72,139, 84, 36, 40, 72,141,116, 36, 80, 72,139,124, 36, 64,232, +/* 0x0500 */ 12,253,255,255, 76,137,235, 72,247,219,129,227,255, 15, 0, 0, +/* 0x0510 */ 65,246,198, 2,116, 13, 74,141,124, 45, 0, 49,192, 72,137,217, +/* 0x0520 */ 252,243,170, 72,131,124, 36, 64, 0,116, 59, 73,131,124, 36, 8, +/* 0x0530 */ 0,117, 23, 72,139,124, 36, 48, 72,141, 85, 12,199, 69, 12, 15, +/* 0x0540 */ 5,195,144, 49,246,232,211,253,255,255, 68,137,242, 76,137,238, +/* 0x0550 */ 72,137,239,232, 81,252,255,255,133,192,116, 10,191,127, 0, 0, +/* 0x0560 */ 0,232,110,252,255,255, 73,141, 68, 29, 0, 72, 1,197, 72, 59, +/* 0x0570 */ 108, 36, 8,115, 38, 72, 41,108, 36, 8, 69, 49,201, 65,131,200, +/* 0x0580 */ 255, 72,139,116, 36, 8,185, 50, 0, 0, 0, 68,137,242, 72,137, +/* 0x0590 */ 239,232, 27,252,255,255, 72, 57,197,117,193,255, 68, 36, 20, 65, +/* 0x05a0 */ 15,183, 71, 56, 73,131,196, 56, 57, 68, 36, 20, 15,140,101,254, +/* 0x05b0 */ 255,255, 72,131,188, 36,160, 0, 0, 0, 0,116, 16, 72,139, 68, +/* 0x05c0 */ 36, 24, 72,139,148, 36,160, 0, 0, 0, 72,137, 2, 73,139, 87, +/* 0x05d0 */ 24, 72, 1, 84, 36, 24, 72,139, 68, 36, 24, 72,131,196,104, 91, +/* 0x05e0 */ 93, 65, 92, 65, 93, 65, 94, 65, 95,195, 65, 87, 77,137,207, 65, +/* 0x05f0 */ 86, 65, 85, 77,137,197, 65, 84, 73,137,212, 85, 72,141,106, 64, +/* 0x0600 */ 83, 72,137,203, 49,201, 72,131,236, 56,139, 7, 72,137, 52, 36, +/* 0x0610 */ 72,137,116, 36, 16, 72,141,116, 36, 32, 72,137, 84, 36, 40, 72, +/* 0x0620 */ 137,124, 36, 8, 76,137,194, 72,137,124, 36, 24, 72,137,231, 72, +/* 0x0630 */ 137, 68, 36, 32,232,215,251,255,255, 72,139, 85, 16,190, 3, 0, +/* 0x0640 */ 0, 0, 72,137,223, 72,131,194, 64,232,207,252,255,255, 73, 15, +/* 0x0650 */ 183, 84, 36, 56,190, 5, 0, 0, 0, 72,137,223,232,188,252,255, +/* 0x0660 */ 255, 69, 15,183,116, 36, 16, 65,131,254, 3,117, 62, 72,139, 84, +/* 0x0670 */ 36,112, 73, 3, 84, 36, 24,190, 9, 0, 0, 0,102, 65,199, 68, +/* 0x0680 */ 36, 16, 2, 0, 72,137,223,232,145,252,255,255, 65, 15,183, 68, +/* 0x0690 */ 36, 56,133,192,116, 21, 72,139, 84, 36,112, 72, 1, 85, 16, 72, +/* 0x06a0 */ 1, 85, 24, 72,131,197, 56,255,200,117,240, 65, 83, 77,137,249, +/* 0x06b0 */ 77,137,232, 49,210, 72,137,217, 72,141, 68, 36,120, 72,141,116, +/* 0x06c0 */ 36, 24, 76,137,231, 80,232,132,252,255,255, 65, 89, 65,131,254, +/* 0x06d0 */ 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, 9, 0, 0, 0, +/* 0x06e0 */ 72,137,223,232, 53,252,255,255, 69, 49,246,102, 65,131,124, 36, +/* 0x06f0 */ 56, 0, 73,141,108, 36, 64,116,117,131,125, 0, 3,117, 93, 72, +/* 0x0700 */ 139,124, 36,112, 72, 3,125, 16, 49,210, 49,246,232,187,250,255, +/* 0x0710 */ 255,133,192,137,195,120, 23,186, 0, 4, 0, 0, 76,137,230,137, +/* 0x0720 */ 199,232,162,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,191,127, +/* 0x0730 */ 0, 0, 0,232,156,250,255,255, 65, 80, 49,246, 69, 49,201, 69, +/* 0x0740 */ 49,192, 49,201,106, 0,137,218, 76,137,231,232,255,251,255,255, +/* 0x0750 */ 137,223, 73,137,197,232,118,250,255,255, 94, 95, 65, 15,183, 68, +/* 0x0760 */ 36, 56, 65,255,198, 72,131,197, 56, 65, 57,198,114,139, 72,131, +/* 0x0770 */ 196, 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 }; diff --git a/src/stub/src/amd64-linux.elf-entry.S b/src/stub/src/amd64-linux.elf-entry.S index afc00cab..f192ba57 100644 --- a/src/stub/src/amd64-linux.elf-entry.S +++ b/src/stub/src/amd64-linux.elf-entry.S @@ -245,11 +245,9 @@ unfold: // enter: %rbp= &decompress === &ret_main a R_X86_64_32S instead of R_X86_64_32 relocation type. Avoid that until tested. */ - .byte 0x68; .int JMPU // push $ JMPU (R_X86_64_32) push %rax // ADRU for unmap in fold; updated later .byte 0x68; .int LENU // push $ LENU (R_X86_64_32) #else - push $ JMPU // for unmap in fold push %rax // ADRU for unmap in fold; updated later push $ LENU // for unmap in fold #endif @@ -271,31 +269,32 @@ unfold: // enter: %rbp= &decompress === &ret_main push $ SYS_mmap; pop %rax syscall // %rax= result; trashes %rcx,%r11 only cmpq %rax,%rdi; jne msg_SELinux + cmpq $4096,%rsi; jna L80 // only 1 page: no move required movq 3*8(%rsp),%rsi // ADRU src for copy - movq %rdi,%rdx // ADRM + push %rdi; pop %rdx // ADRM subq %rsi,%rdx // (ADRM - ADRU) == relocation amount addq %rdx,%rbp // update &decompress addq %rdx,1*8(%rsp) // update ADRX addq %rdx,3*8(%rsp) // update ADRU - movq %rbx,%rcx // [&b_info] beyond end of decompressor + push %rbx; pop %rcx // [&b_info] beyond end of decompressor subq %rsi,%rcx // byte length shrq $3,%rcx // qwords to copy cld rep; movsq xchgq %rax,%rdi - +L80: /* Decompress the folded part of this stub, then execute it. */ - movq %rbx,%arg2 // &b_info - push %rax // ret_addr after decompression - xchgq %rax,%arg3 // %arg3= dst for unfolding - lodsl; push %rax // allocate slot on stack - movq %rsp,%arg4 // &len_dst ==> used by lzma for EOF + push %rbx; pop %arg2 // &b_info + push %rax // ret_addr after decompression + push %rax; pop %arg3 // dst for unfolding + lodsl; push %rax // allocate slot on stack + push %rsp; pop %arg4 // &len_dst ==> used by lzma for EOF lodsl; xchgl %eax,%arg1l // sz_cpr XXX: 4GB lodsl; movzbl %al,%arg5l // b_method - xchg %arg1,%arg2 + xchg %arg1,%arg2 call *%rbp // decompress - pop %rcx // discard len_dst + pop %rcx // discard len_dst ret main: diff --git a/src/stub/src/amd64-linux.elf-fold.S b/src/stub/src/amd64-linux.elf-fold.S index 2d4955a8..01057f80 100644 --- a/src/stub/src/amd64-linux.elf-fold.S +++ b/src/stub/src/amd64-linux.elf-fold.S @@ -59,7 +59,7 @@ __NR_readlink= 89 /* In: cld %rbp= &decompress - %rsp= &{LENX,ADRX,LENU,ADRU,JMPU,slide,argc,argv...,0,env...,0,auxv...,0...,strings} + %rsp= &{LENX,ADRX,LENU,ADRU,slide,argc,argv...,0,env...,0,auxv...,0...,strings} */ fold_begin: call L90 # push &L90a @@ -72,7 +72,7 @@ L90: movq %rsp,%rsi leaq -8 -4 -4 -4096(%rsi),%rdi # 8:ptr, 4:" =", 4:align, 4096:buffer movq %rdi,%rsp - push $7; pop %rcx; rep movsq # move LENX,ADRX,LENU,ADRU,JMPU,slide,argc + push $6; pop %rcx; rep movsq # move LENX,ADRX,LENU,ADRU,slide,argc 0: cmpq $0,(%rsi); movsq; jne 0b # move past argv movq %rdi,%arg3 # remember &new_env[0] @@ -97,7 +97,7 @@ L90: pop %arg4 # &Elf64_auxv pop %arg2 # LENX pop %arg1 # ADRX - mov 3*8(%rsp),%rax // slide + mov 2*8(%rsp),%rax // slide subq $ OVERHEAD,%rsp movq %rsp,%arg3 # &ELf64_Ehdr temporary space @@ -112,7 +112,6 @@ L90: addq $OVERHEAD,%rsp pop %arg2 # LENU pop %arg1 # ADRU - pop %rcx # JMPU [unused] pop %rcx # slide [unused] push %rax # &entry push $ __NR_munmap; pop %rax diff --git a/src/stub/tmp/amd64-linux.elf-entry.bin.dump b/src/stub/tmp/amd64-linux.elf-entry.bin.dump index 53df0cb7..b5a017bd 100644 --- a/src/stub/tmp/amd64-linux.elf-entry.bin.dump +++ b/src/stub/tmp/amd64-linux.elf-entry.bin.dump @@ -30,7 +30,6 @@ SYMBOL TABLE: 0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20 0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL 0000000000000000 g ELFMAINX 0000000000000000 _start -0000000000000000 *UND* 0000000000000000 JMPU 0000000000000000 *UND* 0000000000000000 LENU 0000000000000000 *UND* 0000000000000000 ADRM 0000000000000000 *UND* 0000000000000000 LENM @@ -65,10 +64,9 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZu]: OFFSET TYPE VALUE -0000000000000001 R_X86_64_32 JMPU -0000000000000007 R_X86_64_32 LENU -0000000000000011 R_X86_64_32S ADRM -0000000000000019 R_X86_64_32 LENM +0000000000000002 R_X86_64_32 LENU +000000000000000c R_X86_64_32S ADRM +0000000000000014 R_X86_64_32 LENM 0000000000000075 R_X86_64_PC32 ELFMAINZ+0x000000000000000d 0000000000000079 R_X86_64_32 O_BINFO -000000000000002e R_X86_64_PC32 ELFMAINY+0x000000000000000d +0000000000000029 R_X86_64_PC32 ELFMAINY+0x000000000000000d diff --git a/src/stub/tmp/amd64-linux.elf-fold.map b/src/stub/tmp/amd64-linux.elf-fold.map index 8148d559..67257a2d 100644 --- a/src/stub/tmp/amd64-linux.elf-fold.map +++ b/src/stub/tmp/amd64-linux.elf-fold.map @@ -8,31 +8,30 @@ Linker script and memory map 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x00000000001000bc 0x6c8 +.text 0x00000000001000bc 0x6c4 *(.text) - .text 0x00000000001000bc 0x11d tmp/amd64-linux.elf-fold.o - 0x00000000001001a6 munmap - 0x00000000001001b2 mmap - 0x00000000001001c9 read - 0x00000000001001d5 exit - 0x00000000001001ae brk - 0x00000000001001cd open - 0x00000000001001aa mprotect - 0x00000000001001d1 close - *fill* 0x00000000001001d9 0x3 00 - .text 0x00000000001001dc 0x5a8 tmp/amd64-linux.elf-main.o - 0x00000000001005ee upx_main + .text 0x00000000001000bc 0x11c tmp/amd64-linux.elf-fold.o + 0x00000000001001a5 munmap + 0x00000000001001b1 mmap + 0x00000000001001c8 read + 0x00000000001001d4 exit + 0x00000000001001ad brk + 0x00000000001001cc open + 0x00000000001001a9 mprotect + 0x00000000001001d0 close + .text 0x00000000001001d8 0x5a8 tmp/amd64-linux.elf-main.o + 0x00000000001005ea upx_main *(.data) - .data 0x0000000000100784 0x0 tmp/amd64-linux.elf-fold.o - .data 0x0000000000100784 0x0 tmp/amd64-linux.elf-main.o + .data 0x0000000000100780 0x0 tmp/amd64-linux.elf-fold.o + .data 0x0000000000100780 0x0 tmp/amd64-linux.elf-main.o .data -.bss 0x0000000000100784 0x0 - .bss 0x0000000000100784 0x0 tmp/amd64-linux.elf-fold.o - .bss 0x0000000000100784 0x0 tmp/amd64-linux.elf-main.o +.bss 0x0000000000100780 0x0 + .bss 0x0000000000100780 0x0 tmp/amd64-linux.elf-fold.o + .bss 0x0000000000100780 0x0 tmp/amd64-linux.elf-main.o -.rela.dyn 0x0000000000100788 0x0 +.rela.dyn 0x0000000000100780 0x0 .rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-main.o