WIP: variable page size for xfind_pages(); debug arm32 Android shlib
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arm.v4a-linux.elf-so_entry.S
modified: stub/src/i386-linux.elf-main2.c
plus generated *.h *.dump *.map
This commit is contained in:
parent
65c362efce
commit
7cb3f40dab
@ -570,7 +570,7 @@ off_t PackLinuxElf32::pack3(OutputFile *fo, Filter &ft)
|
||||
set_te32(&elfout.ehdr.e_entry, abrk + get_te32(&elfout.ehdr.e_entry) - vbase);
|
||||
}
|
||||
if (0!=xct_off) { // shared library
|
||||
unsigned const cpr_entry = (Elf32_Ehdr::EM_ARM==e_machine) + load_va + sz_pack2; // Thumb mode
|
||||
unsigned const cpr_entry = load_va + sz_pack2;
|
||||
set_te32(&file_image[user_init_off], cpr_entry); // set the hook
|
||||
|
||||
if (user_init_rp) { // decompressor needs hint for DT_INIT_ARRAY
|
||||
@ -760,7 +760,7 @@ off_t PackLinuxElf64::pack3(OutputFile *fo, Filter &ft)
|
||||
set_te64(&elfout.ehdr.e_entry, abrk + get_te64(&elfout.ehdr.e_entry) - vbase);
|
||||
}
|
||||
if (0!=xct_off) { // shared library
|
||||
u64_t const cpr_entry = (Elf64_Ehdr::EM_ARM==e_machine) + load_va + sz_pack2; // Thumb mode
|
||||
u64_t const cpr_entry = load_va + sz_pack2;
|
||||
set_te64(&file_image[user_init_off], cpr_entry); // set the hook
|
||||
|
||||
if (user_init_rp) { // decompressor needs hint for DT_INIT_ARRAY
|
||||
@ -4683,8 +4683,8 @@ void PackLinuxElf32::asl_pack2_Shdrs(OutputFile *fo, unsigned pre_xct_top)
|
||||
}
|
||||
|
||||
if (xct_off <= sh_offset && Elf32_Shdr::SHF_ALLOC & get_te32(&shdr->sh_flags)) {
|
||||
upx_uint32_t addr = get_te32(&shdr->sh_addr);
|
||||
set_te32(&shdr->sh_addr, asl_delta + addr);
|
||||
//upx_uint32_t addr = get_te32(&shdr->sh_addr);
|
||||
//set_te32(&shdr->sh_addr, asl_delta + addr);
|
||||
set_te32(&shdr->sh_offset, asl_delta + sh_offset);
|
||||
}
|
||||
switch (sh_type) {
|
||||
@ -4863,7 +4863,7 @@ void PackLinuxElf32::asl_pack2_Shdrs(OutputFile *fo, unsigned pre_xct_top)
|
||||
// Anyway, some Android have multiple SHT_NOTE sections.
|
||||
if (xct_off <= sh_offset) {
|
||||
upx_uint32_t pos = xct_off + e_shnum * sizeof(Elf32_Shdr);
|
||||
set_te32(&shdr->sh_addr, pos);
|
||||
//set_te32(&shdr->sh_addr, pos);
|
||||
set_te32(&shdr->sh_offset, pos);
|
||||
}
|
||||
}
|
||||
@ -5844,7 +5844,7 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho)
|
||||
unsigned sh_type = get_te32(&sh_in->sh_type);
|
||||
unsigned sh_info = get_te32(&sh_in->sh_info);
|
||||
unsigned sh_flags = get_te32(&sh_in->sh_flags);
|
||||
unsigned sh_addr = get_te32(&sh_in->sh_addr);
|
||||
//unsigned sh_addr = get_te32(&sh_in->sh_addr);
|
||||
unsigned sh_offset = get_te32(&sh_in->sh_offset);
|
||||
unsigned sh_size = get_te32(&sh_in->sh_size);
|
||||
unsigned sh_name = get_te32(&sh_in->sh_name);
|
||||
@ -5866,7 +5866,7 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho)
|
||||
if (sh_offset > xct_off) { // may slide down: earlier compression
|
||||
if (sh_offset >= xct_off_hi) { // easy: so_slide down
|
||||
if (sh_out->sh_addr) // change only if non-zero
|
||||
set_te32(&sh_out->sh_addr, so_slide + sh_addr);
|
||||
//set_te32(&sh_out->sh_addr, so_slide + sh_addr);
|
||||
set_te32(&sh_out->sh_offset, so_slide + sh_offset);
|
||||
}
|
||||
else { // somewhere in compressed; try proportional (aligned)
|
||||
@ -5875,7 +5875,7 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho)
|
||||
u32_t const slice = xct_off + (~0xFu & (unsigned)(
|
||||
(sh_offset - xct_off) *
|
||||
((sh_offset - xct_off) / (float)(xct_off_hi - xct_off))));
|
||||
set_te32(&sh_out->sh_addr, slice);
|
||||
//set_te32(&sh_out->sh_addr, slice);
|
||||
set_te32(&sh_out->sh_offset, slice);
|
||||
}
|
||||
u32_t const max_sz = total_out - get_te32(&sh_out->sh_offset);
|
||||
|
||||
150
src/stub/amd64-linux.elf-entry.h
generated
150
src/stub/amd64-linux.elf-entry.h
generated
@ -1,5 +1,5 @@
|
||||
/* amd64-linux.elf-entry.h
|
||||
created from amd64-linux.elf-entry.bin, 1169 (0x491) bytes
|
||||
created from amd64-linux.elf-entry.bin, 1149 (0x47d) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -32,83 +32,81 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1169
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xd7f05321
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x60350b68
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1149
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x64b64e40
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xb7cf8e69
|
||||
|
||||
unsigned char stub_amd64_linux_elf_entry[1169] = {
|
||||
unsigned char stub_amd64_linux_elf_entry[1149] = {
|
||||
/* 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, 48, 2, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 243, 15, 30,250, 89, 84, 95, 81,232,107, 1, 0, 0,232,102, 1,
|
||||
/* 0x0050 */ 0, 0, 72,139, 7, 72,139, 79, 8, 72,131,199, 16, 72,131,248,
|
||||
/* 0x0060 */ 6,116, 12, 72,199,193, 0, 16, 0, 0, 72,133,192,117,227, 72,
|
||||
/* 0x0070 */ 247,217, 81, 82,104,117,112,120, 0, 84, 95,190, 16, 0, 0, 0,
|
||||
/* 0x0080 */ 184, 63, 1, 0, 0, 15, 5,133,192,121, 45,133,246,116, 4, 49,
|
||||
/* 0x0090 */ 246,235,237,232, 17, 0, 0, 0,192, 1, 0, 0, 2, 0, 65, 0,
|
||||
/* 0x00a0 */ 47,100,101,118, 47,115,104,109, 0, 94,173,146,173, 86,150, 95,
|
||||
/* 0x00b0 */ 106, 2, 88,232, 13, 1, 0, 0, 73,137,196, 89, 72,141, 61,121,
|
||||
/* 0x00c0 */ 255,255,255,139, 15, 72, 41,207, 72,141, 53, 0, 0, 0, 0,173,
|
||||
/* 0x00d0 */ 147, 65,137,221,173,146,131,194, 16, 82,106,255, 87, 72, 41,217,
|
||||
/* 0x00e0 */ 81, 72, 1,251, 83, 84, 93, 72, 41,212, 72,131,228,192, 84, 95,
|
||||
/* 0x00f0 */ 173, 80,173,102,131,248, 2,116, 1,244, 88, 72, 1,240, 80, 85,
|
||||
/* 0x0100 */ 49,219, 49,201, 72,141, 21,207, 0, 0, 0,106,255, 93,252,168,
|
||||
/* 0x0110 */ 164,255,210,114,251,141, 65, 1,255,210, 17,192,255,210,115,248,
|
||||
/* 0x0120 */ 131,232, 3,114, 12,193,224, 8,172,131,240,255,116, 47, 72, 99,
|
||||
/* 0x0130 */ 232,141, 65, 1,255,210, 17,201,255,210, 17,201,117, 13,137,193,
|
||||
/* 0x0140 */ 131,192, 2,255,210, 17,201,255,210,115,248,129,253, 0,243,255,
|
||||
/* 0x0150 */ 255, 17,193, 86, 72,141, 52, 47,243,164, 94,235,180, 93, 89, 72,
|
||||
/* 0x0160 */ 57,206,116, 1,244, 72,139, 69, 48, 72,137, 4, 36, 72,139, 85,
|
||||
/* 0x0170 */ 32, 72,131,234, 16, 84, 94, 76,137,231, 82,106, 1, 88,232, 66,
|
||||
/* 0x0180 */ 0, 0, 0, 72, 1,198, 41,194,117,241, 94, 85, 92, 77, 49,201,
|
||||
/* 0x0190 */ 77,137,224,106, 1, 65, 90,106, 7, 90, 41,255,106, 9, 88,232,
|
||||
/* 0x01a0 */ 33, 0, 0, 0, 80, 72,137, 69, 24, 65, 80, 95,106, 3, 88, 15,
|
||||
/* 0x01b0 */ 5, 88, 72,131,192, 8,255,224, 72,139, 7, 72,131,199, 8, 72,
|
||||
/* 0x01c0 */ 133,192,117,244,195, 80, 15, 5, 89, 72, 61, 0,240,255,255,114,
|
||||
/* 0x01d0 */ 1,244,195, 72,139, 60, 36,102,175,195,243, 15, 30,250, 1,219,
|
||||
/* 0x01e0 */ 116, 2,243,195,139, 30, 72,131,238,252, 17,219,243,195, 0, 0,
|
||||
/* 0x01f0 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
|
||||
/* 0x0200 */ 101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101,
|
||||
/* 0x0210 */ 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101,
|
||||
/* 0x0220 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32,
|
||||
/* 0x0230 */ 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0240 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0250 */ 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102,
|
||||
/* 0x0260 */ 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32,
|
||||
/* 0x0270 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0280 */ 48, 49, 97,101, 32, 32, 48, 32, 32, 48, 32, 32, 48, 52, 48, 32,
|
||||
/* 0x0290 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
|
||||
/* 0x02a0 */ 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32,
|
||||
/* 0x02b0 */ 32, 32, 48, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,102, 48,
|
||||
/* 0x02c0 */ 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x02d0 */ 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48,
|
||||
/* 0x02e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x02f0 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x0300 */ 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48,
|
||||
/* 0x0310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
|
||||
/* 0x0320 */ 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,
|
||||
/* 0x0330 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
|
||||
/* 0x0350 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116,
|
||||
/* 0x0360 */ 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0370 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
|
||||
/* 0x0380 */ 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69,
|
||||
/* 0x0390 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x03a0 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58,
|
||||
/* 0x03b0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x03c0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x03d0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x03e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 56, 98, 32, 82, 95, 88, 56, 54,
|
||||
/* 0x03f0 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70,
|
||||
/* 0x0400 */ 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102,102,102,
|
||||
/* 0x0410 */ 102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x0420 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x0430 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x0440 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
/* 0x0450 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0460 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0470 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95,
|
||||
/* 0x0480 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79,
|
||||
/* 0x0490 */ 10
|
||||
/* 0x0040 */ 243, 15, 30,250, 89, 84, 95, 81, 82, 49,192, 72,175,117,252, 72,
|
||||
/* 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
|
||||
};
|
||||
|
||||
2174
src/stub/amd64-linux.elf-fold.h
generated
2174
src/stub/amd64-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
76
src/stub/arm.v4a-linux.elf-fold.h
generated
76
src/stub/arm.v4a-linux.elf-fold.h
generated
@ -33,8 +33,8 @@
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_ARM_V4A_LINUX_ELF_FOLD_SIZE 33364
|
||||
#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0xef05a6e5
|
||||
#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0xf375575b
|
||||
#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0x8d81aa08
|
||||
#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0xe6e608bf
|
||||
|
||||
unsigned char stub_arm_v4a_linux_elf_fold[33364] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -204,19 +204,19 @@ unsigned char stub_arm_v4a_linux_elf_fold[33364] = {
|
||||
/* 0x0a40 */ 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, 0, 0, 83,227,
|
||||
/* 0x0a50 */ 79, 2, 0, 26, 16,208,141,226, 48,128,189,232, 85, 80, 88, 33,
|
||||
/* 0x0a60 */ 240, 79, 45,233, 64,208, 77,226, 20, 0,141,229, 0, 0, 81,227,
|
||||
/* 0x0a70 */ 28, 0,144,229, 16, 16,141,229, 20, 16,157,229, 12, 32,141,229,
|
||||
/* 0x0a80 */ 0,176,129,224, 8, 48,141,229,176, 17,209,225,161, 2, 0, 10,
|
||||
/* 0x0a90 */ 100, 48,157,229, 0, 32,147,229, 52, 48,130,226, 40, 0,147,229,
|
||||
/* 0x0aa0 */ 2, 0, 81,227, 2,144, 96, 16, 9, 0,160, 17, 8, 0,147, 5,
|
||||
/* 0x0a70 */ 28, 0,144,229, 16, 16,141,229, 20, 16,157,229, 8, 48,141,229,
|
||||
/* 0x0a80 */ 12, 32,141,229, 0,176,129,224,176, 49,209,225,161, 2, 0, 10,
|
||||
/* 0x0a90 */ 100,192,157,229, 0, 32,156,229, 2, 0, 83,227, 52, 48,130,226,
|
||||
/* 0x0aa0 */ 40, 0,147,229, 2,144, 96, 16, 9, 0,160, 17, 8, 0,147, 5,
|
||||
/* 0x0ab0 */ 20, 16,147,229, 0,144,160, 3,254,255,255,235,229, 2, 0,234,
|
||||
/* 0x0ac0 */ 20,192,157,229,188, 50,220,225, 3, 0, 81,227, 16, 80,157,229,
|
||||
/* 0x0ad0 */ 16,144,160, 19, 0,144,160, 3, 1,192, 67,226, 11, 0,160,225,
|
||||
/* 0x0ae0 */ 0, 64,224,227, 1,170,160,227,189, 2, 0,234, 0, 48,144,229,
|
||||
/* 0x0af0 */ 1, 0, 83,227,187, 2, 0, 26, 20, 48,144,229, 0, 0, 83,227,
|
||||
/* 0x0b00 */ 187, 2, 0, 10, 8, 16,144,229, 28, 32,144,229, 1, 48,131,224,
|
||||
/* 0x0b10 */ 3, 0, 85,225, 3, 80,160, 49, 2, 0, 90,225, 2,160,160, 49,
|
||||
/* 0x0b20 */ 1, 0, 84,225, 1, 64,160, 33, 32, 0,128,226, 1,192, 76,226,
|
||||
/* 0x0b30 */ 0, 0, 92,227,172, 2, 0,170,254,255,255,235, 0,128, 4,224,
|
||||
/* 0x0ac0 */ 20, 16,157,229, 3, 0, 83,227,188, 66,209,225, 16,144,160, 19,
|
||||
/* 0x0ad0 */ 0,144,160, 3,254,255,255,235, 16, 80,157,229, 1, 64, 68,226,
|
||||
/* 0x0ae0 */ 11,192,160,225, 0,224,224,227, 1,170,160,227,190, 2, 0,234,
|
||||
/* 0x0af0 */ 0, 48,156,229, 1, 0, 83,227,188, 2, 0, 26, 20, 48,156,229,
|
||||
/* 0x0b00 */ 0, 0, 83,227,188, 2, 0, 10, 8, 16,156,229, 28, 32,156,229,
|
||||
/* 0x0b10 */ 1, 48,131,224, 3, 0, 85,225, 3, 80,160, 49, 2, 0, 90,225,
|
||||
/* 0x0b20 */ 2,160,160, 49, 1, 0, 94,225, 1,224,160, 33, 32,192,140,226,
|
||||
/* 0x0b30 */ 1, 64, 68,226, 0, 0, 84,227,173, 2, 0,170, 0,128, 14,224,
|
||||
/* 0x0b40 */ 5, 48,104,224, 0, 16, 96,226, 1, 48,131,224, 1, 48, 67,226,
|
||||
/* 0x0b50 */ 3,112, 0,224, 1, 64,160,227,201, 2, 0,234,132, 64,160,225,
|
||||
/* 0x0b60 */ 145, 4, 3,224, 10, 0, 83,225,200, 2, 0, 58, 1, 64, 68,226,
|
||||
@ -226,24 +226,24 @@ unsigned char stub_arm_v4a_linux_elf_fold[33364] = {
|
||||
/* 0x0ba0 */ 1, 32, 74,226, 0, 48, 96,226, 3, 64, 18,224,225, 2, 0, 10,
|
||||
/* 0x0bb0 */ 4, 16,160,225,254,255,255,235, 6, 96,100,224, 4, 80,133,224,
|
||||
/* 0x0bc0 */ 7, 16, 86,224, 7, 0,133, 16,254,255,255, 27, 5,144,104,224,
|
||||
/* 0x0bd0 */ 254,255,255,235, 32, 96,139,226, 0, 16,160,227, 32, 0,141,229,
|
||||
/* 0x0be0 */ 36, 16,141,229,219, 3, 0,234, 16, 32,157,229, 0, 0, 82,227,
|
||||
/* 0x0bd0 */ 254,255,255,235, 32, 96,139,226, 0, 32,160,227, 32, 0,141,229,
|
||||
/* 0x0be0 */ 36, 32,141,229,219, 3, 0,234, 16, 48,157,229, 0, 0, 83,227,
|
||||
/* 0x0bf0 */ 248, 2, 0, 10, 32, 48, 22,229, 6, 0, 83,227,248, 2, 0, 26,
|
||||
/* 0x0c00 */ 24, 32, 22,229, 2, 32,137,224, 0, 48,160,227, 8, 0,157,229,
|
||||
/* 0x0c10 */ 3, 16,160,227, 20, 2, 0,235,215, 3, 0,234, 32, 48, 22,229,
|
||||
/* 0x0c20 */ 1, 0, 83,227,215, 3, 0, 26, 12, 48, 22,229, 0, 0, 83,227,
|
||||
/* 0x0c30 */ 215, 3, 0, 10, 8, 48, 22,229,156, 35,159,229, 7, 48, 3,226,
|
||||
/* 0x0c40 */ 3, 49,160,225, 50, 35,160,225, 16, 48,157,229, 0, 0, 83,227,
|
||||
/* 0x0c40 */ 3, 49,160,225, 50, 35,160,225, 16,192,157,229, 0, 0, 92,227,
|
||||
/* 0x0c50 */ 7,160, 2,226, 31, 3, 0, 10, 28, 48, 22,229, 0, 0, 83,227,
|
||||
/* 0x0c60 */ 31, 3, 0, 26, 20,192,157,229, 24, 32, 22,229, 28, 48,156,229,
|
||||
/* 0x0c60 */ 31, 3, 0, 26, 20, 16,157,229, 24, 32, 22,229, 28, 48,145,229,
|
||||
/* 0x0c70 */ 3, 32,130,224, 2, 32,137,224, 0, 48,160,227, 8, 0,157,229,
|
||||
/* 0x0c80 */ 3, 16,160,227, 20, 2, 0,235, 20, 16,157,229,188, 34,209,225,
|
||||
/* 0x0c80 */ 3, 16,160,227, 20, 2, 0,235, 20,192,157,229,188, 34,220,225,
|
||||
/* 0x0c90 */ 8, 0,157,229, 0, 48,160,227, 5, 16,160,227, 20, 2, 0,235,
|
||||
/* 0x0ca0 */ 20,192,157,229,186, 34,220,225, 8, 0,157,229, 0, 48,160,227,
|
||||
/* 0x0cb0 */ 4, 16,160,227, 20, 2, 0,235, 24, 48, 22,229, 32, 16,157,229,
|
||||
/* 0x0cc0 */ 3, 48,137,224, 1, 16,224,225, 24, 48,141,229, 16, 32,157,229,
|
||||
/* 0x0cd0 */ 3, 48, 1,224, 16, 64, 22,229, 24,192,157,229, 28, 16,141,229,
|
||||
/* 0x0ce0 */ 12, 16, 22,229, 0, 0, 82,227, 56, 64,141,229, 60,192,141,229,
|
||||
/* 0x0ca0 */ 20, 16,157,229,186, 34,209,225, 8, 0,157,229, 0, 48,160,227,
|
||||
/* 0x0cb0 */ 4, 16,160,227, 20, 2, 0,235, 24, 48, 22,229, 3, 48,137,224,
|
||||
/* 0x0cc0 */ 24, 48,141,229, 32, 32,157,229, 24,192,157,229, 16, 48,157,229,
|
||||
/* 0x0cd0 */ 16, 64, 22,229, 2, 32,224,225, 12, 16, 22,229, 0, 0, 83,227,
|
||||
/* 0x0ce0 */ 12, 48, 2,224, 28, 32,141,229, 56, 64,141,229, 60,192,141,229,
|
||||
/* 0x0cf0 */ 44, 16,141,229, 3,176,132,224, 12,112, 99,224, 77, 3, 0, 10,
|
||||
/* 0x0d00 */ 8, 48, 22,229, 1, 80, 19,226, 65, 3, 0, 10, 7, 0,160,225,
|
||||
/* 0x0d10 */ 11, 16,160,225, 0, 32,160,227,254,255,255,235,255, 62,192,227,
|
||||
@ -864,9 +864,9 @@ unsigned char stub_arm_v4a_linux_elf_fold[33364] = {
|
||||
/* 0x3380 */ 240, 9, 0, 0, 1, 1, 0, 0,252, 9, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x3390 */ 28, 10, 0, 0, 1, 1, 0, 0, 88, 10, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33a0 */ 132, 10, 0, 0, 1, 15, 0, 0,136, 10, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33b0 */ 180, 10, 0, 0, 1, 1, 0, 0,192, 10, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33c0 */ 204, 10, 0, 0, 1, 1, 0, 0, 0, 11, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33d0 */ 4, 11, 0, 0, 1, 14, 0, 0, 36, 11, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33b0 */ 160, 10, 0, 0, 1, 14, 0, 0,184, 10, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33c0 */ 196, 10, 0, 0, 1, 1, 0, 0,208, 10, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33d0 */ 4, 11, 0, 0, 1, 1, 0, 0, 36, 11, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x33e0 */ 52, 11, 0, 0, 1, 1, 0, 0, 92, 11, 0, 0, 1, 25, 0, 0,
|
||||
/* 0x33f0 */ 104, 11, 0, 0, 1, 1, 0, 0,120, 11, 0, 0, 1, 1, 0, 0,
|
||||
/* 0x3400 */ 128, 11, 0, 0, 1, 15, 0, 0,148, 11, 0, 0, 1, 15, 0, 0,
|
||||
@ -1467,18 +1467,18 @@ unsigned char stub_arm_v4a_linux_elf_fold[33364] = {
|
||||
/* 0x5930 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,
|
||||
/* 0x5940 */ 117,110,109, 97,112, 10, 48, 48, 48, 48, 48, 97, 56, 56, 32, 82,
|
||||
/* 0x5950 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5960 */ 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 98, 52, 32,
|
||||
/* 0x5960 */ 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 97, 48, 32,
|
||||
/* 0x5970 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5980 */ 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 99, 48,
|
||||
/* 0x5990 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x59a0 */ 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 99,
|
||||
/* 0x59b0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
|
||||
/* 0x59c0 */ 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 98,
|
||||
/* 0x59d0 */ 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32,
|
||||
/* 0x59e0 */ 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x59f0 */ 98, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
|
||||
/* 0x5a00 */ 32, 32, 32, 32, 32, 32,103,101,116, 95,112, 97,103,101, 95,109,
|
||||
/* 0x5a10 */ 97,115,107, 10, 48, 48, 48, 48, 48, 98, 50, 52, 32, 82, 95, 65,
|
||||
/* 0x5980 */ 32, 32,103,101,116, 95,112, 97,103,101, 95,109, 97,115,107, 10,
|
||||
/* 0x5990 */ 48, 48, 48, 48, 48, 97, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80,
|
||||
/* 0x59a0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116,
|
||||
/* 0x59b0 */ 10, 48, 48, 48, 48, 48, 97, 99, 52, 32, 82, 95, 65, 82, 77, 95,
|
||||
/* 0x59c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,
|
||||
/* 0x59d0 */ 116, 10, 48, 48, 48, 48, 48, 97,100, 48, 32, 82, 95, 65, 82, 77,
|
||||
/* 0x59e0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,
|
||||
/* 0x59f0 */ 120,116, 10, 48, 48, 48, 48, 48, 98, 48, 52, 32, 82, 95, 65, 82,
|
||||
/* 0x5a00 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,
|
||||
/* 0x5a10 */ 101,120,116, 10, 48, 48, 48, 48, 48, 98, 50, 52, 32, 82, 95, 65,
|
||||
/* 0x5a20 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,
|
||||
/* 0x5a30 */ 116,101,120,116, 10, 48, 48, 48, 48, 48, 98, 51, 52, 32, 82, 95,
|
||||
/* 0x5a40 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
|
||||
1188
src/stub/arm.v4a-linux.elf-so_entry.h
generated
1188
src/stub/arm.v4a-linux.elf-so_entry.h
generated
File diff suppressed because it is too large
Load Diff
80
src/stub/arm.v5a-linux.elf-fold.h
generated
80
src/stub/arm.v5a-linux.elf-fold.h
generated
@ -33,8 +33,8 @@
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 33499
|
||||
#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0xd8aac59f
|
||||
#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x2c099552
|
||||
#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0x2625c8e9
|
||||
#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x571691e5
|
||||
|
||||
unsigned char stub_arm_v5a_linux_elf_fold[33499] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -205,19 +205,19 @@ unsigned char stub_arm_v5a_linux_elf_fold[33499] = {
|
||||
/* 0x0a50 */ 0, 48,148,229, 0, 0, 83,227, 82, 2, 0, 26, 16,208,141,226,
|
||||
/* 0x0a60 */ 48,128,189,232, 85, 80, 88, 33,240, 79, 45,233, 64,208, 77,226,
|
||||
/* 0x0a70 */ 20, 0,141,229, 0, 0, 81,227, 28, 0,144,229, 16, 16,141,229,
|
||||
/* 0x0a80 */ 20, 16,157,229, 12, 32,141,229, 0,176,129,224, 8, 48,141,229,
|
||||
/* 0x0a90 */ 176, 17,209,225,163, 2, 0, 10,100, 48,157,229, 2, 0, 81,227,
|
||||
/* 0x0aa0 */ 0, 32,147,229, 0,144,160, 3, 52, 48,130,226, 40, 0,147,229,
|
||||
/* 0x0a80 */ 20, 16,157,229, 8, 48,141,229, 12, 32,141,229, 0,176,129,224,
|
||||
/* 0x0a90 */ 176, 49,209,225,163, 2, 0, 10,100,192,157,229, 2, 0, 83,227,
|
||||
/* 0x0aa0 */ 0, 32,156,229, 0,144,160, 3, 52, 48,130,226, 40, 0,147,229,
|
||||
/* 0x0ab0 */ 20, 16,147,229, 2,144, 96, 16, 9, 0,160, 17, 8, 0,147, 5,
|
||||
/* 0x0ac0 */ 254,255,255,235,232, 2, 0,234, 20,192,157,229, 3, 0, 81,227,
|
||||
/* 0x0ad0 */ 188, 50,220,225, 16, 80,157,229, 16,144,160, 19, 0,144,160, 3,
|
||||
/* 0x0ae0 */ 1,192, 67,226, 11, 0,160,225, 0, 64,224,227, 1,170,160,227,
|
||||
/* 0x0af0 */ 191, 2, 0,234, 0, 48,144,229, 1, 0, 83,227,189, 2, 0, 26,
|
||||
/* 0x0b00 */ 20, 48,144,229, 0, 0, 83,227,189, 2, 0, 10, 8, 16,144,229,
|
||||
/* 0x0b10 */ 28, 32,144,229, 1, 48,131,224, 3, 0, 85,225, 3, 80,160, 49,
|
||||
/* 0x0b20 */ 2, 0, 90,225, 2,160,160, 49, 1, 0, 84,225, 1, 64,160, 33,
|
||||
/* 0x0b30 */ 32, 0,128,226, 1,192, 76,226, 0, 0, 92,227,174, 2, 0,170,
|
||||
/* 0x0b40 */ 254,255,255,235, 0,128, 4,224, 5, 48,104,224, 0, 16, 96,226,
|
||||
/* 0x0ac0 */ 254,255,255,235,232, 2, 0,234, 20, 16,157,229, 3, 0, 83,227,
|
||||
/* 0x0ad0 */ 188, 66,209,225, 16,144,160, 19, 0,144,160, 3,254,255,255,235,
|
||||
/* 0x0ae0 */ 16, 80,157,229, 1, 64, 68,226, 11,192,160,225, 0,224,224,227,
|
||||
/* 0x0af0 */ 1,170,160,227,192, 2, 0,234, 0, 48,156,229, 1, 0, 83,227,
|
||||
/* 0x0b00 */ 190, 2, 0, 26, 20, 48,156,229, 0, 0, 83,227,190, 2, 0, 10,
|
||||
/* 0x0b10 */ 8, 16,156,229, 28, 32,156,229, 1, 48,131,224, 3, 0, 85,225,
|
||||
/* 0x0b20 */ 3, 80,160, 49, 2, 0, 90,225, 2,160,160, 49, 1, 0, 94,225,
|
||||
/* 0x0b30 */ 1,224,160, 33, 32,192,140,226, 1, 64, 68,226, 0, 0, 84,227,
|
||||
/* 0x0b40 */ 175, 2, 0,170, 0,128, 14,224, 5, 48,104,224, 0, 16, 96,226,
|
||||
/* 0x0b50 */ 1, 48,131,224, 1, 48, 67,226, 3,112, 0,224, 1, 64,160,227,
|
||||
/* 0x0b60 */ 203, 2, 0,234,132, 64,160,225,145, 4, 3,224, 10, 0, 83,225,
|
||||
/* 0x0b70 */ 202, 2, 0, 58, 1, 64, 68,226,145,116, 38,224, 0,224,160,227,
|
||||
@ -227,24 +227,24 @@ unsigned char stub_arm_v5a_linux_elf_fold[33499] = {
|
||||
/* 0x0bb0 */ 3, 64, 18,224,227, 2, 0, 10, 4, 16,160,225,254,255,255,235,
|
||||
/* 0x0bc0 */ 6, 96,100,224, 4, 80,133,224, 7, 16, 86,224,231, 2, 0, 10,
|
||||
/* 0x0bd0 */ 7, 0,133,224,254,255,255,235, 5,144,104,224,254,255,255,235,
|
||||
/* 0x0be0 */ 32, 96,139,226, 0, 16,160,227, 32, 0,141,229, 36, 16,141,229,
|
||||
/* 0x0bf0 */ 222, 3, 0,234, 16, 32,157,229, 0, 0, 82,227,251, 2, 0, 10,
|
||||
/* 0x0be0 */ 32, 96,139,226, 0, 32,160,227, 32, 0,141,229, 36, 32,141,229,
|
||||
/* 0x0bf0 */ 222, 3, 0,234, 16, 48,157,229, 0, 0, 83,227,251, 2, 0, 10,
|
||||
/* 0x0c00 */ 32, 48, 22,229, 6, 0, 83,227,251, 2, 0, 26, 24, 32, 22,229,
|
||||
/* 0x0c10 */ 8, 0,157,229, 2, 32,137,224, 0, 48,160,227, 3, 16,160,227,
|
||||
/* 0x0c20 */ 23, 2, 0,235,218, 3, 0,234, 32, 48, 22,229, 1, 0, 83,227,
|
||||
/* 0x0c30 */ 218, 3, 0, 26, 12, 48, 22,229, 0, 0, 83,227,218, 3, 0, 10,
|
||||
/* 0x0c40 */ 8, 48, 22,229,156, 35,159,229, 7, 48, 3,226, 3, 49,160,225,
|
||||
/* 0x0c50 */ 50, 35,160,225, 16, 48,157,229, 7,160, 2,226, 0, 0, 83,227,
|
||||
/* 0x0c50 */ 50, 35,160,225, 16,192,157,229, 7,160, 2,226, 0, 0, 92,227,
|
||||
/* 0x0c60 */ 34, 3, 0, 10, 28, 48, 22,229, 0, 0, 83,227, 34, 3, 0, 26,
|
||||
/* 0x0c70 */ 20,192,157,229, 24, 32, 22,229, 28, 48,156,229, 8, 0,157,229,
|
||||
/* 0x0c70 */ 20, 16,157,229, 24, 32, 22,229, 28, 48,145,229, 8, 0,157,229,
|
||||
/* 0x0c80 */ 3, 32,130,224, 2, 32,137,224, 0, 48,160,227, 3, 16,160,227,
|
||||
/* 0x0c90 */ 23, 2, 0,235, 20, 16,157,229, 8, 0,157,229,188, 34,209,225,
|
||||
/* 0x0ca0 */ 5, 16,160,227, 0, 48,160,227, 23, 2, 0,235, 20,192,157,229,
|
||||
/* 0x0cb0 */ 8, 0,157,229,186, 34,220,225, 4, 16,160,227, 0, 48,160,227,
|
||||
/* 0x0cc0 */ 23, 2, 0,235, 24, 48, 22,229, 32, 16,157,229, 3, 48,137,224,
|
||||
/* 0x0cd0 */ 1, 16,224,225, 24, 48,141,229, 16, 32,157,229, 3, 48, 1,224,
|
||||
/* 0x0ce0 */ 16, 64, 22,229, 24,192,157,229, 28, 16,141,229, 12, 16, 22,229,
|
||||
/* 0x0cf0 */ 0, 0, 82,227, 56, 64,141,229, 60,192,141,229, 44, 16,141,229,
|
||||
/* 0x0c90 */ 23, 2, 0,235, 20,192,157,229, 8, 0,157,229,188, 34,220,225,
|
||||
/* 0x0ca0 */ 5, 16,160,227, 0, 48,160,227, 23, 2, 0,235, 20, 16,157,229,
|
||||
/* 0x0cb0 */ 8, 0,157,229,186, 34,209,225, 4, 16,160,227, 0, 48,160,227,
|
||||
/* 0x0cc0 */ 23, 2, 0,235, 24, 48, 22,229, 32, 32,157,229, 3, 48,137,224,
|
||||
/* 0x0cd0 */ 24, 48,141,229, 24,192,157,229, 16, 48,157,229, 16, 64, 22,229,
|
||||
/* 0x0ce0 */ 2, 32,224,225, 12, 16, 22,229, 0, 0, 83,227, 12, 48, 2,224,
|
||||
/* 0x0cf0 */ 28, 32,141,229, 56, 64,141,229, 60,192,141,229, 44, 16,141,229,
|
||||
/* 0x0d00 */ 3,176,132,224, 12,112, 99,224, 80, 3, 0, 10, 8, 48, 22,229,
|
||||
/* 0x0d10 */ 1, 80, 19,226, 68, 3, 0, 10, 7, 0,160,225, 11, 16,160,225,
|
||||
/* 0x0d20 */ 0, 32,160,227,254,255,255,235,255, 62,192,227, 15, 48,195,227,
|
||||
@ -865,10 +865,10 @@ unsigned char stub_arm_v5a_linux_elf_fold[33499] = {
|
||||
/* 0x3390 */ 1, 1, 0, 0,224, 9, 0, 0, 1, 1, 0, 0,248, 9, 0, 0,
|
||||
/* 0x33a0 */ 1, 1, 0, 0, 4, 10, 0, 0, 1, 1, 0, 0, 36, 10, 0, 0,
|
||||
/* 0x33b0 */ 1, 1, 0, 0, 96, 10, 0, 0, 1, 1, 0, 0,140, 10, 0, 0,
|
||||
/* 0x33c0 */ 1, 15, 0, 0,144, 10, 0, 0, 1, 1, 0, 0,188, 10, 0, 0,
|
||||
/* 0x33d0 */ 1, 1, 0, 0,200, 10, 0, 0, 1, 1, 0, 0,212, 10, 0, 0,
|
||||
/* 0x33e0 */ 1, 1, 0, 0, 8, 11, 0, 0, 1, 1, 0, 0, 12, 11, 0, 0,
|
||||
/* 0x33f0 */ 1, 14, 0, 0, 44, 11, 0, 0, 1, 1, 0, 0, 60, 11, 0, 0,
|
||||
/* 0x33c0 */ 1, 15, 0, 0,144, 10, 0, 0, 1, 1, 0, 0,168, 10, 0, 0,
|
||||
/* 0x33d0 */ 1, 14, 0, 0,192, 10, 0, 0, 1, 1, 0, 0,204, 10, 0, 0,
|
||||
/* 0x33e0 */ 1, 1, 0, 0,216, 10, 0, 0, 1, 1, 0, 0, 12, 11, 0, 0,
|
||||
/* 0x33f0 */ 1, 1, 0, 0, 44, 11, 0, 0, 1, 1, 0, 0, 60, 11, 0, 0,
|
||||
/* 0x3400 */ 1, 1, 0, 0,100, 11, 0, 0, 1, 25, 0, 0,112, 11, 0, 0,
|
||||
/* 0x3410 */ 1, 1, 0, 0,128, 11, 0, 0, 1, 1, 0, 0,136, 11, 0, 0,
|
||||
/* 0x3420 */ 1, 15, 0, 0,152, 11, 0, 0, 1, 1, 0, 0,160, 11, 0, 0,
|
||||
@ -1474,17 +1474,17 @@ unsigned char stub_arm_v5a_linux_elf_fold[33499] = {
|
||||
/* 0x59a0 */ 32, 32, 32, 32, 32,109,117,110,109, 97,112, 10, 48, 48, 48, 48,
|
||||
/* 0x59b0 */ 48, 97, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
|
||||
/* 0x59c0 */ 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48,
|
||||
/* 0x59d0 */ 48, 48, 97, 98, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
|
||||
/* 0x59e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48,
|
||||
/* 0x59f0 */ 48, 48, 48, 97, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
|
||||
/* 0x5a00 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48,
|
||||
/* 0x5a10 */ 48, 48, 48, 48, 97,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67,
|
||||
/* 0x5a20 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116, 10,
|
||||
/* 0x5a30 */ 48, 48, 48, 48, 48, 98, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80,
|
||||
/* 0x5a40 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,116,
|
||||
/* 0x5a50 */ 10, 48, 48, 48, 48, 48, 98, 48, 99, 32, 82, 95, 65, 82, 77, 95,
|
||||
/* 0x5a60 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,103,101,116, 95,
|
||||
/* 0x5a70 */ 112, 97,103,101, 95,109, 97,115,107, 10, 48, 48, 48, 48, 48, 98,
|
||||
/* 0x59d0 */ 48, 48, 97, 97, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
|
||||
/* 0x59e0 */ 32, 32, 32, 32, 32, 32, 32, 32,103,101,116, 95,112, 97,103,101,
|
||||
/* 0x59f0 */ 95,109, 97,115,107, 10, 48, 48, 48, 48, 48, 97, 99, 48, 32, 82,
|
||||
/* 0x5a00 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5a10 */ 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 99, 99, 32,
|
||||
/* 0x5a20 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5a30 */ 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97,100, 56,
|
||||
/* 0x5a40 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x5a50 */ 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 98, 48,
|
||||
/* 0x5a60 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
|
||||
/* 0x5a70 */ 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 98,
|
||||
/* 0x5a80 */ 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32,
|
||||
/* 0x5a90 */ 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x5aa0 */ 98, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
|
||||
|
||||
1202
src/stub/arm.v5a-linux.elf-so_entry.h
generated
1202
src/stub/arm.v5a-linux.elf-so_entry.h
generated
File diff suppressed because it is too large
Load Diff
2012
src/stub/arm64-linux.elf-fold.h
generated
2012
src/stub/arm64-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
84
src/stub/armeb.v4a-linux.elf-fold.h
generated
84
src/stub/armeb.v4a-linux.elf-fold.h
generated
@ -33,8 +33,8 @@
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_SIZE 33381
|
||||
#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0x0b4ead10
|
||||
#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0x2111a7a7
|
||||
#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0xa0e1b0e1
|
||||
#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0x4217fa81
|
||||
|
||||
unsigned char stub_armeb_v4a_linux_elf_fold[33381] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -204,19 +204,19 @@ unsigned char stub_armeb_v4a_linux_elf_fold[33381] = {
|
||||
/* 0x0a40 */ 224, 99, 16, 1,232,132, 0, 6,229,148, 48, 0,227, 83, 0, 0,
|
||||
/* 0x0a50 */ 26, 0, 2, 79,226,141,208, 16,232,189,128, 48, 33, 88, 80, 85,
|
||||
/* 0x0a60 */ 233, 45, 79,240,226, 77,208, 64,229,141, 0, 20,227, 81, 0, 0,
|
||||
/* 0x0a70 */ 229,144, 0, 28,229,141, 16, 16,229,157, 16, 20,229,141, 32, 12,
|
||||
/* 0x0a80 */ 224,129,176, 0,229,141, 48, 8,225,209, 17,176, 10, 0, 2,161,
|
||||
/* 0x0a90 */ 229,157, 48,100,229,147, 32, 0,226,130, 48, 52,229,147, 0, 40,
|
||||
/* 0x0aa0 */ 227, 81, 0, 2, 16, 96,144, 2, 17,160, 0, 9, 5,147, 0, 8,
|
||||
/* 0x0a70 */ 229,144, 0, 28,229,141, 16, 16,229,157, 16, 20,229,141, 48, 8,
|
||||
/* 0x0a80 */ 229,141, 32, 12,224,129,176, 0,225,209, 49,176, 10, 0, 2,161,
|
||||
/* 0x0a90 */ 229,157,192,100,229,156, 32, 0,227, 83, 0, 2,226,130, 48, 52,
|
||||
/* 0x0aa0 */ 229,147, 0, 40, 16, 96,144, 2, 17,160, 0, 9, 5,147, 0, 8,
|
||||
/* 0x0ab0 */ 229,147, 16, 20, 3,160,144, 0,235,255,255,254,234, 0, 2,229,
|
||||
/* 0x0ac0 */ 229,157,192, 20,225,220, 50,188,227, 81, 0, 3,229,157, 80, 16,
|
||||
/* 0x0ad0 */ 19,160,144, 16, 3,160,144, 0,226, 67,192, 1,225,160, 0, 11,
|
||||
/* 0x0ae0 */ 227,224, 64, 0,227,160,170, 1,234, 0, 2,189,229,144, 48, 0,
|
||||
/* 0x0af0 */ 227, 83, 0, 1, 26, 0, 2,187,229,144, 48, 20,227, 83, 0, 0,
|
||||
/* 0x0b00 */ 10, 0, 2,187,229,144, 16, 8,229,144, 32, 28,224,131, 48, 1,
|
||||
/* 0x0b10 */ 225, 85, 0, 3, 49,160, 80, 3,225, 90, 0, 2, 49,160,160, 2,
|
||||
/* 0x0b20 */ 225, 84, 0, 1, 33,160, 64, 1,226,128, 0, 32,226, 76,192, 1,
|
||||
/* 0x0b30 */ 227, 92, 0, 0,170, 0, 2,172,235,255,255,254,224, 4,128, 0,
|
||||
/* 0x0ac0 */ 229,157, 16, 20,227, 83, 0, 3,225,209, 66,188, 19,160,144, 16,
|
||||
/* 0x0ad0 */ 3,160,144, 0,235,255,255,254,229,157, 80, 16,226, 68, 64, 1,
|
||||
/* 0x0ae0 */ 225,160,192, 11,227,224,224, 0,227,160,170, 1,234, 0, 2,190,
|
||||
/* 0x0af0 */ 229,156, 48, 0,227, 83, 0, 1, 26, 0, 2,188,229,156, 48, 20,
|
||||
/* 0x0b00 */ 227, 83, 0, 0, 10, 0, 2,188,229,156, 16, 8,229,156, 32, 28,
|
||||
/* 0x0b10 */ 224,131, 48, 1,225, 85, 0, 3, 49,160, 80, 3,225, 90, 0, 2,
|
||||
/* 0x0b20 */ 49,160,160, 2,225, 94, 0, 1, 33,160,224, 1,226,140,192, 32,
|
||||
/* 0x0b30 */ 226, 68, 64, 1,227, 84, 0, 0,170, 0, 2,173,224, 14,128, 0,
|
||||
/* 0x0b40 */ 224,104, 48, 5,226, 96, 16, 0,224,131, 48, 1,226, 67, 48, 1,
|
||||
/* 0x0b50 */ 224, 0,112, 3,227,160, 64, 1,234, 0, 2,201,225,160, 64,132,
|
||||
/* 0x0b60 */ 224, 3, 4,145,225, 83, 0, 10, 58, 0, 2,200,226, 68, 64, 1,
|
||||
@ -226,26 +226,26 @@ unsigned char stub_armeb_v4a_linux_elf_fold[33381] = {
|
||||
/* 0x0ba0 */ 226, 74, 32, 1,226, 96, 48, 0,224, 18, 64, 3, 10, 0, 2,225,
|
||||
/* 0x0bb0 */ 225,160, 16, 4,235,255,255,254,224,100, 96, 6,224,133, 80, 4,
|
||||
/* 0x0bc0 */ 224, 86, 16, 7, 16,133, 0, 7, 27,255,255,254,224,104,144, 5,
|
||||
/* 0x0bd0 */ 235,255,255,254,226,139, 96, 32,227,160, 16, 0,229,141, 0, 32,
|
||||
/* 0x0be0 */ 229,141, 16, 36,234, 0, 3,223,229,157, 32, 16,227, 82, 0, 0,
|
||||
/* 0x0bd0 */ 235,255,255,254,226,139, 96, 32,227,160, 32, 0,229,141, 0, 32,
|
||||
/* 0x0be0 */ 229,141, 32, 36,234, 0, 3,223,229,157, 48, 16,227, 83, 0, 0,
|
||||
/* 0x0bf0 */ 10, 0, 2,249,229, 22, 48, 32,227, 83, 0, 6, 26, 0, 2,249,
|
||||
/* 0x0c00 */ 229, 22, 32, 24,224,137, 32, 2,225,160, 48, 2,227,160, 32, 0,
|
||||
/* 0x0c10 */ 229,157, 0, 8,227,160, 16, 3,235, 0, 2, 20,234, 0, 3,219,
|
||||
/* 0x0c20 */ 229, 22, 48, 32,227, 83, 0, 1, 26, 0, 3,219,229, 22, 48, 12,
|
||||
/* 0x0c30 */ 227, 83, 0, 0, 10, 0, 3,219,229, 22, 48, 8,229,159, 35,168,
|
||||
/* 0x0c40 */ 226, 3, 48, 7,225,160, 49, 3,225,160, 35, 50,229,157, 48, 16,
|
||||
/* 0x0c50 */ 227, 83, 0, 0,226, 2,160, 7, 10, 0, 3, 35,229, 22, 48, 28,
|
||||
/* 0x0c60 */ 227, 83, 0, 0, 26, 0, 3, 35,229,157,192, 20,229, 22, 32, 24,
|
||||
/* 0x0c70 */ 229,156, 48, 28,224,130, 32, 3,224,137, 32, 2,225,160, 48, 2,
|
||||
/* 0x0c40 */ 226, 3, 48, 7,225,160, 49, 3,225,160, 35, 50,229,157,192, 16,
|
||||
/* 0x0c50 */ 227, 92, 0, 0,226, 2,160, 7, 10, 0, 3, 35,229, 22, 48, 28,
|
||||
/* 0x0c60 */ 227, 83, 0, 0, 26, 0, 3, 35,229,157, 16, 20,229, 22, 32, 24,
|
||||
/* 0x0c70 */ 229,145, 48, 28,224,130, 32, 3,224,137, 32, 2,225,160, 48, 2,
|
||||
/* 0x0c80 */ 227,160, 32, 0,229,157, 0, 8,227,160, 16, 3,235, 0, 2, 20,
|
||||
/* 0x0c90 */ 229,157, 16, 20,225,209, 66,188,229,157, 0, 8,225,160, 48, 4,
|
||||
/* 0x0ca0 */ 227,160, 32, 0,227,160, 16, 5,235, 0, 2, 20,229,157, 32, 20,
|
||||
/* 0x0cb0 */ 225,210, 66,186,229,157, 0, 8,225,160, 48, 4,227,160, 32, 0,
|
||||
/* 0x0cc0 */ 227,160, 16, 4,235, 0, 2, 20,229, 22, 48, 24,224,137, 48, 3,
|
||||
/* 0x0cd0 */ 229,141, 48, 24,229,157, 48, 32,229,157, 16, 24,229,157,192, 16,
|
||||
/* 0x0ce0 */ 229, 22, 64, 16,225,224, 48, 3,229, 22, 32, 12,229,141, 48, 28,
|
||||
/* 0x0cf0 */ 227, 92, 0, 0,224, 3, 48, 1,229,141, 64, 56,229,141, 16, 60,
|
||||
/* 0x0d00 */ 229,141, 32, 44,224,132,176, 3,224, 99,112, 1, 10, 0, 3, 81,
|
||||
/* 0x0c90 */ 229,157, 32, 20,225,210, 66,188,229,157, 0, 8,225,160, 48, 4,
|
||||
/* 0x0ca0 */ 227,160, 32, 0,227,160, 16, 5,235, 0, 2, 20,229,157,192, 20,
|
||||
/* 0x0cb0 */ 225,220, 66,186,229,157, 0, 8,225,160, 48, 4,227,160, 32, 0,
|
||||
/* 0x0cc0 */ 227,160, 16, 4,235, 0, 2, 20,229, 22, 48, 24,229,157, 16, 32,
|
||||
/* 0x0cd0 */ 224,137, 48, 3,225,224, 16, 1,229,141, 48, 24,229,157, 32, 16,
|
||||
/* 0x0ce0 */ 224, 1, 48, 3,229, 22, 64, 16,229,157,192, 24,229,141, 16, 28,
|
||||
/* 0x0cf0 */ 229, 22, 16, 12,227, 82, 0, 0,229,141, 64, 56,229,141,192, 60,
|
||||
/* 0x0d00 */ 229,141, 16, 44,224,132,176, 3,224, 99,112, 12, 10, 0, 3, 81,
|
||||
/* 0x0d10 */ 229, 22, 48, 8,226, 19, 80, 1, 10, 0, 3, 69,225,160, 0, 7,
|
||||
/* 0x0d20 */ 225,160, 16, 11,227,160, 32, 0,235,255,255,254,227,192, 62,255,
|
||||
/* 0x0d30 */ 227,195, 48, 15,225,160, 10, 0,225, 83, 0, 7,225,160, 10, 32,
|
||||
@ -865,9 +865,9 @@ unsigned char stub_armeb_v4a_linux_elf_fold[33381] = {
|
||||
/* 0x3390 */ 0, 0, 1, 1, 0, 0, 9,240, 0, 0, 1, 1, 0, 0, 9,252,
|
||||
/* 0x33a0 */ 0, 0, 1, 1, 0, 0, 10, 28, 0, 0, 1, 1, 0, 0, 10, 88,
|
||||
/* 0x33b0 */ 0, 0, 1, 1, 0, 0, 10,132, 0, 0, 15, 1, 0, 0, 10,136,
|
||||
/* 0x33c0 */ 0, 0, 1, 1, 0, 0, 10,180, 0, 0, 1, 1, 0, 0, 10,192,
|
||||
/* 0x33d0 */ 0, 0, 1, 1, 0, 0, 10,204, 0, 0, 1, 1, 0, 0, 11, 0,
|
||||
/* 0x33e0 */ 0, 0, 1, 1, 0, 0, 11, 4, 0, 0, 14, 1, 0, 0, 11, 36,
|
||||
/* 0x33c0 */ 0, 0, 1, 1, 0, 0, 10,160, 0, 0, 14, 1, 0, 0, 10,184,
|
||||
/* 0x33d0 */ 0, 0, 1, 1, 0, 0, 10,196, 0, 0, 1, 1, 0, 0, 10,208,
|
||||
/* 0x33e0 */ 0, 0, 1, 1, 0, 0, 11, 4, 0, 0, 1, 1, 0, 0, 11, 36,
|
||||
/* 0x33f0 */ 0, 0, 1, 1, 0, 0, 11, 52, 0, 0, 1, 1, 0, 0, 11, 92,
|
||||
/* 0x3400 */ 0, 0, 25, 1, 0, 0, 11,104, 0, 0, 1, 1, 0, 0, 11,120,
|
||||
/* 0x3410 */ 0, 0, 1, 1, 0, 0, 11,128, 0, 0, 15, 1, 0, 0, 11,148,
|
||||
@ -1468,18 +1468,18 @@ unsigned char stub_armeb_v4a_linux_elf_fold[33381] = {
|
||||
/* 0x5940 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5950 */ 109,117,110,109, 97,112, 10, 48, 48, 48, 48, 48, 97, 56, 56, 32,
|
||||
/* 0x5960 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5970 */ 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 98, 52,
|
||||
/* 0x5970 */ 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 97, 48,
|
||||
/* 0x5980 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x5990 */ 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97, 99,
|
||||
/* 0x59a0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
|
||||
/* 0x59b0 */ 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 97,
|
||||
/* 0x59c0 */ 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32,
|
||||
/* 0x59d0 */ 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x59e0 */ 98, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
|
||||
/* 0x59f0 */ 32, 32, 32, 32, 32, 32, 46,116,101,120,116, 10, 48, 48, 48, 48,
|
||||
/* 0x5a00 */ 48, 98, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
|
||||
/* 0x5a10 */ 32, 32, 32, 32, 32, 32, 32,103,101,116, 95,112, 97,103,101, 95,
|
||||
/* 0x5a20 */ 109, 97,115,107, 10, 48, 48, 48, 48, 48, 98, 50, 52, 32, 82, 95,
|
||||
/* 0x5990 */ 32, 32, 32,103,101,116, 95,112, 97,103,101, 95,109, 97,115,107,
|
||||
/* 0x59a0 */ 10, 48, 48, 48, 48, 48, 97, 98, 56, 32, 82, 95, 65, 82, 77, 95,
|
||||
/* 0x59b0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,120,
|
||||
/* 0x59c0 */ 116, 10, 48, 48, 48, 48, 48, 97, 99, 52, 32, 82, 95, 65, 82, 77,
|
||||
/* 0x59d0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,101,
|
||||
/* 0x59e0 */ 120,116, 10, 48, 48, 48, 48, 48, 97,100, 48, 32, 82, 95, 65, 82,
|
||||
/* 0x59f0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,116,
|
||||
/* 0x5a00 */ 101,120,116, 10, 48, 48, 48, 48, 48, 98, 48, 52, 32, 82, 95, 65,
|
||||
/* 0x5a10 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 46,
|
||||
/* 0x5a20 */ 116,101,120,116, 10, 48, 48, 48, 48, 48, 98, 50, 52, 32, 82, 95,
|
||||
/* 0x5a30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x5a40 */ 46,116,101,120,116, 10, 48, 48, 48, 48, 48, 98, 51, 52, 32, 82,
|
||||
/* 0x5a50 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
|
||||
|
||||
1802
src/stub/i386-linux.elf-fold.h
generated
1802
src/stub/i386-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
2229
src/stub/mips.r3000-linux.elf-fold.h
generated
2229
src/stub/mips.r3000-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
2212
src/stub/mipsel.r3000-linux.elf-fold.h
generated
2212
src/stub/mipsel.r3000-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
62
src/stub/powerpc-linux.elf-fold.h
generated
62
src/stub/powerpc-linux.elf-fold.h
generated
@ -33,8 +33,8 @@
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 18427
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x0c270ec9
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xa99d2543
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x26880f2a
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xe31fbd79
|
||||
|
||||
unsigned char stub_powerpc_linux_elf_fold[18427] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -190,42 +190,42 @@ unsigned char stub_powerpc_linux_elf_fold[18427] = {
|
||||
/* 0x0960 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,176,
|
||||
/* 0x0970 */ 124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120,
|
||||
/* 0x0980 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
|
||||
/* 0x0990 */ 56, 0,255,255,144, 31, 0, 24, 56, 0, 0, 0,144, 31, 0, 28,
|
||||
/* 0x09a0 */ 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 16, 0,144, 31, 0, 36,
|
||||
/* 0x09b0 */ 129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0,
|
||||
/* 0x09c0 */ 65,156, 0,156,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1,
|
||||
/* 0x09d0 */ 64,158, 0,124,129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 24,
|
||||
/* 0x09e0 */ 127,137, 0, 64, 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8,
|
||||
/* 0x09f0 */ 144, 31, 0, 24,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,
|
||||
/* 0x0a00 */ 128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 28,127,137, 0, 64,
|
||||
/* 0x0a10 */ 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,
|
||||
/* 0x0a20 */ 128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 28,129, 63, 0, 12,
|
||||
/* 0x0a30 */ 129, 41, 0, 28,128, 31, 0, 36,127,137, 0, 64, 64,157, 0, 16,
|
||||
/* 0x0a40 */ 129, 63, 0, 12,128, 9, 0, 28,144, 31, 0, 36,129, 63, 0, 12,
|
||||
/* 0x0a50 */ 56, 9, 0, 32,144, 31, 0, 12, 75,255,255, 88, 72, 0, 0, 1,
|
||||
/* 0x0a60 */ 124, 96, 27,120,144, 31, 0, 40,128, 31, 0, 40,124, 0, 0,208,
|
||||
/* 0x0a70 */ 144, 31, 0, 44,129, 63, 0, 24,128, 31, 0, 40,125, 32, 0, 56,
|
||||
/* 0x0a80 */ 144, 31, 0, 24,129, 63, 0, 28,128, 31, 0, 24,125, 32, 72, 80,
|
||||
/* 0x0a90 */ 128, 31, 0, 44,125, 41, 2, 20, 57, 41,255,255,128, 31, 0, 40,
|
||||
/* 0x0990 */ 72, 0, 0, 1,124, 96, 27,120,144, 31, 0, 24, 56, 0,255,255,
|
||||
/* 0x09a0 */ 144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,
|
||||
/* 0x09b0 */ 144, 31, 0, 36, 56, 0, 16, 0,144, 31, 0, 40,129, 63, 0, 16,
|
||||
/* 0x09c0 */ 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,156,
|
||||
/* 0x09d0 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,124,
|
||||
/* 0x09e0 */ 129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64,
|
||||
/* 0x09f0 */ 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28,
|
||||
/* 0x0a00 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
|
||||
/* 0x0a10 */ 125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, 64,157, 0, 28,
|
||||
/* 0x0a20 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
|
||||
/* 0x0a30 */ 124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12,129, 41, 0, 28,
|
||||
/* 0x0a40 */ 128, 31, 0, 40,127,137, 0, 64, 64,157, 0, 16,129, 63, 0, 12,
|
||||
/* 0x0a50 */ 128, 9, 0, 28,144, 31, 0, 40,129, 63, 0, 12, 56, 9, 0, 32,
|
||||
/* 0x0a60 */ 144, 31, 0, 12, 75,255,255, 88,128, 31, 0, 24,124, 0, 0,208,
|
||||
/* 0x0a70 */ 144, 31, 0, 44,129, 63, 0, 28,128, 31, 0, 24,125, 32, 0, 56,
|
||||
/* 0x0a80 */ 144, 31, 0, 28,129, 63, 0, 32,128, 31, 0, 28,125, 32, 72, 80,
|
||||
/* 0x0a90 */ 128, 31, 0, 44,125, 41, 2, 20, 57, 41,255,255,128, 31, 0, 24,
|
||||
/* 0x0aa0 */ 125, 32, 0, 56,144, 31, 0, 48, 56, 0, 0, 1,144, 31, 0, 52,
|
||||
/* 0x0ab0 */ 129, 63, 0, 52,128, 31, 0, 44,125, 41, 1,214,128, 31, 0, 36,
|
||||
/* 0x0ab0 */ 129, 63, 0, 52,128, 31, 0, 44,125, 41, 1,214,128, 31, 0, 40,
|
||||
/* 0x0ac0 */ 127,137, 0, 64, 64,156, 0, 20,128, 31, 0, 52, 84, 0, 8, 60,
|
||||
/* 0x0ad0 */ 144, 31, 0, 52, 75,255,255,220,129, 63, 0, 52, 56, 9,255,255,
|
||||
/* 0x0ae0 */ 144, 31, 0, 52,129, 63, 0, 52,128, 31, 0, 44,125, 41, 1,214,
|
||||
/* 0x0af0 */ 128, 31, 0, 48,124, 9, 2, 20,144, 31, 0, 56,128, 31, 0, 8,
|
||||
/* 0x0b00 */ 96, 0, 0, 34,128,127, 0, 24,128,159, 0, 56, 56,160, 0, 0,
|
||||
/* 0x0b00 */ 96, 0, 0, 34,128,127, 0, 28,128,159, 0, 56, 56,160, 0, 0,
|
||||
/* 0x0b10 */ 124, 6, 3,120, 56,224,255,255, 57, 0, 0, 0, 72, 0, 0, 1,
|
||||
/* 0x0b20 */ 144,127, 0, 32,128, 31, 0, 52, 47,128, 0, 0, 65,158, 0,132,
|
||||
/* 0x0b30 */ 129, 63, 0, 36, 57, 41,255,255,128, 31, 0, 32,124, 0, 0,208,
|
||||
/* 0x0b20 */ 144,127, 0, 36,128, 31, 0, 52, 47,128, 0, 0, 65,158, 0,132,
|
||||
/* 0x0b30 */ 129, 63, 0, 40, 57, 41,255,255,128, 31, 0, 36,124, 0, 0,208,
|
||||
/* 0x0b40 */ 125, 32, 0, 56,144, 31, 0, 60,128, 31, 0, 60, 47,128, 0, 0,
|
||||
/* 0x0b50 */ 65,158, 0, 48,128,127, 0, 32,128,159, 0, 60, 72, 0, 0, 1,
|
||||
/* 0x0b60 */ 129, 63, 0, 32,128, 31, 0, 60,124, 9, 2, 20,144, 31, 0, 32,
|
||||
/* 0x0b50 */ 65,158, 0, 48,128,127, 0, 36,128,159, 0, 60, 72, 0, 0, 1,
|
||||
/* 0x0b60 */ 129, 63, 0, 36,128, 31, 0, 60,124, 9, 2, 20,144, 31, 0, 36,
|
||||
/* 0x0b70 */ 129, 63, 0, 56,128, 31, 0, 60,124, 0, 72, 80,144, 31, 0, 56,
|
||||
/* 0x0b80 */ 129, 63, 0, 56,128, 31, 0, 48,124, 0, 72, 80,144, 31, 0, 56,
|
||||
/* 0x0b90 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 32,129, 63, 0, 48,
|
||||
/* 0x0b90 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 36,129, 63, 0, 48,
|
||||
/* 0x0ba0 */ 124, 0, 74, 20,124, 3, 3,120,128,159, 0, 56, 72, 0, 0, 1,
|
||||
/* 0x0bb0 */ 129,127, 0, 20,129, 63, 0, 48,128, 31, 0, 32,124, 9, 2, 20,
|
||||
/* 0x0bc0 */ 144, 11, 0, 0,129, 63, 0, 32,128, 31, 0, 24,124, 0, 72, 80,
|
||||
/* 0x0bb0 */ 129,127, 0, 20,129, 63, 0, 48,128, 31, 0, 36,124, 9, 2, 20,
|
||||
/* 0x0bc0 */ 144, 11, 0, 0,129, 63, 0, 36,128, 31, 0, 28,124, 0, 72, 80,
|
||||
/* 0x0bd0 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
|
||||
/* 0x0be0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,
|
||||
/* 0x0bf0 */ 124, 8, 2,166,147,225, 0,108,144, 1, 0,116,124, 63, 11,120,
|
||||
@ -901,7 +901,7 @@ unsigned char stub_powerpc_linux_elf_fold[18427] = {
|
||||
/* 0x35d0 */ 0, 0, 36, 10, 0, 0, 0, 0, 0, 0, 8,144, 0, 0, 31, 10,
|
||||
/* 0x35e0 */ 0, 0, 0, 0, 0, 0, 8,236, 0, 0, 18, 10, 0, 0, 0, 0,
|
||||
/* 0x35f0 */ 0, 0, 9, 8, 0, 0, 21, 10, 0, 0, 0, 0, 0, 0, 9, 28,
|
||||
/* 0x3600 */ 0, 0, 18, 10, 0, 0, 0, 0, 0, 0, 10, 40, 0, 0, 15, 10,
|
||||
/* 0x3600 */ 0, 0, 18, 10, 0, 0, 0, 0, 0, 0, 9, 92, 0, 0, 15, 10,
|
||||
/* 0x3610 */ 0, 0, 0, 0, 0, 0, 10,232, 0, 0, 21, 10, 0, 0, 0, 0,
|
||||
/* 0x3620 */ 0, 0, 11, 40, 0, 0, 16, 10, 0, 0, 0, 0, 0, 0, 11,120,
|
||||
/* 0x3630 */ 0, 0, 16, 10, 0, 0, 0, 0, 0, 0, 12,140, 0, 0, 16, 10,
|
||||
@ -1109,8 +1109,8 @@ unsigned char stub_powerpc_linux_elf_fold[18427] = {
|
||||
/* 0x42d0 */ 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32,
|
||||
/* 0x42e0 */ 32, 32, 32,109,109, 97,112, 10, 48, 48, 48, 48, 48, 57, 49, 99,
|
||||
/* 0x42f0 */ 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32,
|
||||
/* 0x4300 */ 32, 32, 32,109,101,109, 99,112,121, 10, 48, 48, 48, 48, 48, 97,
|
||||
/* 0x4310 */ 50, 56, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32,
|
||||
/* 0x4300 */ 32, 32, 32,109,101,109, 99,112,121, 10, 48, 48, 48, 48, 48, 57,
|
||||
/* 0x4310 */ 53, 99, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32,
|
||||
/* 0x4320 */ 32, 32, 32, 32, 32,103,101,116, 95,112, 97,103,101, 95,109, 97,
|
||||
/* 0x4330 */ 115,107, 10, 48, 48, 48, 48, 48, 97,101, 56, 32, 82, 95, 80, 80,
|
||||
/* 0x4340 */ 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32,109,109,
|
||||
|
||||
2305
src/stub/powerpc64-linux.elf-fold.h
generated
2305
src/stub/powerpc64-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
2334
src/stub/powerpc64le-linux.elf-fold.h
generated
2334
src/stub/powerpc64le-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
@ -92,6 +92,7 @@ _start: .globl _start
|
||||
pop %rcx // argc
|
||||
push %rsp; pop %rdi // argv
|
||||
push %rcx // argc
|
||||
push %rdx // param for atexit()
|
||||
|
||||
#define old_sp %rbp
|
||||
F_FRAME= 7*NBPW
|
||||
@ -106,18 +107,24 @@ F_ADRX= 0*NBPW
|
||||
D_FOLD= 1*NBPW // .data space at start of unfold
|
||||
D_PMASK= 0*NBPW
|
||||
|
||||
AT_PAGESZ= 6 // /usr/include/elf.h
|
||||
call zfind // skip argv
|
||||
call zfind // skip env
|
||||
0: // find AT_PAGESZ in auxv
|
||||
mov (%rdi),%rax
|
||||
mov NBPW(%rdi),%rcx; add $2*NBPW,%rdi
|
||||
cmp $AT_PAGESZ,%rax; je 5f
|
||||
mov $1<<12,%rcx // default PAGE_SIZE
|
||||
test %rax,%rax; jne 0b
|
||||
5:
|
||||
neg %rcx; push %rcx // F_PMASK
|
||||
push %rdx // F_RDX
|
||||
// find auxv
|
||||
xor %eax,%eax // 0
|
||||
0: scasq; jne 0b; // skip argv
|
||||
0: scasq; jne 0b; // skip env
|
||||
|
||||
// find AT_PAGESZ in auxv
|
||||
push %rdi; mov $0x1000,%edx // default PAGE_SIZE
|
||||
pop %rsi
|
||||
1:
|
||||
lodsq; test %eax,%eax; je 2f
|
||||
cmp $AT_PAGESZ,%eax; lodsq; jne 1b
|
||||
xchg %eax,%edx
|
||||
2:
|
||||
pop %rax // atexit
|
||||
neg %rdx // PAGE_MASK
|
||||
push %rdx // F_PMASK
|
||||
push %rax // atexit,pmask,argc
|
||||
|
||||
|
||||
#define arg2l esi
|
||||
#define arg3l edx
|
||||
@ -255,7 +262,7 @@ eof_n2b:
|
||||
//FIXME: check dst, too
|
||||
|
||||
// Write de-compressed 'fold' to file
|
||||
mov F_PMASK(old_sp),%rax; mov %rax,(%rsp) // propagate PAGE_MASK
|
||||
mov F_PMASK(old_sp),%rax; mov %rax,/*D_PMASK*/(%rsp) // propagate PAGE_MASK
|
||||
mov F_LENU(old_sp),%arg3 // LENU
|
||||
sub $INSURANCE,%arg3 // memcheck limit
|
||||
push %rsp; pop %arg2 // buffer
|
||||
@ -287,11 +294,6 @@ eof_n2b:
|
||||
add $D_FOLD,%rax // beyond .data
|
||||
jmp *%rax // goto unfolded stub
|
||||
|
||||
zfind:
|
||||
mov (%rdi),%rax; add $NBPW,%rdi
|
||||
test %rax,%rax; jne zfind
|
||||
ret
|
||||
|
||||
sys_check:
|
||||
push %rax // save __NR_ for debug
|
||||
syscall
|
||||
|
||||
@ -77,7 +77,7 @@ F_ADRX= 0*NBPW
|
||||
unmap_all_pages= (1<<1)
|
||||
is_ptinterp= (1<<0)
|
||||
|
||||
.balign 4
|
||||
.balign 8
|
||||
PAGE_MASK: .quad -1<<12 // default
|
||||
|
||||
// IN: [ADRX,+LENX): compressed data; [ADRU,+LENU): expanded fold (w/ upx_main)
|
||||
@ -236,7 +236,7 @@ ok_memfd:
|
||||
ret
|
||||
|
||||
Pmap: .globl Pmap // page-align the lo end
|
||||
mov PAGE_MASK(%rip),%rax; not %rax // frag mask
|
||||
mov PAGE_MASK(%rip),%rax; not %eax // frag mask
|
||||
and %arg1l,%eax // frag
|
||||
sub %rax,%arg1
|
||||
add %rax,%arg2
|
||||
|
||||
@ -438,42 +438,49 @@ unsigned PF_TO_PROT(unsigned flags)
|
||||
// and mmap that much, to be sure that a kernel using exec-shield-randomize
|
||||
// won't place the first piece in a way that leaves no room for the rest.
|
||||
static ElfW(Addr) // returns relocation constant
|
||||
xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum,
|
||||
ElfW(Addr) *const p_brk
|
||||
, ElfW(Addr) const elfaddr
|
||||
)
|
||||
xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum, ElfW(Addr) *const p_brk)
|
||||
{
|
||||
ElfW(Addr) lo= ~0, hi= 0, addr= 0;
|
||||
mflags += MAP_PRIVATE | MAP_ANONYMOUS; // '+' can optimize better than '|'
|
||||
DPRINTF("xfind_pages %%x %%p %%d %%p %%p\\n", mflags, phdr, phnum, elfaddr, p_brk);
|
||||
for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) {
|
||||
DPRINTF(" p_vaddr=%%p p_memsz=%%p\\n", phdr->p_vaddr, phdr->p_memsz);
|
||||
ElfW(Addr) lo= ~0, hi= 0, addr = 0, p_align = 0x1000;
|
||||
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) {
|
||||
lo = phdr->p_vaddr;
|
||||
}
|
||||
if (hi < (phdr->p_memsz + phdr->p_vaddr)) {
|
||||
hi = phdr->p_memsz + phdr->p_vaddr;
|
||||
}
|
||||
}
|
||||
size_t PMASK = get_page_mask();
|
||||
lo -= ~PMASK & lo; // round down to page boundary
|
||||
hi = PMASK & (hi - lo - PMASK -1); // page length
|
||||
if (MAP_FIXED & mflags) {
|
||||
addr = lo;
|
||||
}
|
||||
else if (0==lo) { // -pie ET_DYN
|
||||
addr = elfaddr;
|
||||
if (addr) {
|
||||
mflags |= MAP_FIXED;
|
||||
if (p_align < phdr->p_align) {
|
||||
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
|
||||
|
||||
// Linux lacks mmap_aligned(), so allocate a larger space, then trim the ends.
|
||||
// Avoid division (p_align / page_size); both are powers of 2
|
||||
unsigned q = 1;
|
||||
while ((q * page_size) < p_align) q <<= 1;
|
||||
--q; // number of extra pages
|
||||
unsigned len2 = len1 + (q * page_size); // get enough space to align
|
||||
addr = (ElfW(Addr))mmap_privanon((void *)lo, len2, PROT_NONE, mflags);
|
||||
DPRINTF(" addr=%%p lo=%%p hi=%%p align=%%p q=%%p len1=%%p len2=%%p align=%%p\\n",
|
||||
addr, lo, hi, p_align, q, len1, len2, p_align);
|
||||
if (q) {
|
||||
size_t len3 = (-1 + p_align) & -addr; // up to p_align boundary
|
||||
if (len3) {
|
||||
munmap((void *)addr, len3); // trim the low end
|
||||
addr += len3;
|
||||
len2 -= len3;
|
||||
}
|
||||
if (len2 -= len1) {
|
||||
munmap((void *)(addr + len1), len2); // trim the high end
|
||||
}
|
||||
}
|
||||
DPRINTF(" addr=%%p lo=%%p hi=%%p\\n", addr, lo, hi);
|
||||
// PROT_WRITE allows testing of 64k pages on 4k Linux
|
||||
addr = (ElfW(Addr))mmap((void *)addr, hi, (DEBUG ? PROT_WRITE : PROT_NONE), // FIXME XXX EVIL
|
||||
mflags, -1, 0);
|
||||
DPRINTF(" addr=%%p\\n", addr);
|
||||
*p_brk = hi + addr; // the logical value of brk(0)
|
||||
return (ElfW(Addr))(addr - lo);
|
||||
*p_brk = len1 + addr; // the logical value of brk(0)
|
||||
return (ptrdiff_t)addr - lo;
|
||||
}
|
||||
|
||||
static ElfW(Addr) // entry address
|
||||
@ -507,8 +514,7 @@ do_xmap(
|
||||
else { // PT_INTERP
|
||||
DPRINTF("INTERP\\n", 0);
|
||||
reloc = xfind_pages(
|
||||
((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk, *p_reloc
|
||||
);
|
||||
((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk);
|
||||
}
|
||||
DPRINTF("do_xmap ehdr=%%p xi=%%p(%%x %%p) fdi=%%x\\n"
|
||||
" av=%%p reloc=%%p p_reloc=%%p/%%p\\n",
|
||||
|
||||
@ -158,13 +158,9 @@ _=-1+_ // one less word on stack
|
||||
|
||||
//.arch armv7-a
|
||||
//.syntax unified
|
||||
.thumb
|
||||
.thumb_func
|
||||
.type _start,%function
|
||||
.balign 4
|
||||
_start: .globl _start // in Thumb mode (via PackLinuxElf32::pack3)
|
||||
bx pc; nop // but switch to ARM until debugged
|
||||
.arm
|
||||
_start: .globl _start
|
||||
nop
|
||||
#if 0|DEBUG //{
|
||||
bkpt // DEBUG
|
||||
|
||||
@ -526,11 +526,12 @@ static ptrdiff_t // returns relocation constant
|
||||
#if defined(__i386__) /*{*/
|
||||
__attribute__((regparm(3), stdcall))
|
||||
#endif /*}*/
|
||||
xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum,
|
||||
ElfW(Addr) *const p_brk
|
||||
xfind_pages(unsigned mflags, Elf32_Phdr const *phdr, int phnum,
|
||||
Elf32_Addr *const p_brk
|
||||
)
|
||||
{
|
||||
ElfW(Addr) lo= ~0, hi= 0, addr = 0, p_align = 0x1000;
|
||||
size_t const page_mask = get_page_mask();
|
||||
Elf32_Addr lo= ~0, hi= 0, addr = 0, p_align = 0x1000;
|
||||
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
|
||||
#if defined(__arm__) /*{*/
|
||||
@ -556,7 +557,6 @@ xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum,
|
||||
p_align = phdr->p_align;
|
||||
}
|
||||
} // end scan of PT_LOADs
|
||||
size_t const 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
|
||||
@ -567,7 +567,7 @@ xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum,
|
||||
while ((q * page_size) < p_align) q <<= 1;
|
||||
--q; // number of extra pages
|
||||
unsigned len2 = len1 + (q * page_size); // get enough space to align
|
||||
addr = (ElfW(Addr))mmap_privanon((void *)lo, len2, PROT_NONE, mflags);
|
||||
addr = (Elf32_Addr)mmap_privanon((void *)lo, len2, PROT_NONE, mflags);
|
||||
DPRINTF(" addr=%%p lo=%%p hi=%%p align=%%p q=%%p len1=%%p len2=%%p\\n",
|
||||
addr, lo, hi, p_align, q, len1, len2, p_align);
|
||||
if (q) {
|
||||
@ -775,9 +775,7 @@ upx_main( // returns entry address
|
||||
// ehdr = Uncompress Ehdr and Phdrs
|
||||
unpackExtent(&xi2, &xo); // never filtered?
|
||||
|
||||
#if defined(__i386__) || defined(__arm__) || defined(__powerpc__) || defined(__mips__) //{
|
||||
ElfW(Addr) *const p_reloc = &elfaddr;
|
||||
#endif //}
|
||||
ElfW(Addr) page_mask = get_page_mask(); (void)page_mask;
|
||||
DPRINTF("upx_main1 .e_entry=%%p p_reloc=%%p *p_reloc=%%p page_mask=%%p\\n",
|
||||
ehdr->e_entry, p_reloc, *p_reloc, page_mask);
|
||||
|
||||
6
src/stub/tmp/amd64-linux.elf-entry.bin.dump
generated
vendored
6
src/stub/tmp/amd64-linux.elf-entry.bin.dump
generated
vendored
@ -2,8 +2,8 @@ file format elf64-x86-64
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 01ae 0 0 040 2**0 CONTENTS
|
||||
1 ELFMAINZ 04 0 0 01f0 2**2 CONTENTS
|
||||
0 ELFMAINX 019b 0 0 040 2**0 CONTENTS
|
||||
1 ELFMAINZ 04 0 0 01dc 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
|
||||
000000000000008b R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
|
||||
0000000000000085 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
|
||||
36
src/stub/tmp/amd64-linux.elf-fold.map
generated
vendored
36
src/stub/tmp/amd64-linux.elf-fold.map
generated
vendored
@ -8,13 +8,13 @@ Linker script and memory map
|
||||
|
||||
0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000000000 0x91b
|
||||
.text 0x0000000000000000 0x988
|
||||
.text 0x0000000000000000 0x164 tmp/amd64-linux.elf-fold.o
|
||||
0x000000000000015c get_page_mask
|
||||
.text 0x0000000000000164 0x0 tmp/amd64-expand.o
|
||||
.text 0x0000000000000164 0x7b7 tmp/amd64-linux.elf-main2.o
|
||||
.text 0x0000000000000164 0x824 tmp/amd64-linux.elf-main2.o
|
||||
0x00000000000002b9 underlay
|
||||
0x00000000000007e6 upx_main
|
||||
0x0000000000000853 upx_main
|
||||
|
||||
.data 0x0000000000000000 0x0
|
||||
.data 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
|
||||
@ -30,24 +30,24 @@ LOAD tmp/amd64-expand.o
|
||||
LOAD tmp/amd64-linux.elf-main2.o
|
||||
OUTPUT(tmp/amd64-linux.elf-fold.bin elf64-x86-64)
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xc0
|
||||
SYSCALLS 0x0000000000000000 0xc0 tmp/amd64-linux.elf-fold.o
|
||||
SYSCALLS 0x0000000000000000 0xbf
|
||||
SYSCALLS 0x0000000000000000 0xbf tmp/amd64-linux.elf-fold.o
|
||||
0x000000000000004a Pmap
|
||||
0x000000000000009c munmap
|
||||
0x00000000000000ac ftruncate
|
||||
0x000000000000005c mmap
|
||||
0x00000000000000b8 write
|
||||
0x00000000000000bc read
|
||||
0x000000000000009b munmap
|
||||
0x00000000000000ab ftruncate
|
||||
0x000000000000005b mmap
|
||||
0x00000000000000b7 write
|
||||
0x00000000000000bb read
|
||||
0x0000000000000011 upxfd_create
|
||||
0x0000000000000000 my_bkpt
|
||||
0x0000000000000077 Pprotect
|
||||
0x00000000000000b8 Pwrite
|
||||
0x000000000000008c Punmap
|
||||
0x00000000000000a0 exit
|
||||
0x00000000000000a4 brk
|
||||
0x00000000000000b0 open
|
||||
0x00000000000000b4 mprotect
|
||||
0x00000000000000a8 close
|
||||
0x0000000000000076 Pprotect
|
||||
0x00000000000000b7 Pwrite
|
||||
0x000000000000008b Punmap
|
||||
0x000000000000009f exit
|
||||
0x00000000000000a3 brk
|
||||
0x00000000000000af open
|
||||
0x00000000000000b3 mprotect
|
||||
0x00000000000000a7 close
|
||||
|
||||
EXP_HEAD 0x0000000000000000 0xe9
|
||||
EXP_HEAD 0x0000000000000000 0xe9 tmp/amd64-expand.o
|
||||
|
||||
8
src/stub/tmp/arm64-linux.elf-fold.map
generated
vendored
8
src/stub/tmp/arm64-linux.elf-fold.map
generated
vendored
@ -12,7 +12,7 @@ LOAD tmp/arm64-expand.o
|
||||
LOAD tmp/arm64-linux.elf-main2.o
|
||||
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
|
||||
|
||||
.text 0x0000000000000000 0xaa0
|
||||
.text 0x0000000000000000 0xaf4
|
||||
.text 0x0000000000000000 0x248 tmp/arm64-linux.elf-fold.o
|
||||
0x0000000000000008 get_page_mask
|
||||
0x0000000000000018 mmap_privanon
|
||||
@ -20,9 +20,9 @@ OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
|
||||
0x0000000000000044 Pprotect
|
||||
0x0000000000000044 mprotect
|
||||
.text 0x0000000000000248 0x0 tmp/arm64-expand.o
|
||||
.text 0x0000000000000248 0x858 tmp/arm64-linux.elf-main2.o
|
||||
0x00000000000008fc underlay
|
||||
0x0000000000000968 upx_main
|
||||
.text 0x0000000000000248 0x8ac tmp/arm64-linux.elf-main2.o
|
||||
0x0000000000000950 underlay
|
||||
0x00000000000009bc upx_main
|
||||
|
||||
.data 0x0000000000000000 0x0
|
||||
.data 0x0000000000000000 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
6
src/stub/tmp/i386-linux.elf-fold.map
generated
vendored
6
src/stub/tmp/i386-linux.elf-fold.map
generated
vendored
@ -7,7 +7,7 @@ Name Origin Length Attributes
|
||||
Linker script and memory map
|
||||
|
||||
|
||||
.text 0x0000000000000000 0xe6a
|
||||
.text 0x0000000000000000 0xe85
|
||||
.text 0x0000000000000000 0x190 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000000008 get_page_mask
|
||||
0x0000000000000015 get_upxfn_path
|
||||
@ -15,9 +15,9 @@ Linker script and memory map
|
||||
0x000000000000041a upx_mmap_and_fd
|
||||
*fill* 0x0000000000000672 0x2 00
|
||||
.text 0x0000000000000674 0x0 tmp/i386-expand.o
|
||||
.text 0x0000000000000674 0x7f6 tmp/i386-linux.elf-main2.o
|
||||
.text 0x0000000000000674 0x811 tmp/i386-linux.elf-main2.o
|
||||
0x00000000000007c9 underlay
|
||||
0x0000000000000d16 upx_main
|
||||
0x0000000000000d31 upx_main
|
||||
|
||||
.data 0x0000000000000000 0x0
|
||||
.data 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
|
||||
12
src/stub/tmp/mips.r3000-linux.elf-fold.map
generated
vendored
12
src/stub/tmp/mips.r3000-linux.elf-fold.map
generated
vendored
@ -8,18 +8,18 @@ Linker script and memory map
|
||||
|
||||
TARGET(elf32-bigmips)
|
||||
|
||||
.text 0x0000000000000000 0xe68
|
||||
.text 0x0000000000000000 0xe50
|
||||
*(.text)
|
||||
.text 0x0000000000000000 0xe68 tmp/mips.r3000-linux.elf-fold.o
|
||||
.text 0x0000000000000000 0xe50 tmp/mips.r3000-linux.elf-fold.o
|
||||
0x00000000000000d0 get_page_mask
|
||||
0x0000000000000d48 upx_mmap_and_fd
|
||||
0x0000000000000d30 upx_mmap_and_fd
|
||||
0x00000000000000f0 get_upxfn_path
|
||||
0x0000000000000cdc underlay
|
||||
0x0000000000000b44 upx_main
|
||||
0x0000000000000cc4 underlay
|
||||
0x0000000000000b2c upx_main
|
||||
0x0000000000000010 get4unal
|
||||
0x0000000000000128 close
|
||||
*(.data)
|
||||
.data 0x0000000000000e68 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000000e50 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
|
||||
SYSCALLS 0x0000000000000000 0x178
|
||||
SYSCALLS 0x0000000000000000 0x178 tmp/mips.r3000-linux.elf-fold.o
|
||||
|
||||
12
src/stub/tmp/mipsel.r3000-linux.elf-fold.map
generated
vendored
12
src/stub/tmp/mipsel.r3000-linux.elf-fold.map
generated
vendored
@ -8,18 +8,18 @@ Linker script and memory map
|
||||
|
||||
TARGET(elf32-littlemips)
|
||||
|
||||
.text 0x0000000000000000 0xe58
|
||||
.text 0x0000000000000000 0xe40
|
||||
*(.text)
|
||||
.text 0x0000000000000000 0xe58 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.text 0x0000000000000000 0xe40 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
0x00000000000000d0 get_page_mask
|
||||
0x0000000000000d38 upx_mmap_and_fd
|
||||
0x0000000000000d20 upx_mmap_and_fd
|
||||
0x00000000000000f0 get_upxfn_path
|
||||
0x0000000000000ccc underlay
|
||||
0x0000000000000b34 upx_main
|
||||
0x0000000000000cb4 underlay
|
||||
0x0000000000000b1c upx_main
|
||||
0x0000000000000010 get4unal
|
||||
0x0000000000000128 close
|
||||
*(.data)
|
||||
.data 0x0000000000000e58 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000000e40 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
|
||||
SYSCALLS 0x0000000000000000 0x178
|
||||
SYSCALLS 0x0000000000000000 0x178 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
|
||||
10
src/stub/tmp/powerpc64-linux.elf-fold.map
generated
vendored
10
src/stub/tmp/powerpc64-linux.elf-fold.map
generated
vendored
@ -8,17 +8,17 @@ Linker script and memory map
|
||||
|
||||
TARGET(elf64-powerpc)
|
||||
|
||||
.text 0x0000000000000000 0xdd4
|
||||
.text 0x0000000000000000 0xe64
|
||||
*(.text)
|
||||
.text 0x0000000000000000 0xdd4 tmp/powerpc64-linux.elf-fold.o
|
||||
.text 0x0000000000000000 0xe64 tmp/powerpc64-linux.elf-fold.o
|
||||
0x0000000000000014 get_page_mask
|
||||
0x000000000000002c Pprotect
|
||||
0x0000000000000050 Pmap
|
||||
0x0000000000000074 Punmap
|
||||
0x0000000000000bb0 underlay
|
||||
0x0000000000000c3c upx_main
|
||||
0x0000000000000c40 underlay
|
||||
0x0000000000000ccc upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000000dd4 0x0 tmp/powerpc64-linux.elf-fold.o
|
||||
.data 0x0000000000000e64 0x0 tmp/powerpc64-linux.elf-fold.o
|
||||
|
||||
.data
|
||||
LOAD tmp/powerpc64-linux.elf-fold.o
|
||||
|
||||
10
src/stub/tmp/powerpc64le-linux.elf-fold.map
generated
vendored
10
src/stub/tmp/powerpc64le-linux.elf-fold.map
generated
vendored
@ -8,17 +8,17 @@ Linker script and memory map
|
||||
|
||||
TARGET(elf64-powerpcle)
|
||||
|
||||
.text 0x0000000000000000 0xdfc
|
||||
.text 0x0000000000000000 0xe90
|
||||
*(.text)
|
||||
.text 0x0000000000000000 0xdfc tmp/powerpc64le-linux.elf-fold.o
|
||||
.text 0x0000000000000000 0xe90 tmp/powerpc64le-linux.elf-fold.o
|
||||
0x0000000000000014 get_page_mask
|
||||
0x000000000000002c Pprotect
|
||||
0x0000000000000050 Pmap
|
||||
0x0000000000000074 Punmap
|
||||
0x0000000000000bd8 underlay
|
||||
0x0000000000000c64 upx_main
|
||||
0x0000000000000c6c underlay
|
||||
0x0000000000000cf8 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000000dfc 0x0 tmp/powerpc64le-linux.elf-fold.o
|
||||
.data 0x0000000000000e90 0x0 tmp/powerpc64le-linux.elf-fold.o
|
||||
|
||||
.data
|
||||
LOAD tmp/powerpc64le-linux.elf-fold.o
|
||||
|
||||
Loading…
Reference in New Issue
Block a user