mirror of
https://github.com/upx/upx.git
synced 2025-03-03 21:37:01 +00:00
mips stub uses new strategy
modified: p_lx_elf.cpp modified: stub/src/arch/mips/r3000/macros.ash modified: stub/src/arm64-linux.elf-entry.S modified: stub/src/i386-linux.elf-main.c modified: stub/src/mipsel.r3000-linux.elf-entry.S modified: stub/src/mipsel.r3000-linux.elf-fold.S also .h, .bin.dump, .map
This commit is contained in:
parent
85eb4c7537
commit
e0bc040b0a
160
src/p_lx_elf.cpp
160
src/p_lx_elf.cpp
@ -590,44 +590,6 @@ void PackLinuxElf::defineSymbols(Filter const *)
|
||||
void PackLinuxElf32::defineSymbols(Filter const *ft)
|
||||
{
|
||||
PackLinuxElf::defineSymbols(ft);
|
||||
|
||||
// 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
|
||||
// size (total over all PT_LOAD32) as an upper bound.
|
||||
unsigned len = 0; // XXX: 4GB
|
||||
upx_uint32_t lo_va_user = ~0u; // infinity
|
||||
for (int j= e_phnum; --j>=0; ) {
|
||||
if (PT_LOAD32 == get_te32(&phdri[j].p_type)) {
|
||||
len += (unsigned)get_te32(&phdri[j].p_filesz);
|
||||
upx_uint32_t const va = get_te32(&phdri[j].p_vaddr);
|
||||
if (va < lo_va_user) {
|
||||
lo_va_user = va;
|
||||
}
|
||||
}
|
||||
}
|
||||
lsize = /*getLoaderSize()*/ 64 * 1024; // XXX: upper bound; avoid circularity
|
||||
upx_uint32_t lo_va_stub = get_te32(&elfout.phdr[0].p_vaddr);
|
||||
upx_uint32_t adrm;
|
||||
len += (7&-lsize) + lsize;
|
||||
const upx_uint32_t my_page_size = 4096u;
|
||||
const upx_uint32_t my_page_mask = 0u - 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 PackLinuxElf32::updateLoader
|
||||
set_te32( &elfout.ehdr.e_entry,
|
||||
get_te32(&elfout.ehdr.e_entry) + lo_va_user - lo_va_stub);
|
||||
set_te32(&elfout.phdr[0].p_vaddr, lo_va_user);
|
||||
set_te32(&elfout.phdr[0].p_paddr, lo_va_user);
|
||||
lo_va_stub = lo_va_user;
|
||||
adrm = getbrk(phdri, e_phnum) - lo_va_user;
|
||||
}
|
||||
else {
|
||||
adrm = len;
|
||||
}
|
||||
adrm = my_page_mask & (~my_page_mask + adrm); // round up to page boundary
|
||||
|
||||
//linker->dumpSymbols(); // debug
|
||||
}
|
||||
|
||||
void PackLinuxElf64::defineSymbols(Filter const *ft)
|
||||
@ -3030,133 +2992,11 @@ void PackLinuxElf64arm::defineSymbols(Filter const *ft)
|
||||
void PackLinuxElf32mipseb::defineSymbols(Filter const *ft)
|
||||
{
|
||||
PackLinuxElf32::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
|
||||
// size (total over all PT_LOAD32) as an upper bound.
|
||||
unsigned len = 0;
|
||||
unsigned lo_va_user = ~0u; // infinity
|
||||
for (int j= e_phnum; --j>=0; ) {
|
||||
if (PT_LOAD32 == get_te32(&phdri[j].p_type)) {
|
||||
len += (unsigned)get_te32(&phdri[j].p_filesz);
|
||||
unsigned const va = get_te32(&phdri[j].p_vaddr);
|
||||
if (va < lo_va_user) {
|
||||
lo_va_user = va;
|
||||
}
|
||||
}
|
||||
}
|
||||
lsize = /*getLoaderSize()*/ 64 * 1024; // XXX: upper bound; avoid circularity
|
||||
unsigned lo_va_stub = get_te32(&elfout.phdr[0].p_vaddr);
|
||||
unsigned adrc;
|
||||
unsigned adrm;
|
||||
unsigned adru;
|
||||
unsigned adrx;
|
||||
unsigned lenm;
|
||||
unsigned lenu;
|
||||
len += (7&-lsize) + lsize;
|
||||
is_big = (lo_va_user < (lo_va_stub + len + 2*page_size));
|
||||
if (is_big) {
|
||||
set_te32( &elfout.ehdr.e_entry,
|
||||
get_te32(&elfout.ehdr.e_entry) + lo_va_user - lo_va_stub);
|
||||
set_te32(&elfout.phdr[0].p_vaddr, lo_va_user);
|
||||
set_te32(&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;
|
||||
}
|
||||
else {
|
||||
adrm = lo_va_stub + len;
|
||||
adrc = adrm;
|
||||
adru = lo_va_stub;
|
||||
adrx = lo_va_stub + hlen;
|
||||
lenm = page_size;
|
||||
lenu = 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
|
||||
|
||||
linker->defineSymbol("ADRC", adrc); // addr for copy
|
||||
linker->defineSymbol("LENU", lenu); // len for unmap
|
||||
linker->defineSymbol("ADRU", adru); // addr for unmap
|
||||
linker->defineSymbol("LENM", lenm); // len for map
|
||||
linker->defineSymbol("ADRM", adrm); // addr for map
|
||||
|
||||
//linker->dumpSymbols(); // debug
|
||||
}
|
||||
|
||||
void PackLinuxElf32mipsel::defineSymbols(Filter const *ft)
|
||||
{
|
||||
PackLinuxElf32::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
|
||||
// size (total over all PT_LOAD32) as an upper bound.
|
||||
unsigned len = 0;
|
||||
unsigned lo_va_user = ~0u; // infinity
|
||||
for (int j= e_phnum; --j>=0; ) {
|
||||
if (PT_LOAD32 == get_te32(&phdri[j].p_type)) {
|
||||
len += (unsigned)get_te32(&phdri[j].p_filesz);
|
||||
unsigned const va = get_te32(&phdri[j].p_vaddr);
|
||||
if (va < lo_va_user) {
|
||||
lo_va_user = va;
|
||||
}
|
||||
}
|
||||
}
|
||||
lsize = /*getLoaderSize()*/ 64 * 1024; // XXX: upper bound; avoid circularity
|
||||
unsigned lo_va_stub = get_te32(&elfout.phdr[0].p_vaddr);
|
||||
unsigned adrc;
|
||||
unsigned adrm;
|
||||
unsigned adru;
|
||||
unsigned adrx;
|
||||
unsigned lenm;
|
||||
unsigned lenu;
|
||||
len += (7&-lsize) + lsize;
|
||||
is_big = (lo_va_user < (lo_va_stub + len + 2*page_size));
|
||||
if (is_big) {
|
||||
set_te32( &elfout.ehdr.e_entry,
|
||||
get_te32(&elfout.ehdr.e_entry) + lo_va_user - lo_va_stub);
|
||||
set_te32(&elfout.phdr[0].p_vaddr, lo_va_user);
|
||||
set_te32(&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;
|
||||
}
|
||||
else {
|
||||
adrm = lo_va_stub + len;
|
||||
adrc = adrm;
|
||||
adru = lo_va_stub;
|
||||
adrx = lo_va_stub + hlen;
|
||||
lenm = 2*page_size;
|
||||
lenu = 2*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
|
||||
|
||||
linker->defineSymbol("ADRC", adrc); // addr for copy
|
||||
linker->defineSymbol("LENU", lenu); // len for unmap
|
||||
linker->defineSymbol("ADRU", adru); // addr for unmap
|
||||
linker->defineSymbol("LENM", lenm); // len for map
|
||||
linker->defineSymbol("ADRM", adrm); // addr for map
|
||||
|
||||
//linker->dumpSymbols(); // debug
|
||||
}
|
||||
|
||||
void PackLinuxElf32::pack4(OutputFile *fo, Filter &ft)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* mips.r3000-linux.elf-fold.h
|
||||
created from mips.r3000-linux.elf-fold.bin, 2496 (0x9c0) bytes
|
||||
created from mips.r3000-linux.elf-fold.bin, 2572 (0xa0c) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -31,165 +31,170 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2496
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0xf3d41c26
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x298ad943
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2572
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0x82082a81
|
||||
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x282d6337
|
||||
|
||||
unsigned char stub_mips_r3000_linux_elf_fold[2496] = {
|
||||
unsigned char stub_mips_r3000_linux_elf_fold[2572] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 2, 0, 8, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 48, 1, 0, 52, 0, 32, 0, 2, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0,
|
||||
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 9,192, 0, 0, 9,192, 0, 0, 0, 5,
|
||||
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 9,192, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 10, 12, 0, 0, 10, 16, 0, 0, 0, 5,
|
||||
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 10, 12, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 39,162, 0, 32, 39,189,240, 24, 3,160, 24, 33,140, 65, 0, 0,
|
||||
/* 0x0090 */ 36, 66, 0, 4,172, 97, 0, 0, 36, 99, 0, 4, 20, 32,255,251,
|
||||
/* 0x00a0 */ 0, 96,128, 33, 36, 99, 0, 4,140, 65, 0, 0, 36, 66, 0, 4,
|
||||
/* 0x00b0 */ 172, 97, 0, 0, 36, 99, 0, 4, 20, 32,255,251, 0, 96,160, 33,
|
||||
/* 0x00c0 */ 140, 65, 0, 0,140, 72, 0, 4, 36, 66, 0, 8,172, 97, 0, 0,
|
||||
/* 0x00d0 */ 172,104, 0, 4, 36, 99, 0, 8, 36, 33,255,250, 20, 32, 0, 2,
|
||||
/* 0x00e0 */ 36, 33, 0, 6, 0, 8,240, 35, 20, 32,255,245, 0, 96,176, 33,
|
||||
/* 0x00f0 */ 174, 3, 0, 0, 36, 1, 0, 32,160, 97, 0, 0,160, 97, 0, 1,
|
||||
/* 0x0100 */ 160, 97, 0, 2, 36, 1, 0, 61,160, 97, 0, 3, 36, 6, 15,255,
|
||||
/* 0x0110 */ 36,101, 0, 4, 4, 17, 0, 5, 3,224, 32, 33, 47,112,114,111,
|
||||
/* 0x0120 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 36, 2, 15,245,
|
||||
/* 0x0130 */ 0, 0, 0, 12, 4,224, 0, 2, 0,162, 8, 33,160, 32, 0, 0,
|
||||
/* 0x0140 */ 39,189,254, 0, 3,192, 80, 33, 0, 0, 72, 33, 2,224, 64, 33,
|
||||
/* 0x0150 */ 2,128, 56, 33, 3,160, 48, 33, 2,160, 40, 33, 4, 16, 0, 1,
|
||||
/* 0x0160 */ 36, 2, 1,100, 3,226, 16, 35, 36, 66, 8, 48, 0, 64,248, 9,
|
||||
/* 0x0170 */ 2, 32, 32, 33, 0, 64,200, 33, 39,161, 2, 0, 39,189,254,212,
|
||||
/* 0x0180 */ 39,189, 0, 4, 23,161,255,254,175,160,255,252,142,193,255,252,
|
||||
/* 0x0190 */ 2, 64, 40, 33, 16, 32, 0, 3, 2, 96, 32, 33, 0, 32, 0, 8,
|
||||
/* 0x01a0 */ 36, 2, 15,251, 3, 32, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01b0 */ 36, 2, 15,250, 39,189,255,224,175,168, 0, 16,175,169, 0, 20,
|
||||
/* 0x01c0 */ 0, 0, 0, 12, 16, 0, 0, 2, 39,189, 0, 32, 0, 0, 0, 12,
|
||||
/* 0x01d0 */ 20,224, 0, 3, 0, 0, 0, 0, 3,224, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x01e0 */ 3,224, 0, 8, 36, 2,255,255, 3,224, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x01f0 */ 140,130, 0, 0,140,135, 0, 4, 0, 70, 16, 43, 20, 64, 0, 3,
|
||||
/* 0x0200 */ 36, 2, 15,161, 16, 0, 0, 10, 0,192, 24, 33, 36, 4, 0,127,
|
||||
/* 0x0210 */ 4, 17,255,238, 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0,
|
||||
/* 0x0220 */ 144,226, 0, 0, 36,231, 0, 1,160,162, 0, 0, 36,165, 0, 1,
|
||||
/* 0x0230 */ 36, 99,255,255, 36, 2,255,255, 20, 98,255,249, 0, 0, 0, 0,
|
||||
/* 0x0240 */ 140,131, 0, 4,140,130, 0, 0, 0,102, 24, 33, 0, 70, 16, 35,
|
||||
/* 0x0250 */ 172,130, 0, 0, 3,224, 0, 8,172,131, 0, 4, 39,189,255,216,
|
||||
/* 0x0260 */ 175,179, 0, 28,175,178, 0, 24,175,177, 0, 20,175,176, 0, 16,
|
||||
/* 0x0270 */ 0,128,136, 33, 0,160,128, 33, 0,192,152, 33, 0,224,144, 33,
|
||||
/* 0x0280 */ 16, 0, 0, 82,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216,
|
||||
/* 0x0290 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 10,
|
||||
/* 0x02a0 */ 60, 2, 33, 88, 52, 66, 80, 85, 20,194, 0, 10, 36, 4, 0,127,
|
||||
/* 0x02b0 */ 142, 34, 0, 0, 0, 0, 0, 0, 20, 64, 0, 7, 36, 2, 15,161,
|
||||
/* 0x02c0 */ 16, 0, 0, 70, 0, 0, 0, 0, 20,192, 0, 7, 0,102, 16, 43,
|
||||
/* 0x02d0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,255,188, 0, 0, 0, 0,
|
||||
/* 0x02e0 */ 16, 0,255,255, 0, 0, 0, 0, 20, 64,255,250, 36, 4, 0,127,
|
||||
/* 0x02f0 */ 142, 2, 0, 0, 0, 0, 0, 0, 0, 67, 16, 43, 20, 64,255,245,
|
||||
/* 0x0300 */ 0,195, 16, 43,142, 7, 0, 4, 16, 64, 0, 39, 0,224, 40, 33,
|
||||
/* 0x0310 */ 142, 36, 0, 4,147,168, 0, 12, 0,192, 40, 33,175,163, 0, 0,
|
||||
/* 0x0320 */ 0,224, 48, 33, 2, 96,248, 9, 3,160, 56, 33, 20, 64,255,233,
|
||||
/* 0x0330 */ 36, 4, 0,127,143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0,
|
||||
/* 0x0340 */ 20,162,255,228, 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0,
|
||||
/* 0x0350 */ 16,224, 0, 13, 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1,
|
||||
/* 0x0360 */ 16, 64, 0, 5, 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0370 */ 20, 69, 0, 5, 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14,
|
||||
/* 0x0380 */ 2, 64,248, 9, 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4,
|
||||
/* 0x0390 */ 142, 36, 0, 0, 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4,
|
||||
/* 0x03a0 */ 16, 0, 0, 3,174, 36, 0, 0, 4, 17,255,145, 2, 32, 32, 33,
|
||||
/* 0x03b0 */ 143,162, 0, 4,142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33,
|
||||
/* 0x03c0 */ 0,130, 32, 35,174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0,
|
||||
/* 0x03d0 */ 0, 0, 0, 0, 20, 64,255,172, 36, 6, 0, 12,143,191, 0, 32,
|
||||
/* 0x03e0 */ 143,179, 0, 28,143,178, 0, 24,143,177, 0, 20,143,176, 0, 16,
|
||||
/* 0x03f0 */ 3,224, 0, 8, 39,189, 0, 40, 16,128, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x0400 */ 140,130, 0, 0, 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0,
|
||||
/* 0x0410 */ 16, 0,255,251, 36,132, 0, 8,172,134, 0, 4, 3,224, 0, 8,
|
||||
/* 0x0420 */ 0, 0, 0, 0, 39,189,255,168,175,190, 0, 80,175,180, 0, 64,
|
||||
/* 0x0430 */ 175,177, 0, 52,175,191, 0, 84,175,183, 0, 76,175,182, 0, 72,
|
||||
/* 0x0440 */ 175,181, 0, 68,175,179, 0, 60,175,178, 0, 56,175,176, 0, 48,
|
||||
/* 0x0450 */ 148,162, 0, 16,140,163, 0, 28, 0,160,160, 33, 56, 66, 0, 2,
|
||||
/* 0x0460 */ 148,165, 0, 44, 44, 66, 0, 1, 2,131,136, 33,175,164, 0, 28,
|
||||
/* 0x0470 */ 0,192,240, 33,175,167, 0, 32,175,168, 0, 36,175,169, 0, 40,
|
||||
/* 0x0480 */ 1, 64, 32, 33, 0, 2, 57, 0, 36,165,255,255, 0, 11, 16, 39,
|
||||
/* 0x0490 */ 2, 32, 48, 33, 36, 8,255,255, 0, 0, 72, 33, 36, 10, 0, 1,
|
||||
/* 0x04a0 */ 16, 0, 0, 19,175,162, 0, 20,140,194, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04b0 */ 20, 74, 0, 14, 36,165,255,255,140,195, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x04c0 */ 0,104, 16, 43, 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 64, 33,
|
||||
/* 0x04d0 */ 140,194, 0, 20, 0, 0, 0, 0, 0, 98, 24, 33, 1, 35, 16, 43,
|
||||
/* 0x04e0 */ 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 72, 33, 36,198, 0, 32,
|
||||
/* 0x04f0 */ 4,161,255,237, 1,104,128, 36, 1, 48, 16, 35, 0, 75, 16, 35,
|
||||
/* 0x0500 */ 36, 66,255,255, 1, 98, 88, 36, 48,227, 0, 16, 16, 96, 0, 3,
|
||||
/* 0x0510 */ 175,171, 0, 8, 16, 0, 0, 8, 2, 0, 32, 33, 18, 0, 0, 3,
|
||||
/* 0x0520 */ 0, 0, 0, 0, 16, 0, 0, 4, 0, 0, 32, 33, 16,128, 0, 2,
|
||||
/* 0x0530 */ 0, 0, 0, 0, 52,231, 0, 16,143,165, 0, 8, 52,231, 8, 2,
|
||||
/* 0x0540 */ 0, 0, 48, 33, 36, 8,255,255, 4, 17,255, 25, 0, 0, 72, 33,
|
||||
/* 0x0550 */ 0, 80,184, 35,175,162, 0, 12, 16, 0, 0,144,175,160, 0, 16,
|
||||
/* 0x0560 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0,136, 0, 0, 0, 0,
|
||||
/* 0x0570 */ 19,192, 0, 12, 0, 0, 0, 0,142, 34, 0, 4, 0, 0, 0, 0,
|
||||
/* 0x0580 */ 20, 64, 0, 8, 0, 0, 0, 0,143,164, 0, 32, 4, 17,255,154,
|
||||
/* 0x0590 */ 36, 5, 0, 5,143,164, 0, 32,150,134, 0, 42, 4, 17,255,150,
|
||||
/* 0x05a0 */ 36, 5, 0, 4,142, 34, 0, 8,142, 35, 0, 24, 2,226,176, 33,
|
||||
/* 0x05b0 */ 60, 2,115, 81, 0, 3, 24,128, 52, 66, 98, 64, 0, 98,144, 6,
|
||||
/* 0x05c0 */ 143,163, 0, 20,142, 36, 0, 16, 2,195, 16, 36,175,164, 0, 0,
|
||||
/* 0x05d0 */ 0,130,152, 33,142, 36, 0, 20,175,182, 0, 4, 50, 85, 0, 7,
|
||||
/* 0x05e0 */ 175,164, 0, 24, 19,192, 0, 22, 2,194,128, 35, 2, 0, 32, 33,
|
||||
/* 0x05f0 */ 2, 96, 40, 33, 36, 6, 0, 3, 36, 7, 8, 18, 36, 8,255,255,
|
||||
/* 0x0600 */ 4, 17,254,235, 0, 0, 72, 33, 22, 2, 0, 74, 50, 66, 0, 4,
|
||||
/* 0x0610 */ 16, 64, 0, 4, 0, 0, 0, 0,143,167, 0, 40, 16, 0, 0, 2,
|
||||
/* 0x0620 */ 0, 0, 0, 0, 0, 0, 56, 33,143,166, 0, 28, 3,192, 32, 33,
|
||||
/* 0x0630 */ 4, 17,255, 10, 3,160, 40, 33, 16, 0, 0, 11, 0, 0, 0, 0,
|
||||
/* 0x0640 */ 142, 41, 0, 4,143,168, 0, 28, 2, 0, 32, 33, 1, 34, 72, 35,
|
||||
/* 0x0650 */ 2, 96, 40, 33, 2,160, 48, 33, 4, 17,254,213, 36, 7, 0, 18,
|
||||
/* 0x0660 */ 22, 2, 0, 53, 36, 4, 0,127,143,164, 0, 20, 0, 19, 16, 35,
|
||||
/* 0x0670 */ 50,163, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, 18, 64, 0, 6,
|
||||
/* 0x0680 */ 2, 64, 16, 33, 2, 19, 24, 33, 36, 66,255,255,160, 96, 0, 0,
|
||||
/* 0x0690 */ 20, 64,255,253, 36, 99, 0, 1, 19,192, 0, 43, 36, 2, 0, 1,
|
||||
/* 0x06a0 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 28, 2, 0, 32, 33,
|
||||
/* 0x06b0 */ 142, 34, 0, 24, 0, 0, 0, 0, 48, 66, 0, 1, 16, 64, 0, 24,
|
||||
/* 0x06c0 */ 2, 96, 40, 33,142, 36, 0, 20,142, 34, 0, 16,142, 35, 0, 8,
|
||||
/* 0x06d0 */ 20,130, 0, 17, 0,131, 16, 33, 0, 87, 48, 33,143,163, 0, 20,
|
||||
/* 0x06e0 */ 0, 6, 16, 35, 0, 98, 16, 36, 44, 66, 0, 12, 20, 64, 0, 12,
|
||||
/* 0x06f0 */ 2, 0, 32, 33, 36, 2, 0, 12,172,194, 0, 0, 60, 2, 3, 32,
|
||||
/* 0x0700 */ 52, 66, 0, 8,143,164, 0, 32,172,194, 0, 4,172,192, 0, 8,
|
||||
/* 0x0710 */ 4, 17,255, 57, 0, 0, 40, 33, 2, 0, 32, 33, 2, 96, 40, 33,
|
||||
/* 0x0720 */ 2,160, 48, 33, 4, 17,254,169, 36, 2, 16, 29, 16, 64, 0, 6,
|
||||
/* 0x0730 */ 0, 0, 0, 0, 36, 4, 0,127, 4, 17,254,164, 36, 2, 15,161,
|
||||
/* 0x0740 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, 2,114, 16, 33,
|
||||
/* 0x0750 */ 2,196, 40, 33, 2, 2,128, 33, 2, 5, 16, 43, 16, 64, 0, 11,
|
||||
/* 0x0760 */ 0,176, 40, 35, 2,160, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18,
|
||||
/* 0x0770 */ 36, 8,255,255, 4, 17,254,142, 0, 0, 72, 33, 18, 2, 0, 3,
|
||||
/* 0x0780 */ 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0,143,162, 0, 16,
|
||||
/* 0x0790 */ 38, 49, 0, 32, 36, 66, 0, 1,175,162, 0, 16,150,134, 0, 44,
|
||||
/* 0x07a0 */ 143,163, 0, 16, 0, 0, 0, 0, 0,102, 16, 42, 20, 64,255,108,
|
||||
/* 0x07b0 */ 36, 2, 0, 1, 19,192, 0, 11, 36, 2, 0, 3,150,131, 0, 16,
|
||||
/* 0x07c0 */ 0, 0, 0, 0, 16, 98, 0, 7, 0, 0, 0, 0,143,162, 0, 8,
|
||||
/* 0x07d0 */ 143,163, 0, 12, 0, 0, 0, 0, 0, 67, 32, 33, 4, 17,254,123,
|
||||
/* 0x07e0 */ 36, 2, 15,205,143,164, 0, 36, 0, 0, 0, 0, 16,128, 0, 2,
|
||||
/* 0x07f0 */ 0, 0, 0, 0,172,151, 0, 0,142,130, 0, 24,143,191, 0, 84,
|
||||
/* 0x0800 */ 2,226, 16, 33,143,190, 0, 80,143,183, 0, 76,143,182, 0, 72,
|
||||
/* 0x0810 */ 143,181, 0, 68,143,180, 0, 64,143,179, 0, 60,143,178, 0, 56,
|
||||
/* 0x0820 */ 143,177, 0, 52,143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88,
|
||||
/* 0x0830 */ 39,189,255,200,175,191, 0, 52,175,180, 0, 48,175,179, 0, 44,
|
||||
/* 0x0840 */ 175,178, 0, 40,175,177, 0, 36,175,176, 0, 32, 1, 0,136, 33,
|
||||
/* 0x0850 */ 140,136, 0, 0, 0,160, 24, 33, 0,128, 16, 33, 0,192,144, 33,
|
||||
/* 0x0860 */ 0,224,152, 33, 1, 64,160, 33, 2, 32, 48, 33, 1, 32,128, 33,
|
||||
/* 0x0870 */ 39,164, 0, 20, 39,165, 0, 4, 0, 0, 56, 33,175,163, 0, 20,
|
||||
/* 0x0880 */ 175,163, 0, 12,175,168, 0, 4,175,162, 0, 24,175,162, 0, 16,
|
||||
/* 0x0890 */ 4, 17,254,114,175,178, 0, 8, 2, 32, 32, 33, 2, 0, 72, 33,
|
||||
/* 0x08a0 */ 2, 64, 40, 33, 39,166, 0, 12, 2, 96, 56, 33, 3,160, 64, 33,
|
||||
/* 0x08b0 */ 0, 0, 80, 33, 2,128, 88, 33, 4, 17,254,218,175,160, 0, 0,
|
||||
/* 0x08c0 */ 0, 64, 48, 33, 2, 96, 32, 33, 36, 5, 0, 9, 4, 17,254,202,
|
||||
/* 0x08d0 */ 0, 64,136, 33,150, 70, 0, 44, 38, 68, 0, 52, 16, 0, 0, 44,
|
||||
/* 0x08e0 */ 0, 0, 40, 33,140,131, 0, 0, 36, 2, 0, 3, 20, 98, 0, 40,
|
||||
/* 0x08f0 */ 36,132, 0, 32, 36,132,255,224,140,130, 0, 8,143,164, 0, 0,
|
||||
/* 0x0900 */ 0, 0, 40, 33, 0, 68, 32, 33, 0, 0, 48, 33, 4, 17,254, 47,
|
||||
/* 0x0910 */ 36, 2, 15,165, 4, 64, 0, 9, 0, 64,128, 33, 0, 64, 32, 33,
|
||||
/* 0x0920 */ 2, 64, 40, 33, 36, 6, 2, 0, 4, 17,254, 40, 36, 2, 15,163,
|
||||
/* 0x0930 */ 36, 3, 2, 0, 16, 67, 0, 6, 2,128, 88, 33, 36, 4, 0,127,
|
||||
/* 0x0940 */ 4, 17,254, 34, 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0,
|
||||
/* 0x0950 */ 2, 96, 56, 33, 3,160, 64, 33, 0, 0, 72, 33, 0, 0, 80, 33,
|
||||
/* 0x0960 */ 4, 17,254,176, 0, 0, 48, 33,143,166, 0, 0, 2, 96, 32, 33,
|
||||
/* 0x0970 */ 36, 5, 0, 7, 4, 17,254,160, 0, 64,136, 33, 2, 0, 32, 33,
|
||||
/* 0x0980 */ 4, 17,254, 18, 36, 2, 15,166, 16, 0, 0, 5, 2, 32, 16, 33,
|
||||
/* 0x0990 */ 0,166, 16, 42, 20, 64,255,211, 36,165, 0, 1, 2, 32, 16, 33,
|
||||
/* 0x09a0 */ 143,191, 0, 52,143,180, 0, 48,143,179, 0, 44,143,178, 0, 40,
|
||||
/* 0x09b0 */ 143,177, 0, 36,143,176, 0, 32, 3,224, 0, 8, 39,189, 0, 56
|
||||
/* 0x0080 */ 36, 2, 0, 0, 3,224, 0, 8, 0, 2, 18, 64, 0, 0, 0, 0,
|
||||
/* 0x0090 */ 143,178, 0, 24,143,179, 0, 28, 3,160, 16, 33, 39,189,240, 16,
|
||||
/* 0x00a0 */ 3,160, 24, 33,140, 65, 0, 0, 36, 66, 0, 4,172, 97, 0, 0,
|
||||
/* 0x00b0 */ 36, 99, 0, 4, 20, 86,255,251, 36,105,255,252,172, 96, 0, 0,
|
||||
/* 0x00c0 */ 36, 99, 0, 4, 0, 96,176, 33,140, 65, 0, 0,140, 72, 0, 4,
|
||||
/* 0x00d0 */ 36, 66, 0, 8,172, 97, 0, 0,172,104, 0, 4, 36, 99, 0, 8,
|
||||
/* 0x00e0 */ 20, 32,255,249, 0, 96,160, 33,173, 35, 0, 0, 36, 1, 0, 32,
|
||||
/* 0x00f0 */ 160, 97, 0, 0,160, 97, 0, 1,160, 97, 0, 2, 36, 1, 0, 61,
|
||||
/* 0x0100 */ 160, 97, 0, 3, 36, 6, 15,255, 36,101, 0, 4, 4, 17, 0, 5,
|
||||
/* 0x0110 */ 3,224, 32, 33, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
|
||||
/* 0x0120 */ 120,101, 0, 0, 36, 2, 15,245, 0, 0, 0, 12, 4,224, 0, 2,
|
||||
/* 0x0130 */ 0,162, 8, 33,160, 32, 0, 0, 39,189,254, 0, 3,128, 88, 33,
|
||||
/* 0x0140 */ 2,160, 80, 33, 0, 0, 72, 33, 3,192, 64, 33, 2,192, 56, 33,
|
||||
/* 0x0150 */ 3,160, 48, 33, 2, 32, 40, 33, 4, 16, 0, 1, 36, 2, 1, 96,
|
||||
/* 0x0160 */ 3,226, 16, 35, 36, 66, 8,112, 0, 64,248, 9, 2, 0, 32, 33,
|
||||
/* 0x0170 */ 39,189, 2, 0, 0, 64,240, 33,143,168, 0, 20, 0, 0, 72, 33,
|
||||
/* 0x0180 */ 175,168, 0, 16,175,169, 0, 20, 36, 7, 0, 2, 36, 6, 0, 1,
|
||||
/* 0x0190 */ 0, 28, 40, 34, 0, 0, 32, 33, 36, 2, 15,250, 0, 0, 0, 12,
|
||||
/* 0x01a0 */ 143,164, 0, 16, 36, 2, 15,166, 0, 0, 0, 12, 39,189, 0, 32,
|
||||
/* 0x01b0 */ 3,160, 8, 33, 39,189,254,212, 39,189, 0, 4, 23,161,255,254,
|
||||
/* 0x01c0 */ 175,160,255,252,142,129,255,252, 2, 96, 40, 33, 16, 32, 0, 3,
|
||||
/* 0x01d0 */ 2, 64, 32, 33, 0, 32, 0, 8, 36, 2, 15,251, 3,192, 0, 8,
|
||||
/* 0x01e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01f0 */ 36, 2, 15,250, 39,189,255,224,175,168, 0, 16,175,169, 0, 20,
|
||||
/* 0x0200 */ 0, 0, 0, 12, 16, 0, 0, 2, 39,189, 0, 32, 0, 0, 0, 12,
|
||||
/* 0x0210 */ 20,224, 0, 3, 0, 0, 0, 0, 3,224, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x0220 */ 3,224, 0, 8, 36, 2,255,255, 3,224, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x0230 */ 140,130, 0, 0,140,135, 0, 4, 0, 70, 16, 43, 20, 64, 0, 3,
|
||||
/* 0x0240 */ 36, 2, 15,161, 16, 0, 0, 10, 0,192, 24, 33, 36, 4, 0,127,
|
||||
/* 0x0250 */ 4, 17,255,238, 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0,
|
||||
/* 0x0260 */ 144,226, 0, 0, 36,231, 0, 1,160,162, 0, 0, 36,165, 0, 1,
|
||||
/* 0x0270 */ 36, 99,255,255, 36, 2,255,255, 20, 98,255,249, 0, 0, 0, 0,
|
||||
/* 0x0280 */ 140,131, 0, 4,140,130, 0, 0, 0,102, 24, 33, 0, 70, 16, 35,
|
||||
/* 0x0290 */ 172,130, 0, 0, 3,224, 0, 8,172,131, 0, 4, 39,189,255,216,
|
||||
/* 0x02a0 */ 175,179, 0, 28,175,178, 0, 24,175,177, 0, 20,175,176, 0, 16,
|
||||
/* 0x02b0 */ 0,128,136, 33, 0,160,128, 33, 0,192,152, 33, 0,224,144, 33,
|
||||
/* 0x02c0 */ 16, 0, 0, 82,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216,
|
||||
/* 0x02d0 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 10,
|
||||
/* 0x02e0 */ 60, 2, 33, 88, 52, 66, 80, 85, 20,194, 0, 10, 36, 4, 0,127,
|
||||
/* 0x02f0 */ 142, 34, 0, 0, 0, 0, 0, 0, 20, 64, 0, 7, 36, 2, 15,161,
|
||||
/* 0x0300 */ 16, 0, 0, 70, 0, 0, 0, 0, 20,192, 0, 7, 0,102, 16, 43,
|
||||
/* 0x0310 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,255,188, 0, 0, 0, 0,
|
||||
/* 0x0320 */ 16, 0,255,255, 0, 0, 0, 0, 20, 64,255,250, 36, 4, 0,127,
|
||||
/* 0x0330 */ 142, 2, 0, 0, 0, 0, 0, 0, 0, 67, 16, 43, 20, 64,255,245,
|
||||
/* 0x0340 */ 0,195, 16, 43,142, 7, 0, 4, 16, 64, 0, 39, 0,224, 40, 33,
|
||||
/* 0x0350 */ 142, 36, 0, 4,147,168, 0, 12, 0,192, 40, 33,175,163, 0, 0,
|
||||
/* 0x0360 */ 0,224, 48, 33, 2, 96,248, 9, 3,160, 56, 33, 20, 64,255,233,
|
||||
/* 0x0370 */ 36, 4, 0,127,143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0,
|
||||
/* 0x0380 */ 20,162,255,228, 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0,
|
||||
/* 0x0390 */ 16,224, 0, 13, 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1,
|
||||
/* 0x03a0 */ 16, 64, 0, 5, 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03b0 */ 20, 69, 0, 5, 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14,
|
||||
/* 0x03c0 */ 2, 64,248, 9, 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4,
|
||||
/* 0x03d0 */ 142, 36, 0, 0, 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4,
|
||||
/* 0x03e0 */ 16, 0, 0, 3,174, 36, 0, 0, 4, 17,255,145, 2, 32, 32, 33,
|
||||
/* 0x03f0 */ 143,162, 0, 4,142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33,
|
||||
/* 0x0400 */ 0,130, 32, 35,174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0,
|
||||
/* 0x0410 */ 0, 0, 0, 0, 20, 64,255,172, 36, 6, 0, 12,143,191, 0, 32,
|
||||
/* 0x0420 */ 143,179, 0, 28,143,178, 0, 24,143,177, 0, 20,143,176, 0, 16,
|
||||
/* 0x0430 */ 3,224, 0, 8, 39,189, 0, 40, 16,128, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x0440 */ 140,130, 0, 0, 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0,
|
||||
/* 0x0450 */ 16, 0,255,251, 36,132, 0, 8,172,134, 0, 4, 3,224, 0, 8,
|
||||
/* 0x0460 */ 0, 0, 0, 0, 39,189,255,168,175,190, 0, 80,175,180, 0, 64,
|
||||
/* 0x0470 */ 175,177, 0, 52,175,191, 0, 84,175,183, 0, 76,175,182, 0, 72,
|
||||
/* 0x0480 */ 175,181, 0, 68,175,179, 0, 60,175,178, 0, 56,175,176, 0, 48,
|
||||
/* 0x0490 */ 148,162, 0, 16,140,163, 0, 28, 0,160,160, 33, 56, 66, 0, 2,
|
||||
/* 0x04a0 */ 148,165, 0, 44, 44, 66, 0, 1, 2,131,136, 33,175,164, 0, 28,
|
||||
/* 0x04b0 */ 0,192,240, 33,175,167, 0, 32,175,168, 0, 36,175,169, 0, 40,
|
||||
/* 0x04c0 */ 1, 64, 32, 33, 0, 2, 57, 0, 36,165,255,255, 0, 11, 16, 39,
|
||||
/* 0x04d0 */ 2, 32, 48, 33, 36, 8,255,255, 0, 0, 72, 33, 36, 10, 0, 1,
|
||||
/* 0x04e0 */ 16, 0, 0, 19,175,162, 0, 20,140,194, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04f0 */ 20, 74, 0, 14, 36,165,255,255,140,195, 0, 8, 0, 0, 0, 0,
|
||||
/* 0x0500 */ 0,104, 16, 43, 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 64, 33,
|
||||
/* 0x0510 */ 140,194, 0, 20, 0, 0, 0, 0, 0, 98, 24, 33, 1, 35, 16, 43,
|
||||
/* 0x0520 */ 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 72, 33, 36,198, 0, 32,
|
||||
/* 0x0530 */ 4,161,255,237, 1,104,128, 36, 1, 48, 16, 35, 0, 75, 16, 35,
|
||||
/* 0x0540 */ 36, 66,255,255, 1, 98, 88, 36, 48,227, 0, 16, 16, 96, 0, 3,
|
||||
/* 0x0550 */ 175,171, 0, 8, 16, 0, 0, 8, 2, 0, 32, 33, 18, 0, 0, 3,
|
||||
/* 0x0560 */ 0, 0, 0, 0, 16, 0, 0, 4, 0, 0, 32, 33, 16,128, 0, 2,
|
||||
/* 0x0570 */ 0, 0, 0, 0, 52,231, 0, 16,143,165, 0, 8, 52,231, 8, 2,
|
||||
/* 0x0580 */ 0, 0, 48, 33, 36, 8,255,255, 4, 17,255, 25, 0, 0, 72, 33,
|
||||
/* 0x0590 */ 0, 80,184, 35,175,162, 0, 12, 16, 0, 0,144,175,160, 0, 16,
|
||||
/* 0x05a0 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0,136, 0, 0, 0, 0,
|
||||
/* 0x05b0 */ 19,192, 0, 12, 0, 0, 0, 0,142, 34, 0, 4, 0, 0, 0, 0,
|
||||
/* 0x05c0 */ 20, 64, 0, 8, 0, 0, 0, 0,143,164, 0, 32, 4, 17,255,154,
|
||||
/* 0x05d0 */ 36, 5, 0, 5,143,164, 0, 32,150,134, 0, 42, 4, 17,255,150,
|
||||
/* 0x05e0 */ 36, 5, 0, 4,142, 34, 0, 8,142, 35, 0, 24, 2,226,176, 33,
|
||||
/* 0x05f0 */ 60, 2,115, 81, 0, 3, 24,128, 52, 66, 98, 64, 0, 98,144, 6,
|
||||
/* 0x0600 */ 143,163, 0, 20,142, 36, 0, 16, 2,195, 16, 36,175,164, 0, 0,
|
||||
/* 0x0610 */ 0,130,152, 33,142, 36, 0, 20,175,182, 0, 4, 50, 85, 0, 7,
|
||||
/* 0x0620 */ 175,164, 0, 24, 19,192, 0, 22, 2,194,128, 35, 2, 0, 32, 33,
|
||||
/* 0x0630 */ 2, 96, 40, 33, 36, 6, 0, 3, 36, 7, 8, 18, 36, 8,255,255,
|
||||
/* 0x0640 */ 4, 17,254,235, 0, 0, 72, 33, 22, 2, 0, 74, 50, 66, 0, 4,
|
||||
/* 0x0650 */ 16, 64, 0, 4, 0, 0, 0, 0,143,167, 0, 40, 16, 0, 0, 2,
|
||||
/* 0x0660 */ 0, 0, 0, 0, 0, 0, 56, 33,143,166, 0, 28, 3,192, 32, 33,
|
||||
/* 0x0670 */ 4, 17,255, 10, 3,160, 40, 33, 16, 0, 0, 11, 0, 0, 0, 0,
|
||||
/* 0x0680 */ 142, 41, 0, 4,143,168, 0, 28, 2, 0, 32, 33, 1, 34, 72, 35,
|
||||
/* 0x0690 */ 2, 96, 40, 33, 2,160, 48, 33, 4, 17,254,213, 36, 7, 0, 18,
|
||||
/* 0x06a0 */ 22, 2, 0, 53, 36, 4, 0,127,143,164, 0, 20, 0, 19, 16, 35,
|
||||
/* 0x06b0 */ 50,163, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, 18, 64, 0, 6,
|
||||
/* 0x06c0 */ 2, 64, 16, 33, 2, 19, 24, 33, 36, 66,255,255,160, 96, 0, 0,
|
||||
/* 0x06d0 */ 20, 64,255,253, 36, 99, 0, 1, 19,192, 0, 43, 36, 2, 0, 1,
|
||||
/* 0x06e0 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 28, 2, 0, 32, 33,
|
||||
/* 0x06f0 */ 142, 34, 0, 24, 0, 0, 0, 0, 48, 66, 0, 1, 16, 64, 0, 24,
|
||||
/* 0x0700 */ 2, 96, 40, 33,142, 36, 0, 20,142, 34, 0, 16,142, 35, 0, 8,
|
||||
/* 0x0710 */ 20,130, 0, 17, 0,131, 16, 33, 0, 87, 48, 33,143,163, 0, 20,
|
||||
/* 0x0720 */ 0, 6, 16, 35, 0, 98, 16, 36, 44, 66, 0, 12, 20, 64, 0, 12,
|
||||
/* 0x0730 */ 2, 0, 32, 33, 36, 2, 0, 12,172,194, 0, 0, 60, 2, 3,192,
|
||||
/* 0x0740 */ 52, 66, 0, 8,143,164, 0, 32,172,194, 0, 4,172,192, 0, 8,
|
||||
/* 0x0750 */ 4, 17,255, 57, 0, 0, 40, 33, 2, 0, 32, 33, 2, 96, 40, 33,
|
||||
/* 0x0760 */ 2,160, 48, 33, 4, 17,254,169, 36, 2, 16, 29, 16, 64, 0, 6,
|
||||
/* 0x0770 */ 0, 0, 0, 0, 36, 4, 0,127, 4, 17,254,164, 36, 2, 15,161,
|
||||
/* 0x0780 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, 2,114, 16, 33,
|
||||
/* 0x0790 */ 2,196, 40, 33, 2, 2,128, 33, 2, 5, 16, 43, 16, 64, 0, 11,
|
||||
/* 0x07a0 */ 0,176, 40, 35, 2,160, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18,
|
||||
/* 0x07b0 */ 36, 8,255,255, 4, 17,254,142, 0, 0, 72, 33, 18, 2, 0, 3,
|
||||
/* 0x07c0 */ 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0,143,162, 0, 16,
|
||||
/* 0x07d0 */ 38, 49, 0, 32, 36, 66, 0, 1,175,162, 0, 16,150,134, 0, 44,
|
||||
/* 0x07e0 */ 143,163, 0, 16, 0, 0, 0, 0, 0,102, 16, 42, 20, 64,255,108,
|
||||
/* 0x07f0 */ 36, 2, 0, 1, 19,192, 0, 11, 36, 2, 0, 3,150,131, 0, 16,
|
||||
/* 0x0800 */ 0, 0, 0, 0, 16, 98, 0, 7, 0, 0, 0, 0,143,162, 0, 8,
|
||||
/* 0x0810 */ 143,163, 0, 12, 0, 0, 0, 0, 0, 67, 32, 33, 4, 17,254,123,
|
||||
/* 0x0820 */ 36, 2, 15,205,143,164, 0, 36, 0, 0, 0, 0, 16,128, 0, 2,
|
||||
/* 0x0830 */ 0, 0, 0, 0,172,151, 0, 0,142,130, 0, 24,143,191, 0, 84,
|
||||
/* 0x0840 */ 2,226, 16, 33,143,190, 0, 80,143,183, 0, 76,143,182, 0, 72,
|
||||
/* 0x0850 */ 143,181, 0, 68,143,180, 0, 64,143,179, 0, 60,143,178, 0, 56,
|
||||
/* 0x0860 */ 143,177, 0, 52,143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88,
|
||||
/* 0x0870 */ 39,189,255,192,175,191, 0, 56,175,181, 0, 52,175,180, 0, 48,
|
||||
/* 0x0880 */ 175,179, 0, 44,175,178, 0, 40,175,177, 0, 36,175,176, 0, 32,
|
||||
/* 0x0890 */ 1, 0,136, 33,140,136, 0, 0, 0,160, 24, 33, 0,128, 16, 33,
|
||||
/* 0x08a0 */ 0,192,152, 33, 0,224,160, 33, 1, 64,144, 33, 2, 32, 48, 33,
|
||||
/* 0x08b0 */ 1, 32,128, 33, 1, 96,168, 33, 39,164, 0, 20, 39,165, 0, 4,
|
||||
/* 0x08c0 */ 0, 0, 56, 33,175,163, 0, 20,175,163, 0, 12,175,168, 0, 4,
|
||||
/* 0x08d0 */ 175,162, 0, 24,175,162, 0, 16, 4, 17,254,112,175,179, 0, 8,
|
||||
/* 0x08e0 */ 2, 32, 32, 33, 2, 0, 72, 33, 2, 64, 80, 33, 2, 96, 40, 33,
|
||||
/* 0x08f0 */ 39,166, 0, 12, 2,128, 56, 33, 3,160, 64, 33, 2,160, 88, 33,
|
||||
/* 0x0900 */ 4, 17,254,216,175,178, 0, 0, 0, 64, 48, 33, 2,128, 32, 33,
|
||||
/* 0x0910 */ 36, 5, 0, 9, 4, 17,254,200, 0, 64,136, 33,150,102, 0, 44,
|
||||
/* 0x0920 */ 38,100, 0, 52, 16, 0, 0, 44, 0, 0, 40, 33,140,131, 0, 0,
|
||||
/* 0x0930 */ 36, 2, 0, 3, 20, 98, 0, 40, 36,132, 0, 32, 36,132,255,224,
|
||||
/* 0x0940 */ 140,130, 0, 8,143,164, 0, 0, 0, 0, 40, 33, 0, 68, 32, 33,
|
||||
/* 0x0950 */ 0, 0, 48, 33, 4, 17,254, 45, 36, 2, 15,165, 4, 64, 0, 9,
|
||||
/* 0x0960 */ 0, 64,128, 33, 0, 64, 32, 33, 2, 96, 40, 33, 36, 6, 2, 0,
|
||||
/* 0x0970 */ 4, 17,254, 38, 36, 2, 15,163, 36, 3, 2, 0, 16, 67, 0, 6,
|
||||
/* 0x0980 */ 2,160, 88, 33, 36, 4, 0,127, 4, 17,254, 32, 36, 2, 15,161,
|
||||
/* 0x0990 */ 16, 0,255,255, 0, 0, 0, 0, 2,128, 56, 33, 3,160, 64, 33,
|
||||
/* 0x09a0 */ 0, 0, 72, 33, 0, 0, 80, 33, 4, 17,254,174, 0, 0, 48, 33,
|
||||
/* 0x09b0 */ 143,166, 0, 0, 2,128, 32, 33, 36, 5, 0, 7, 4, 17,254,158,
|
||||
/* 0x09c0 */ 0, 64,136, 33, 2, 0, 32, 33, 4, 17,254, 16, 36, 2, 15,166,
|
||||
/* 0x09d0 */ 16, 0, 0, 5, 2, 32, 16, 33, 0,166, 16, 42, 20, 64,255,211,
|
||||
/* 0x09e0 */ 36,165, 0, 1, 2, 32, 16, 33,143,191, 0, 56,143,181, 0, 52,
|
||||
/* 0x09f0 */ 143,180, 0, 48,143,179, 0, 44,143,178, 0, 40,143,177, 0, 36,
|
||||
/* 0x0a00 */ 143,176, 0, 32, 3,224, 0, 8, 39,189, 0, 64
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* mipsel.r3000-linux.elf-fold.h
|
||||
created from mipsel.r3000-linux.elf-fold.bin, 2496 (0x9c0) bytes
|
||||
created from mipsel.r3000-linux.elf-fold.bin, 2572 (0xa0c) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -31,165 +31,170 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2496
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x66ad1c25
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xd154782a
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2572
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0xe13f2a80
|
||||
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xf6e97c27
|
||||
|
||||
unsigned char stub_mipsel_r3000_linux_elf_fold[2496] = {
|
||||
unsigned char stub_mipsel_r3000_linux_elf_fold[2572] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 8, 0, 1, 0, 0, 0,128, 0, 16, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 1, 48, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
|
||||
/* 0x0040 */ 0, 0, 16, 0,192, 9, 0, 0,192, 9, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,192, 9, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 0, 16, 0, 12, 10, 0, 0, 16, 10, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 12, 10, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 32, 0,162, 39, 24,240,189, 39, 33, 24,160, 3, 0, 0, 65,140,
|
||||
/* 0x0090 */ 4, 0, 66, 36, 0, 0, 97,172, 4, 0, 99, 36,251,255, 32, 20,
|
||||
/* 0x00a0 */ 33,128, 96, 0, 4, 0, 99, 36, 0, 0, 65,140, 4, 0, 66, 36,
|
||||
/* 0x00b0 */ 0, 0, 97,172, 4, 0, 99, 36,251,255, 32, 20, 33,160, 96, 0,
|
||||
/* 0x00c0 */ 0, 0, 65,140, 4, 0, 72,140, 8, 0, 66, 36, 0, 0, 97,172,
|
||||
/* 0x00d0 */ 4, 0,104,172, 8, 0, 99, 36,250,255, 33, 36, 2, 0, 32, 20,
|
||||
/* 0x00e0 */ 6, 0, 33, 36, 35,240, 8, 0,245,255, 32, 20, 33,176, 96, 0,
|
||||
/* 0x00f0 */ 0, 0, 3,174, 32, 0, 1, 36, 0, 0, 97,160, 1, 0, 97,160,
|
||||
/* 0x0100 */ 2, 0, 97,160, 61, 0, 1, 36, 3, 0, 97,160,255, 15, 6, 36,
|
||||
/* 0x0110 */ 4, 0,101, 36, 5, 0, 17, 4, 33, 32,224, 3, 47,112,114,111,
|
||||
/* 0x0120 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,245, 15, 2, 36,
|
||||
/* 0x0130 */ 12, 0, 0, 0, 2, 0,224, 4, 33, 8,162, 0, 0, 0, 32,160,
|
||||
/* 0x0140 */ 0,254,189, 39, 33, 80,192, 3, 33, 72, 0, 0, 33, 64,224, 2,
|
||||
/* 0x0150 */ 33, 56,128, 2, 33, 48,160, 3, 33, 40,160, 2, 1, 0, 16, 4,
|
||||
/* 0x0160 */ 100, 1, 2, 36, 35, 16,226, 3, 48, 8, 66, 36, 9,248, 64, 0,
|
||||
/* 0x0170 */ 33, 32, 32, 2, 33,200, 64, 0, 0, 2,161, 39,212,254,189, 39,
|
||||
/* 0x0180 */ 4, 0,189, 39,254,255,161, 23,252,255,160,175,252,255,193,142,
|
||||
/* 0x0190 */ 33, 40, 64, 2, 3, 0, 32, 16, 33, 32, 96, 2, 8, 0, 32, 0,
|
||||
/* 0x01a0 */ 251, 15, 2, 36, 8, 0, 32, 3, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01b0 */ 250, 15, 2, 36,224,255,189, 39, 16, 0,168,175, 20, 0,169,175,
|
||||
/* 0x01c0 */ 12, 0, 0, 0, 2, 0, 0, 16, 32, 0,189, 39, 12, 0, 0, 0,
|
||||
/* 0x01d0 */ 3, 0,224, 20, 0, 0, 0, 0, 8, 0,224, 3, 0, 0, 0, 0,
|
||||
/* 0x01e0 */ 8, 0,224, 3,255,255, 2, 36, 8, 0,224, 3, 0, 0, 0, 0,
|
||||
/* 0x01f0 */ 0, 0,130,140, 4, 0,135,140, 43, 16, 70, 0, 3, 0, 64, 20,
|
||||
/* 0x0200 */ 161, 15, 2, 36, 10, 0, 0, 16, 33, 24,192, 0,127, 0, 4, 36,
|
||||
/* 0x0210 */ 238,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0,
|
||||
/* 0x0220 */ 0, 0,226,144, 1, 0,231, 36, 0, 0,162,160, 1, 0,165, 36,
|
||||
/* 0x0230 */ 255,255, 99, 36,255,255, 2, 36,249,255, 98, 20, 0, 0, 0, 0,
|
||||
/* 0x0240 */ 4, 0,131,140, 0, 0,130,140, 33, 24,102, 0, 35, 16, 70, 0,
|
||||
/* 0x0250 */ 0, 0,130,172, 8, 0,224, 3, 4, 0,131,172,216,255,189, 39,
|
||||
/* 0x0260 */ 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, 16, 0,176,175,
|
||||
/* 0x0270 */ 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, 33,144,224, 0,
|
||||
/* 0x0280 */ 82, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4,
|
||||
/* 0x0290 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 10, 0, 96, 20,
|
||||
/* 0x02a0 */ 88, 33, 2, 60, 85, 80, 66, 52, 10, 0,194, 20,127, 0, 4, 36,
|
||||
/* 0x02b0 */ 0, 0, 34,142, 0, 0, 0, 0, 7, 0, 64, 20,161, 15, 2, 36,
|
||||
/* 0x02c0 */ 70, 0, 0, 16, 0, 0, 0, 0, 7, 0,192, 20, 43, 16,102, 0,
|
||||
/* 0x02d0 */ 127, 0, 4, 36,161, 15, 2, 36,188,255, 17, 4, 0, 0, 0, 0,
|
||||
/* 0x02e0 */ 255,255, 0, 16, 0, 0, 0, 0,250,255, 64, 20,127, 0, 4, 36,
|
||||
/* 0x02f0 */ 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0,245,255, 64, 20,
|
||||
/* 0x0300 */ 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, 33, 40,224, 0,
|
||||
/* 0x0310 */ 4, 0, 36,142, 12, 0,168,147, 33, 40,192, 0, 0, 0,163,175,
|
||||
/* 0x0320 */ 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3,233,255, 64, 20,
|
||||
/* 0x0330 */ 127, 0, 4, 36, 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0,
|
||||
/* 0x0340 */ 228,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0,
|
||||
/* 0x0350 */ 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44,
|
||||
/* 0x0360 */ 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0,
|
||||
/* 0x0370 */ 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147,
|
||||
/* 0x0380 */ 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142,
|
||||
/* 0x0390 */ 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174,
|
||||
/* 0x03a0 */ 3, 0, 0, 16, 0, 0, 36,174,145,255, 17, 4, 33, 32, 32, 2,
|
||||
/* 0x03b0 */ 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0,
|
||||
/* 0x03c0 */ 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142,
|
||||
/* 0x03d0 */ 0, 0, 0, 0,172,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143,
|
||||
/* 0x03e0 */ 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, 16, 0,176,143,
|
||||
/* 0x03f0 */ 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16, 0, 0, 0, 0,
|
||||
/* 0x0400 */ 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0,
|
||||
/* 0x0410 */ 251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172, 8, 0,224, 3,
|
||||
/* 0x0420 */ 0, 0, 0, 0,168,255,189, 39, 80, 0,190,175, 64, 0,180,175,
|
||||
/* 0x0430 */ 52, 0,177,175, 84, 0,191,175, 76, 0,183,175, 72, 0,182,175,
|
||||
/* 0x0440 */ 68, 0,181,175, 60, 0,179,175, 56, 0,178,175, 48, 0,176,175,
|
||||
/* 0x0450 */ 16, 0,162,148, 28, 0,163,140, 33,160,160, 0, 2, 0, 66, 56,
|
||||
/* 0x0460 */ 44, 0,165,148, 1, 0, 66, 44, 33,136,131, 2, 28, 0,164,175,
|
||||
/* 0x0470 */ 33,240,192, 0, 32, 0,167,175, 36, 0,168,175, 40, 0,169,175,
|
||||
/* 0x0480 */ 33, 32, 64, 1, 0, 57, 2, 0,255,255,165, 36, 39, 16, 11, 0,
|
||||
/* 0x0490 */ 33, 48, 32, 2,255,255, 8, 36, 33, 72, 0, 0, 1, 0, 10, 36,
|
||||
/* 0x04a0 */ 19, 0, 0, 16, 20, 0,162,175, 0, 0,194,140, 0, 0, 0, 0,
|
||||
/* 0x04b0 */ 14, 0, 74, 20,255,255,165, 36, 8, 0,195,140, 0, 0, 0, 0,
|
||||
/* 0x04c0 */ 43, 16,104, 0, 2, 0, 64, 16, 0, 0, 0, 0, 33, 64, 96, 0,
|
||||
/* 0x04d0 */ 20, 0,194,140, 0, 0, 0, 0, 33, 24, 98, 0, 43, 16, 35, 1,
|
||||
/* 0x04e0 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 72, 96, 0, 32, 0,198, 36,
|
||||
/* 0x04f0 */ 237,255,161, 4, 36,128,104, 1, 35, 16, 48, 1, 35, 16, 75, 0,
|
||||
/* 0x0500 */ 255,255, 66, 36, 36, 88, 98, 1, 16, 0,227, 48, 3, 0, 96, 16,
|
||||
/* 0x0510 */ 8, 0,171,175, 8, 0, 0, 16, 33, 32, 0, 2, 3, 0, 0, 18,
|
||||
/* 0x0520 */ 0, 0, 0, 0, 4, 0, 0, 16, 33, 32, 0, 0, 2, 0,128, 16,
|
||||
/* 0x0530 */ 0, 0, 0, 0, 16, 0,231, 52, 8, 0,165,143, 2, 8,231, 52,
|
||||
/* 0x0540 */ 33, 48, 0, 0,255,255, 8, 36, 25,255, 17, 4, 33, 72, 0, 0,
|
||||
/* 0x0550 */ 35,184, 80, 0, 12, 0,162,175,144, 0, 0, 16, 16, 0,160,175,
|
||||
/* 0x0560 */ 0, 0, 35,142, 0, 0, 0, 0,136, 0, 98, 20, 0, 0, 0, 0,
|
||||
/* 0x0570 */ 12, 0,192, 19, 0, 0, 0, 0, 4, 0, 34,142, 0, 0, 0, 0,
|
||||
/* 0x0580 */ 8, 0, 64, 20, 0, 0, 0, 0, 32, 0,164,143,154,255, 17, 4,
|
||||
/* 0x0590 */ 5, 0, 5, 36, 32, 0,164,143, 42, 0,134,150,150,255, 17, 4,
|
||||
/* 0x05a0 */ 4, 0, 5, 36, 8, 0, 34,142, 24, 0, 35,142, 33,176,226, 2,
|
||||
/* 0x05b0 */ 81,115, 2, 60,128, 24, 3, 0, 64, 98, 66, 52, 6,144, 98, 0,
|
||||
/* 0x05c0 */ 20, 0,163,143, 16, 0, 36,142, 36, 16,195, 2, 0, 0,164,175,
|
||||
/* 0x05d0 */ 33,152,130, 0, 20, 0, 36,142, 4, 0,182,175, 7, 0, 85, 50,
|
||||
/* 0x05e0 */ 24, 0,164,175, 22, 0,192, 19, 35,128,194, 2, 33, 32, 0, 2,
|
||||
/* 0x05f0 */ 33, 40, 96, 2, 3, 0, 6, 36, 18, 8, 7, 36,255,255, 8, 36,
|
||||
/* 0x0600 */ 235,254, 17, 4, 33, 72, 0, 0, 74, 0, 2, 22, 4, 0, 66, 50,
|
||||
/* 0x0610 */ 4, 0, 64, 16, 0, 0, 0, 0, 40, 0,167,143, 2, 0, 0, 16,
|
||||
/* 0x0620 */ 0, 0, 0, 0, 33, 56, 0, 0, 28, 0,166,143, 33, 32,192, 3,
|
||||
/* 0x0630 */ 10,255, 17, 4, 33, 40,160, 3, 11, 0, 0, 16, 0, 0, 0, 0,
|
||||
/* 0x0640 */ 4, 0, 41,142, 28, 0,168,143, 33, 32, 0, 2, 35, 72, 34, 1,
|
||||
/* 0x0650 */ 33, 40, 96, 2, 33, 48,160, 2,213,254, 17, 4, 18, 0, 7, 36,
|
||||
/* 0x0660 */ 53, 0, 2, 22,127, 0, 4, 36, 20, 0,164,143, 35, 16, 19, 0,
|
||||
/* 0x0670 */ 2, 0,163, 50, 8, 0, 96, 16, 36,144, 68, 0, 6, 0, 64, 18,
|
||||
/* 0x0680 */ 33, 16, 64, 2, 33, 24, 19, 2,255,255, 66, 36, 0, 0, 96,160,
|
||||
/* 0x0690 */ 253,255, 64, 20, 1, 0, 99, 36, 43, 0,192, 19, 1, 0, 2, 36,
|
||||
/* 0x06a0 */ 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20, 33, 32, 0, 2,
|
||||
/* 0x06b0 */ 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48, 24, 0, 64, 16,
|
||||
/* 0x06c0 */ 33, 40, 96, 2, 20, 0, 36,142, 16, 0, 34,142, 8, 0, 35,142,
|
||||
/* 0x06d0 */ 17, 0,130, 20, 33, 16,131, 0, 33, 48, 87, 0, 20, 0,163,143,
|
||||
/* 0x06e0 */ 35, 16, 6, 0, 36, 16, 98, 0, 12, 0, 66, 44, 12, 0, 64, 20,
|
||||
/* 0x06f0 */ 33, 32, 0, 2, 12, 0, 2, 36, 0, 0,194,172, 32, 3, 2, 60,
|
||||
/* 0x0700 */ 8, 0, 66, 52, 32, 0,164,143, 4, 0,194,172, 8, 0,192,172,
|
||||
/* 0x0710 */ 57,255, 17, 4, 33, 40, 0, 0, 33, 32, 0, 2, 33, 40, 96, 2,
|
||||
/* 0x0720 */ 33, 48,160, 2,169,254, 17, 4, 29, 16, 2, 36, 6, 0, 64, 16,
|
||||
/* 0x0730 */ 0, 0, 0, 0,127, 0, 4, 36,164,254, 17, 4,161, 15, 2, 36,
|
||||
/* 0x0740 */ 255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, 33, 16,114, 2,
|
||||
/* 0x0750 */ 33, 40,196, 2, 33,128, 2, 2, 43, 16, 5, 2, 11, 0, 64, 16,
|
||||
/* 0x0760 */ 35, 40,176, 0, 33, 48,160, 2, 33, 32, 0, 2, 18, 8, 7, 36,
|
||||
/* 0x0770 */ 255,255, 8, 36,142,254, 17, 4, 33, 72, 0, 0, 3, 0, 2, 18,
|
||||
/* 0x0780 */ 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, 16, 0,162,143,
|
||||
/* 0x0790 */ 32, 0, 49, 38, 1, 0, 66, 36, 16, 0,162,175, 44, 0,134,150,
|
||||
/* 0x07a0 */ 16, 0,163,143, 0, 0, 0, 0, 42, 16,102, 0,108,255, 64, 20,
|
||||
/* 0x07b0 */ 1, 0, 2, 36, 11, 0,192, 19, 3, 0, 2, 36, 16, 0,131,150,
|
||||
/* 0x07c0 */ 0, 0, 0, 0, 7, 0, 98, 16, 0, 0, 0, 0, 8, 0,162,143,
|
||||
/* 0x07d0 */ 12, 0,163,143, 0, 0, 0, 0, 33, 32, 67, 0,123,254, 17, 4,
|
||||
/* 0x07e0 */ 205, 15, 2, 36, 36, 0,164,143, 0, 0, 0, 0, 2, 0,128, 16,
|
||||
/* 0x07f0 */ 0, 0, 0, 0, 0, 0,151,172, 24, 0,130,142, 84, 0,191,143,
|
||||
/* 0x0800 */ 33, 16,226, 2, 80, 0,190,143, 76, 0,183,143, 72, 0,182,143,
|
||||
/* 0x0810 */ 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, 56, 0,178,143,
|
||||
/* 0x0820 */ 52, 0,177,143, 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39,
|
||||
/* 0x0830 */ 200,255,189, 39, 52, 0,191,175, 48, 0,180,175, 44, 0,179,175,
|
||||
/* 0x0840 */ 40, 0,178,175, 36, 0,177,175, 32, 0,176,175, 33,136, 0, 1,
|
||||
/* 0x0850 */ 0, 0,136,140, 33, 24,160, 0, 33, 16,128, 0, 33,144,192, 0,
|
||||
/* 0x0860 */ 33,152,224, 0, 33,160, 64, 1, 33, 48, 32, 2, 33,128, 32, 1,
|
||||
/* 0x0870 */ 20, 0,164, 39, 4, 0,165, 39, 33, 56, 0, 0, 20, 0,163,175,
|
||||
/* 0x0880 */ 12, 0,163,175, 4, 0,168,175, 24, 0,162,175, 16, 0,162,175,
|
||||
/* 0x0890 */ 114,254, 17, 4, 8, 0,178,175, 33, 32, 32, 2, 33, 72, 0, 2,
|
||||
/* 0x08a0 */ 33, 40, 64, 2, 12, 0,166, 39, 33, 56, 96, 2, 33, 64,160, 3,
|
||||
/* 0x08b0 */ 33, 80, 0, 0, 33, 88,128, 2,218,254, 17, 4, 0, 0,160,175,
|
||||
/* 0x08c0 */ 33, 48, 64, 0, 33, 32, 96, 2, 9, 0, 5, 36,202,254, 17, 4,
|
||||
/* 0x08d0 */ 33,136, 64, 0, 44, 0, 70,150, 52, 0, 68, 38, 44, 0, 0, 16,
|
||||
/* 0x08e0 */ 33, 40, 0, 0, 0, 0,131,140, 3, 0, 2, 36, 40, 0, 98, 20,
|
||||
/* 0x08f0 */ 32, 0,132, 36,224,255,132, 36, 8, 0,130,140, 0, 0,164,143,
|
||||
/* 0x0900 */ 33, 40, 0, 0, 33, 32, 68, 0, 33, 48, 0, 0, 47,254, 17, 4,
|
||||
/* 0x0910 */ 165, 15, 2, 36, 9, 0, 64, 4, 33,128, 64, 0, 33, 32, 64, 0,
|
||||
/* 0x0920 */ 33, 40, 64, 2, 0, 2, 6, 36, 40,254, 17, 4,163, 15, 2, 36,
|
||||
/* 0x0930 */ 0, 2, 3, 36, 6, 0, 67, 16, 33, 88,128, 2,127, 0, 4, 36,
|
||||
/* 0x0940 */ 34,254, 17, 4,161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0,
|
||||
/* 0x0950 */ 33, 56, 96, 2, 33, 64,160, 3, 33, 72, 0, 0, 33, 80, 0, 0,
|
||||
/* 0x0960 */ 176,254, 17, 4, 33, 48, 0, 0, 0, 0,166,143, 33, 32, 96, 2,
|
||||
/* 0x0970 */ 7, 0, 5, 36,160,254, 17, 4, 33,136, 64, 0, 33, 32, 0, 2,
|
||||
/* 0x0980 */ 18,254, 17, 4,166, 15, 2, 36, 5, 0, 0, 16, 33, 16, 32, 2,
|
||||
/* 0x0990 */ 42, 16,166, 0,211,255, 64, 20, 1, 0,165, 36, 33, 16, 32, 2,
|
||||
/* 0x09a0 */ 52, 0,191,143, 48, 0,180,143, 44, 0,179,143, 40, 0,178,143,
|
||||
/* 0x09b0 */ 36, 0,177,143, 32, 0,176,143, 8, 0,224, 3, 56, 0,189, 39
|
||||
/* 0x0080 */ 0, 0, 2, 36, 8, 0,224, 3, 64, 18, 2, 0, 0, 0, 0, 0,
|
||||
/* 0x0090 */ 24, 0,178,143, 28, 0,179,143, 33, 16,160, 3, 16,240,189, 39,
|
||||
/* 0x00a0 */ 33, 24,160, 3, 0, 0, 65,140, 4, 0, 66, 36, 0, 0, 97,172,
|
||||
/* 0x00b0 */ 4, 0, 99, 36,251,255, 86, 20,252,255,105, 36, 0, 0, 96,172,
|
||||
/* 0x00c0 */ 4, 0, 99, 36, 33,176, 96, 0, 0, 0, 65,140, 4, 0, 72,140,
|
||||
/* 0x00d0 */ 8, 0, 66, 36, 0, 0, 97,172, 4, 0,104,172, 8, 0, 99, 36,
|
||||
/* 0x00e0 */ 249,255, 32, 20, 33,160, 96, 0, 0, 0, 35,173, 32, 0, 1, 36,
|
||||
/* 0x00f0 */ 0, 0, 97,160, 1, 0, 97,160, 2, 0, 97,160, 61, 0, 1, 36,
|
||||
/* 0x0100 */ 3, 0, 97,160,255, 15, 6, 36, 4, 0,101, 36, 5, 0, 17, 4,
|
||||
/* 0x0110 */ 33, 32,224, 3, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
|
||||
/* 0x0120 */ 120,101, 0, 0,245, 15, 2, 36, 12, 0, 0, 0, 2, 0,224, 4,
|
||||
/* 0x0130 */ 33, 8,162, 0, 0, 0, 32,160, 0,254,189, 39, 33, 88,128, 3,
|
||||
/* 0x0140 */ 33, 80,160, 2, 33, 72, 0, 0, 33, 64,192, 3, 33, 56,192, 2,
|
||||
/* 0x0150 */ 33, 48,160, 3, 33, 40, 32, 2, 1, 0, 16, 4, 96, 1, 2, 36,
|
||||
/* 0x0160 */ 35, 16,226, 3,112, 8, 66, 36, 9,248, 64, 0, 33, 32, 0, 2,
|
||||
/* 0x0170 */ 0, 2,189, 39, 33,240, 64, 0, 20, 0,168,143, 33, 72, 0, 0,
|
||||
/* 0x0180 */ 16, 0,168,175, 20, 0,169,175, 2, 0, 7, 36, 1, 0, 6, 36,
|
||||
/* 0x0190 */ 34, 40, 28, 0, 33, 32, 0, 0,250, 15, 2, 36, 12, 0, 0, 0,
|
||||
/* 0x01a0 */ 16, 0,164,143,166, 15, 2, 36, 12, 0, 0, 0, 32, 0,189, 39,
|
||||
/* 0x01b0 */ 33, 8,160, 3,212,254,189, 39, 4, 0,189, 39,254,255,161, 23,
|
||||
/* 0x01c0 */ 252,255,160,175,252,255,129,142, 33, 40, 96, 2, 3, 0, 32, 16,
|
||||
/* 0x01d0 */ 33, 32, 64, 2, 8, 0, 32, 0,251, 15, 2, 36, 8, 0,192, 3,
|
||||
/* 0x01e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01f0 */ 250, 15, 2, 36,224,255,189, 39, 16, 0,168,175, 20, 0,169,175,
|
||||
/* 0x0200 */ 12, 0, 0, 0, 2, 0, 0, 16, 32, 0,189, 39, 12, 0, 0, 0,
|
||||
/* 0x0210 */ 3, 0,224, 20, 0, 0, 0, 0, 8, 0,224, 3, 0, 0, 0, 0,
|
||||
/* 0x0220 */ 8, 0,224, 3,255,255, 2, 36, 8, 0,224, 3, 0, 0, 0, 0,
|
||||
/* 0x0230 */ 0, 0,130,140, 4, 0,135,140, 43, 16, 70, 0, 3, 0, 64, 20,
|
||||
/* 0x0240 */ 161, 15, 2, 36, 10, 0, 0, 16, 33, 24,192, 0,127, 0, 4, 36,
|
||||
/* 0x0250 */ 238,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0,
|
||||
/* 0x0260 */ 0, 0,226,144, 1, 0,231, 36, 0, 0,162,160, 1, 0,165, 36,
|
||||
/* 0x0270 */ 255,255, 99, 36,255,255, 2, 36,249,255, 98, 20, 0, 0, 0, 0,
|
||||
/* 0x0280 */ 4, 0,131,140, 0, 0,130,140, 33, 24,102, 0, 35, 16, 70, 0,
|
||||
/* 0x0290 */ 0, 0,130,172, 8, 0,224, 3, 4, 0,131,172,216,255,189, 39,
|
||||
/* 0x02a0 */ 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, 16, 0,176,175,
|
||||
/* 0x02b0 */ 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, 33,144,224, 0,
|
||||
/* 0x02c0 */ 82, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4,
|
||||
/* 0x02d0 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 10, 0, 96, 20,
|
||||
/* 0x02e0 */ 88, 33, 2, 60, 85, 80, 66, 52, 10, 0,194, 20,127, 0, 4, 36,
|
||||
/* 0x02f0 */ 0, 0, 34,142, 0, 0, 0, 0, 7, 0, 64, 20,161, 15, 2, 36,
|
||||
/* 0x0300 */ 70, 0, 0, 16, 0, 0, 0, 0, 7, 0,192, 20, 43, 16,102, 0,
|
||||
/* 0x0310 */ 127, 0, 4, 36,161, 15, 2, 36,188,255, 17, 4, 0, 0, 0, 0,
|
||||
/* 0x0320 */ 255,255, 0, 16, 0, 0, 0, 0,250,255, 64, 20,127, 0, 4, 36,
|
||||
/* 0x0330 */ 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0,245,255, 64, 20,
|
||||
/* 0x0340 */ 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, 33, 40,224, 0,
|
||||
/* 0x0350 */ 4, 0, 36,142, 12, 0,168,147, 33, 40,192, 0, 0, 0,163,175,
|
||||
/* 0x0360 */ 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3,233,255, 64, 20,
|
||||
/* 0x0370 */ 127, 0, 4, 36, 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0,
|
||||
/* 0x0380 */ 228,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0,
|
||||
/* 0x0390 */ 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44,
|
||||
/* 0x03a0 */ 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0,
|
||||
/* 0x03b0 */ 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147,
|
||||
/* 0x03c0 */ 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142,
|
||||
/* 0x03d0 */ 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174,
|
||||
/* 0x03e0 */ 3, 0, 0, 16, 0, 0, 36,174,145,255, 17, 4, 33, 32, 32, 2,
|
||||
/* 0x03f0 */ 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0,
|
||||
/* 0x0400 */ 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142,
|
||||
/* 0x0410 */ 0, 0, 0, 0,172,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143,
|
||||
/* 0x0420 */ 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, 16, 0,176,143,
|
||||
/* 0x0430 */ 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16, 0, 0, 0, 0,
|
||||
/* 0x0440 */ 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0,
|
||||
/* 0x0450 */ 251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172, 8, 0,224, 3,
|
||||
/* 0x0460 */ 0, 0, 0, 0,168,255,189, 39, 80, 0,190,175, 64, 0,180,175,
|
||||
/* 0x0470 */ 52, 0,177,175, 84, 0,191,175, 76, 0,183,175, 72, 0,182,175,
|
||||
/* 0x0480 */ 68, 0,181,175, 60, 0,179,175, 56, 0,178,175, 48, 0,176,175,
|
||||
/* 0x0490 */ 16, 0,162,148, 28, 0,163,140, 33,160,160, 0, 2, 0, 66, 56,
|
||||
/* 0x04a0 */ 44, 0,165,148, 1, 0, 66, 44, 33,136,131, 2, 28, 0,164,175,
|
||||
/* 0x04b0 */ 33,240,192, 0, 32, 0,167,175, 36, 0,168,175, 40, 0,169,175,
|
||||
/* 0x04c0 */ 33, 32, 64, 1, 0, 57, 2, 0,255,255,165, 36, 39, 16, 11, 0,
|
||||
/* 0x04d0 */ 33, 48, 32, 2,255,255, 8, 36, 33, 72, 0, 0, 1, 0, 10, 36,
|
||||
/* 0x04e0 */ 19, 0, 0, 16, 20, 0,162,175, 0, 0,194,140, 0, 0, 0, 0,
|
||||
/* 0x04f0 */ 14, 0, 74, 20,255,255,165, 36, 8, 0,195,140, 0, 0, 0, 0,
|
||||
/* 0x0500 */ 43, 16,104, 0, 2, 0, 64, 16, 0, 0, 0, 0, 33, 64, 96, 0,
|
||||
/* 0x0510 */ 20, 0,194,140, 0, 0, 0, 0, 33, 24, 98, 0, 43, 16, 35, 1,
|
||||
/* 0x0520 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 72, 96, 0, 32, 0,198, 36,
|
||||
/* 0x0530 */ 237,255,161, 4, 36,128,104, 1, 35, 16, 48, 1, 35, 16, 75, 0,
|
||||
/* 0x0540 */ 255,255, 66, 36, 36, 88, 98, 1, 16, 0,227, 48, 3, 0, 96, 16,
|
||||
/* 0x0550 */ 8, 0,171,175, 8, 0, 0, 16, 33, 32, 0, 2, 3, 0, 0, 18,
|
||||
/* 0x0560 */ 0, 0, 0, 0, 4, 0, 0, 16, 33, 32, 0, 0, 2, 0,128, 16,
|
||||
/* 0x0570 */ 0, 0, 0, 0, 16, 0,231, 52, 8, 0,165,143, 2, 8,231, 52,
|
||||
/* 0x0580 */ 33, 48, 0, 0,255,255, 8, 36, 25,255, 17, 4, 33, 72, 0, 0,
|
||||
/* 0x0590 */ 35,184, 80, 0, 12, 0,162,175,144, 0, 0, 16, 16, 0,160,175,
|
||||
/* 0x05a0 */ 0, 0, 35,142, 0, 0, 0, 0,136, 0, 98, 20, 0, 0, 0, 0,
|
||||
/* 0x05b0 */ 12, 0,192, 19, 0, 0, 0, 0, 4, 0, 34,142, 0, 0, 0, 0,
|
||||
/* 0x05c0 */ 8, 0, 64, 20, 0, 0, 0, 0, 32, 0,164,143,154,255, 17, 4,
|
||||
/* 0x05d0 */ 5, 0, 5, 36, 32, 0,164,143, 42, 0,134,150,150,255, 17, 4,
|
||||
/* 0x05e0 */ 4, 0, 5, 36, 8, 0, 34,142, 24, 0, 35,142, 33,176,226, 2,
|
||||
/* 0x05f0 */ 81,115, 2, 60,128, 24, 3, 0, 64, 98, 66, 52, 6,144, 98, 0,
|
||||
/* 0x0600 */ 20, 0,163,143, 16, 0, 36,142, 36, 16,195, 2, 0, 0,164,175,
|
||||
/* 0x0610 */ 33,152,130, 0, 20, 0, 36,142, 4, 0,182,175, 7, 0, 85, 50,
|
||||
/* 0x0620 */ 24, 0,164,175, 22, 0,192, 19, 35,128,194, 2, 33, 32, 0, 2,
|
||||
/* 0x0630 */ 33, 40, 96, 2, 3, 0, 6, 36, 18, 8, 7, 36,255,255, 8, 36,
|
||||
/* 0x0640 */ 235,254, 17, 4, 33, 72, 0, 0, 74, 0, 2, 22, 4, 0, 66, 50,
|
||||
/* 0x0650 */ 4, 0, 64, 16, 0, 0, 0, 0, 40, 0,167,143, 2, 0, 0, 16,
|
||||
/* 0x0660 */ 0, 0, 0, 0, 33, 56, 0, 0, 28, 0,166,143, 33, 32,192, 3,
|
||||
/* 0x0670 */ 10,255, 17, 4, 33, 40,160, 3, 11, 0, 0, 16, 0, 0, 0, 0,
|
||||
/* 0x0680 */ 4, 0, 41,142, 28, 0,168,143, 33, 32, 0, 2, 35, 72, 34, 1,
|
||||
/* 0x0690 */ 33, 40, 96, 2, 33, 48,160, 2,213,254, 17, 4, 18, 0, 7, 36,
|
||||
/* 0x06a0 */ 53, 0, 2, 22,127, 0, 4, 36, 20, 0,164,143, 35, 16, 19, 0,
|
||||
/* 0x06b0 */ 2, 0,163, 50, 8, 0, 96, 16, 36,144, 68, 0, 6, 0, 64, 18,
|
||||
/* 0x06c0 */ 33, 16, 64, 2, 33, 24, 19, 2,255,255, 66, 36, 0, 0, 96,160,
|
||||
/* 0x06d0 */ 253,255, 64, 20, 1, 0, 99, 36, 43, 0,192, 19, 1, 0, 2, 36,
|
||||
/* 0x06e0 */ 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20, 33, 32, 0, 2,
|
||||
/* 0x06f0 */ 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48, 24, 0, 64, 16,
|
||||
/* 0x0700 */ 33, 40, 96, 2, 20, 0, 36,142, 16, 0, 34,142, 8, 0, 35,142,
|
||||
/* 0x0710 */ 17, 0,130, 20, 33, 16,131, 0, 33, 48, 87, 0, 20, 0,163,143,
|
||||
/* 0x0720 */ 35, 16, 6, 0, 36, 16, 98, 0, 12, 0, 66, 44, 12, 0, 64, 20,
|
||||
/* 0x0730 */ 33, 32, 0, 2, 12, 0, 2, 36, 0, 0,194,172,192, 3, 2, 60,
|
||||
/* 0x0740 */ 8, 0, 66, 52, 32, 0,164,143, 4, 0,194,172, 8, 0,192,172,
|
||||
/* 0x0750 */ 57,255, 17, 4, 33, 40, 0, 0, 33, 32, 0, 2, 33, 40, 96, 2,
|
||||
/* 0x0760 */ 33, 48,160, 2,169,254, 17, 4, 29, 16, 2, 36, 6, 0, 64, 16,
|
||||
/* 0x0770 */ 0, 0, 0, 0,127, 0, 4, 36,164,254, 17, 4,161, 15, 2, 36,
|
||||
/* 0x0780 */ 255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, 33, 16,114, 2,
|
||||
/* 0x0790 */ 33, 40,196, 2, 33,128, 2, 2, 43, 16, 5, 2, 11, 0, 64, 16,
|
||||
/* 0x07a0 */ 35, 40,176, 0, 33, 48,160, 2, 33, 32, 0, 2, 18, 8, 7, 36,
|
||||
/* 0x07b0 */ 255,255, 8, 36,142,254, 17, 4, 33, 72, 0, 0, 3, 0, 2, 18,
|
||||
/* 0x07c0 */ 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, 16, 0,162,143,
|
||||
/* 0x07d0 */ 32, 0, 49, 38, 1, 0, 66, 36, 16, 0,162,175, 44, 0,134,150,
|
||||
/* 0x07e0 */ 16, 0,163,143, 0, 0, 0, 0, 42, 16,102, 0,108,255, 64, 20,
|
||||
/* 0x07f0 */ 1, 0, 2, 36, 11, 0,192, 19, 3, 0, 2, 36, 16, 0,131,150,
|
||||
/* 0x0800 */ 0, 0, 0, 0, 7, 0, 98, 16, 0, 0, 0, 0, 8, 0,162,143,
|
||||
/* 0x0810 */ 12, 0,163,143, 0, 0, 0, 0, 33, 32, 67, 0,123,254, 17, 4,
|
||||
/* 0x0820 */ 205, 15, 2, 36, 36, 0,164,143, 0, 0, 0, 0, 2, 0,128, 16,
|
||||
/* 0x0830 */ 0, 0, 0, 0, 0, 0,151,172, 24, 0,130,142, 84, 0,191,143,
|
||||
/* 0x0840 */ 33, 16,226, 2, 80, 0,190,143, 76, 0,183,143, 72, 0,182,143,
|
||||
/* 0x0850 */ 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, 56, 0,178,143,
|
||||
/* 0x0860 */ 52, 0,177,143, 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39,
|
||||
/* 0x0870 */ 192,255,189, 39, 56, 0,191,175, 52, 0,181,175, 48, 0,180,175,
|
||||
/* 0x0880 */ 44, 0,179,175, 40, 0,178,175, 36, 0,177,175, 32, 0,176,175,
|
||||
/* 0x0890 */ 33,136, 0, 1, 0, 0,136,140, 33, 24,160, 0, 33, 16,128, 0,
|
||||
/* 0x08a0 */ 33,152,192, 0, 33,160,224, 0, 33,144, 64, 1, 33, 48, 32, 2,
|
||||
/* 0x08b0 */ 33,128, 32, 1, 33,168, 96, 1, 20, 0,164, 39, 4, 0,165, 39,
|
||||
/* 0x08c0 */ 33, 56, 0, 0, 20, 0,163,175, 12, 0,163,175, 4, 0,168,175,
|
||||
/* 0x08d0 */ 24, 0,162,175, 16, 0,162,175,112,254, 17, 4, 8, 0,179,175,
|
||||
/* 0x08e0 */ 33, 32, 32, 2, 33, 72, 0, 2, 33, 80, 64, 2, 33, 40, 96, 2,
|
||||
/* 0x08f0 */ 12, 0,166, 39, 33, 56,128, 2, 33, 64,160, 3, 33, 88,160, 2,
|
||||
/* 0x0900 */ 216,254, 17, 4, 0, 0,178,175, 33, 48, 64, 0, 33, 32,128, 2,
|
||||
/* 0x0910 */ 9, 0, 5, 36,200,254, 17, 4, 33,136, 64, 0, 44, 0,102,150,
|
||||
/* 0x0920 */ 52, 0,100, 38, 44, 0, 0, 16, 33, 40, 0, 0, 0, 0,131,140,
|
||||
/* 0x0930 */ 3, 0, 2, 36, 40, 0, 98, 20, 32, 0,132, 36,224,255,132, 36,
|
||||
/* 0x0940 */ 8, 0,130,140, 0, 0,164,143, 33, 40, 0, 0, 33, 32, 68, 0,
|
||||
/* 0x0950 */ 33, 48, 0, 0, 45,254, 17, 4,165, 15, 2, 36, 9, 0, 64, 4,
|
||||
/* 0x0960 */ 33,128, 64, 0, 33, 32, 64, 0, 33, 40, 96, 2, 0, 2, 6, 36,
|
||||
/* 0x0970 */ 38,254, 17, 4,163, 15, 2, 36, 0, 2, 3, 36, 6, 0, 67, 16,
|
||||
/* 0x0980 */ 33, 88,160, 2,127, 0, 4, 36, 32,254, 17, 4,161, 15, 2, 36,
|
||||
/* 0x0990 */ 255,255, 0, 16, 0, 0, 0, 0, 33, 56,128, 2, 33, 64,160, 3,
|
||||
/* 0x09a0 */ 33, 72, 0, 0, 33, 80, 0, 0,174,254, 17, 4, 33, 48, 0, 0,
|
||||
/* 0x09b0 */ 0, 0,166,143, 33, 32,128, 2, 7, 0, 5, 36,158,254, 17, 4,
|
||||
/* 0x09c0 */ 33,136, 64, 0, 33, 32, 0, 2, 16,254, 17, 4,166, 15, 2, 36,
|
||||
/* 0x09d0 */ 5, 0, 0, 16, 33, 16, 32, 2, 42, 16,166, 0,211,255, 64, 20,
|
||||
/* 0x09e0 */ 1, 0,165, 36, 33, 16, 32, 2, 56, 0,191,143, 52, 0,181,143,
|
||||
/* 0x09f0 */ 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143,
|
||||
/* 0x0a00 */ 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39
|
||||
};
|
||||
|
@ -35,6 +35,7 @@
|
||||
.align 0
|
||||
.endm
|
||||
|
||||
/* http://math-atlas.sourceforge.net/devel/assembly/mipsabi32.pdf */
|
||||
#define zero $0
|
||||
#define at $1
|
||||
#define v0 $2
|
||||
|
@ -97,7 +97,7 @@ xPMASK .req x26
|
||||
|
||||
xelfa .req x25
|
||||
xfexp .req x24
|
||||
// xPMASK, xlefa, xfexp still are used here.
|
||||
// xPMASK, xelfa, xfexp still are used here.
|
||||
|
||||
wLENM .req w29 // overlaps wLENU
|
||||
xLENM .req x29
|
||||
|
@ -456,7 +456,9 @@ make_hatch_mips(
|
||||
)
|
||||
{
|
||||
hatch[0]= 0x0000000c; // syscall
|
||||
hatch[1]= 0x03200008; // jr $25 # $25 === $t9 === jp
|
||||
#define RS(r) ((037&(r))<<21)
|
||||
#define JR 010
|
||||
hatch[1]= RS(30)|JR; // jr $30 # s8
|
||||
hatch[2]= 0x00000000; // nop
|
||||
}
|
||||
else {
|
||||
@ -800,6 +802,7 @@ void *upx_main( // returns entry address
|
||||
Elf32_auxv_t *const av,
|
||||
f_expand *const f_exp,
|
||||
f_unfilter *const f_unf,
|
||||
Elf32_Addr const elfaddr,
|
||||
size_t const page_mask
|
||||
) __asm__("upx_main");
|
||||
void *upx_main( // returns entry address
|
||||
@ -809,6 +812,7 @@ void *upx_main( // returns entry address
|
||||
Elf32_auxv_t *const av,
|
||||
f_expand *const f_exp,
|
||||
f_unfilter *const f_unf,
|
||||
Elf32_Addr const elfaddr,
|
||||
size_t const page_mask
|
||||
)
|
||||
|
||||
@ -873,7 +877,6 @@ void *upx_main(
|
||||
#endif //}
|
||||
|
||||
#if defined(__mips__) /*{*/
|
||||
Elf32_Addr const elfaddr = 0; // FIXME
|
||||
Extent xo, xi, xj;
|
||||
xo.buf = (char *)ehdr; xo.size = bi->sz_unc;
|
||||
xi.buf = CONST_CAST(char *, bi); xi.size = sz_compressed;
|
||||
|
@ -29,9 +29,44 @@
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
NBPW= 4
|
||||
#include "arch/mips/r3000/macros.ash"
|
||||
#include "arch/mips/r3000/bits.ash"
|
||||
|
||||
sp_frame= 0x20
|
||||
// These are local temporaries.
|
||||
F_ADRM= 2*NBPW
|
||||
F_LENM= 3*NBPW
|
||||
|
||||
// These are passed on stack to unfolded code.
|
||||
F_PMASK= 4*NBPW
|
||||
F_fd= 5*NBPW
|
||||
F_ADRU= 6*NBPW
|
||||
F_LENU= 7*NBPW
|
||||
// r_PMASK still is used here
|
||||
|
||||
// C-language uses 8 args in registers
|
||||
a5= 9
|
||||
a4= 8
|
||||
|
||||
//ra 31
|
||||
#define r_fexp 30 /* s8 */
|
||||
//sp 29 /* hardware */
|
||||
#define r_PMASK 28 /* gp */
|
||||
//k1 27 /* trashed by syscall */
|
||||
//k0 26 /* trashed by syscall */
|
||||
//t9, jp 25 /* trashed by syscall ? */
|
||||
//t8 24 /* trashed by syscall ? */
|
||||
#define r_fd 23 /* s7 */
|
||||
#define r_auxv 22 /* s6 */
|
||||
#define r_elfa 21 /* s5 */
|
||||
#define r_FOLD 20 /* s4 */
|
||||
#define r_szuf 19 /* s3 */
|
||||
#define r_relo 18 /* s2 */
|
||||
#define r_LENX 17 /* s1 */
|
||||
#define r_ADRX 16 /* s0 */
|
||||
#define r_LENU r_LENX
|
||||
|
||||
.set mips1
|
||||
.set noreorder
|
||||
.set noat
|
||||
@ -53,6 +88,14 @@ sz_b_info= 12
|
||||
b_cto8= 10
|
||||
b_unused=11
|
||||
|
||||
AT_NULL= 0 // <elf.h>
|
||||
AT_PAGESZ= 6
|
||||
a_type= 0
|
||||
a_val= NBPW
|
||||
sz_auxv= 2*NBPW
|
||||
|
||||
O_RDONLY= 0
|
||||
|
||||
PROT_READ= 1
|
||||
PROT_WRITE= 2
|
||||
PROT_EXEC= 4
|
||||
@ -61,16 +104,20 @@ MAP_PRIVATE= 2
|
||||
MAP_FIXED= 0x10
|
||||
MAP_ANONYMOUS= 0x800
|
||||
|
||||
PAGE_SHIFT= 12 // default only
|
||||
PAGE_SIZE = -(~0<<PAGE_SHIFT)
|
||||
|
||||
M_NRV2B_LE32=2 // ../conf.h
|
||||
M_NRV2D_LE32=5
|
||||
M_NRV2E_LE32=8
|
||||
|
||||
/* These from /usr/include/asm/unistd.h */
|
||||
__NR_Linux = 4000
|
||||
__NR_write = 4+ __NR_Linux
|
||||
__NR_exit = 1+ __NR_Linux
|
||||
__NR_mmap = 90+ __NR_Linux
|
||||
__NR_exit = 1+ __NR_Linux
|
||||
__NR_mmap = 90+ __NR_Linux
|
||||
__NR_mprotect = 125+ __NR_Linux
|
||||
__NR_open = 5+ __NR_Linux
|
||||
__NR_write = 4+ __NR_Linux
|
||||
__NR_cacheflush = 147+ __NR_Linux
|
||||
|
||||
/* asm/cachectl.h */
|
||||
@ -81,19 +128,15 @@ DCACHE= 1<<1
|
||||
|
||||
section ELFMAINX
|
||||
sz_pack2 = . - 4
|
||||
adrm: .long ADRM
|
||||
lenm: .long LENM
|
||||
adru: .long ADRU
|
||||
adrc: .long ADRC
|
||||
lenu: .long LENU
|
||||
adrx: .long ADRX
|
||||
|
||||
_start: .globl _start
|
||||
//// break # debug only
|
||||
bal main
|
||||
addiu s7,ra, decompressor - 0f // s7= &decompress
|
||||
addiu $r_fexp,ra, f_exp - 0f
|
||||
0:
|
||||
|
||||
/* Returns 0 on success; non-zero on failure. */
|
||||
f_exp: // alternate name
|
||||
decompressor: // (uchar const *lxsrc, size_t lxsrclen, uchar *lxdst, u32 &lxdstlen, uint method)
|
||||
#define lxsrc a0
|
||||
#define lxsrclen a1
|
||||
@ -102,8 +145,11 @@ decompressor: // (uchar const *lxsrc, size_t lxsrclen, uchar *lxdst, u32 &lxdst
|
||||
|
||||
#undef src /* bits.ash */
|
||||
#define src lxsrc
|
||||
#define lsrc lxsrclen
|
||||
#undef dst /* bits.ash */
|
||||
#define dst lxdst
|
||||
#define ldst lxdstlen
|
||||
#define meth a4
|
||||
|
||||
UCL_init 32,1,0
|
||||
decomp_done = eof
|
||||
@ -187,8 +233,7 @@ lxlzma_retval = lxlzma_srcdone
|
||||
lw a0,lxlzma_dst(sp)
|
||||
lw a1,lxlzma_dstdone(sp)
|
||||
li a2,ICACHE|DCACHE
|
||||
li v0,__NR_cacheflush
|
||||
syscall
|
||||
li v0,__NR_cacheflush; syscall
|
||||
|
||||
lw v0,lxlzma_retval(sp) # return value from decompression
|
||||
|
||||
@ -237,8 +282,7 @@ eof:
|
||||
subu a1,lxdst,v1 // actual length generated
|
||||
sw a1,(lxdstlen)
|
||||
li a2,ICACHE|DCACHE
|
||||
li v0,__NR_cacheflush
|
||||
syscall
|
||||
li v0,__NR_cacheflush; syscall
|
||||
|
||||
lw v0,0(sp)
|
||||
jr ra
|
||||
@ -258,111 +302,131 @@ L71:
|
||||
section ELFMAINZ
|
||||
L72:
|
||||
li a0,2 // fd stderr
|
||||
li v0,__NR_write
|
||||
syscall
|
||||
li v0,__NR_write; syscall
|
||||
die:
|
||||
li a0,127
|
||||
li v0,__NR_exit
|
||||
syscall
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it.
|
||||
Map a page to hold the decompressed bytes. Logically this could
|
||||
be done by setting .p_memsz for our first PT_LOAD. But as of 2005-11-09,
|
||||
linux 2.6.14 only does ".bss expansion" on the PT_LOAD that describes the
|
||||
highest address. [I regard this as a bug, and it makes the kernel's
|
||||
fs/binfmt_elf.c complicated, buggy, and insecure.] For us, that is the 2nd
|
||||
PT_LOAD, which is the only way that linux allows to set the brk() for the
|
||||
uncompressed program. [This is a significant kernel misfeature.]
|
||||
*/
|
||||
unfold: // s7= &decompress; s6= &b_info(fold); s5= sz_pack2; s4= &Elf32_Ehdr
|
||||
|
||||
/* Get some pages. If small, then get 1 page located just after the end
|
||||
of the first PT_LOAD of the compressed program. This will still be below
|
||||
all of the uncompressed program. If large (>=3 MiB uncompressed), then enough
|
||||
to duplicate the entire compressed PT_LOAD, plus 1 page, located just after
|
||||
the brk() of the _un_compressed program. The address and length are pre-
|
||||
calculated by PackLinuxElf64amd::defineSymbols().
|
||||
*/
|
||||
#define a4_sys 0x10
|
||||
#define a5_sys 0x14
|
||||
#define sp_frame 0x20
|
||||
li v0,__NR_exit; syscall
|
||||
|
||||
unfold: // IN: $r_fexp,$r_auxv,$r_PMASK,$r_FOLD,ra= "/proc/self/exe"
|
||||
addiu sp,sp,-sp_frame
|
||||
lw a0,adrm - decompressor(s7)
|
||||
li a2, PROT_READ | PROT_WRITE
|
||||
lw a1,lenm - decompressor(s7)
|
||||
li a3, MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS
|
||||
sw zero,a4_sys(sp) //; sw zero,a5_sys(sp) // MAP_ANON ==> ignore offset
|
||||
li v0,__NR_mmap; syscall; bnez a3,err_syscall
|
||||
move s0,v0 // ADRM: &new page(s); &dst for unfold, or © of PT_LOAD[0]
|
||||
sw $r_PMASK,F_PMASK(sp)
|
||||
|
||||
lw s3,adru - decompressor(s7) // for unmap in fold
|
||||
lw s2,lenu - decompressor(s7) // for unmap in fold
|
||||
lw s1,adrx - decompressor(s7) // for upx_main
|
||||
// Open /proc/self/exe
|
||||
move a0,ra
|
||||
li a1,O_RDONLY
|
||||
li v0,__NR_open; syscall; sw v0,F_fd(sp)
|
||||
|
||||
// Copy compressed data if needed.
|
||||
lw a0,adrc - decompressor(s7) // where to copy f_exp
|
||||
lw t0,-4(s6) // O_BINFO
|
||||
move a1,s0 // dst
|
||||
sub s5,s5,t0 // sz_pack2 - O_BINFO; ~= total_size compressed
|
||||
beq a0,s0,L78 // not needed
|
||||
add a0,s4,t0 // &b_info for upx_main
|
||||
move a2,s5 // total_size
|
||||
bal memcpy
|
||||
move s1,a1 // new adrx
|
||||
L78:
|
||||
// Reserve enough space to decompress the folded code onto $r_FOLD.
|
||||
lw v0, sz_pack2 - f_exp($r_fexp) // length before stub
|
||||
addiu $r_elfa,$r_fexp,sz_pack2 - f_exp
|
||||
li a4,-1
|
||||
lw $r_szuf,sz_unc($r_FOLD) // sz_unc of fold
|
||||
li a3,MAP_PRIVATE|MAP_ANONYMOUS
|
||||
sub $r_elfa,$r_elfa,v0 // $r_elfa= &Elf32_Ehdr of this stub
|
||||
li a0,0 // kenrel chooses addr
|
||||
sub v0,$r_FOLD,$r_elfa // offset(fold)
|
||||
add a1,$r_szuf,v0 // length needed
|
||||
sw a1,F_LENU(sp)
|
||||
bal mmapRW0
|
||||
move $r_LENU,a1
|
||||
sw v0,F_ADRU(sp)
|
||||
|
||||
// Decompress the folded part of this stub, using original decompressor.
|
||||
lw t0,sz_unc(s6); move a3,sp; sw t0,0(sp) // &dst_len
|
||||
move a2,a1 // &dst
|
||||
lw a1,sz_cpr(s6) // src_len
|
||||
addiu a0,s6,sz_b_info
|
||||
jalr s7 // decompress(src, srclen, dst, &dstlen /*, method*/)
|
||||
move s4,a2 // &dst
|
||||
// Duplicate the input data
|
||||
lw v0,sz_cpr($r_FOLD) // sz_cpr of fold
|
||||
sub a1,$r_LENU,$r_szuf // - sz_unc of fold
|
||||
lw a4,F_fd(sp) // from file
|
||||
li a3,MAP_PRIVATE|MAP_FIXED // at reserved addr a0 by previous map
|
||||
add a1,a1,v0 // + sz_cpr of fold; a1 <= .st_size
|
||||
bal mmapRW0
|
||||
lw a0,F_ADRU(sp)
|
||||
sub $r_relo, v0,$r_elfa // relocation amount
|
||||
move ra,$r_fexp; add $r_fexp,$r_fexp,$r_relo // use old f_exp; $r_fexp= new &f_exp
|
||||
|
||||
// Copy decompressor if needed.
|
||||
lw t0,0(sp) // dst_len
|
||||
lw a0,adrc - decompressor(s7) // where to copy f_exp
|
||||
add a1,t0,s4 // a1= last of unfolded
|
||||
beq a0,s0,L80 // no copy f_exp
|
||||
subu a2,s6,s7 // &b_info(fold) - &decompress; >= sizeof(decompress)
|
||||
move a0,s7 // src= &decompress
|
||||
bal memcpy
|
||||
move s7,a1 // new &f_exp
|
||||
move a0,s7 // new &f_exp
|
||||
// a1= last of unfolded, or last of copy
|
||||
li a2,ICACHE|DCACHE
|
||||
li v0,__NR_cacheflush
|
||||
syscall // moved decompressor
|
||||
L80:
|
||||
move a0,s0 // new page
|
||||
sub a1,a1,s0 // len
|
||||
li a2,PROT_READ|PROT_EXEC
|
||||
li v0,__NR_mprotect
|
||||
syscall
|
||||
// Decompress from old folded code, overwriting new copy of folded code
|
||||
lw $r_ADRX, -4($r_FOLD) // O_BINFO
|
||||
addiu src,$r_FOLD,sz_b_info // a0 old folded code
|
||||
add $r_FOLD,$r_FOLD,$r_relo // dst for unfoding; use copied data
|
||||
add t1, $r_FOLD, $r_szuf // + sz_unc = last of unfolded
|
||||
and t0,$r_fexp,$r_PMASK // base for PROT_EXEC
|
||||
sw t0,F_ADRM(sp)
|
||||
sub t1,t1,t0 // length for PROT_EXEC
|
||||
sw t1,F_LENM(sp)
|
||||
|
||||
jr s4 // unfold
|
||||
nop
|
||||
// The new f_exp has PROT_WRITE, so use the old f_exp to decompress.
|
||||
lb meth,b_method($r_FOLD)
|
||||
sw $r_szuf,0(sp) // lzma uses for EOF
|
||||
move dst,$r_FOLD // a2 dst for unfolding
|
||||
lw lsrc,sz_cpr($r_FOLD) // a1
|
||||
jalr ra // decompress it
|
||||
move ldst,sp // a3 &slot on stack
|
||||
|
||||
memcpy:
|
||||
lw t0, 0(a0); addiu a1,a1, 8
|
||||
lw t1, 4(a0); addiu a2,a2,-8
|
||||
sw t0,-8(a1); addiu a0,a0, 8
|
||||
bgtz a2,memcpy
|
||||
sw t1,-4(a1)
|
||||
// Generate code to compute PAGE_MASK.
|
||||
lw v0,0($r_FOLD) // "li v0,0"
|
||||
srl v1,$r_PMASK,9
|
||||
andi v1,v1,0xffff // 0xffff is NOT sign-extended
|
||||
or v0,v0,v1 // replace immediate constant
|
||||
sw v0,0($r_FOLD)
|
||||
|
||||
// PROT_EXEC
|
||||
li a2,PROT_EXEC|PROT_READ
|
||||
lw a1,F_LENM(sp) // length
|
||||
lw a0,F_ADRM(sp) // base
|
||||
li v0,__NR_mprotect; syscall
|
||||
|
||||
// Use the unfolded code
|
||||
addi ra,$r_FOLD,4*4 // jmp over get_page_mask()
|
||||
lw $r_LENX,sz_pack2 - f_exp($r_fexp)
|
||||
add $r_ADRX,$r_elfa,$r_ADRX // old compressed data
|
||||
jr ra
|
||||
nop
|
||||
add $r_ADRX,$r_ADRX,$r_relo // new compressed data
|
||||
|
||||
err_syscall:
|
||||
b err_syscall
|
||||
mmapRW0:
|
||||
li a5,0 // offset
|
||||
mmapRW:
|
||||
li a2,PROT_WRITE|PROT_READ
|
||||
mmap:
|
||||
addiu sp,sp,-sp_frame
|
||||
a4_sys= 4*NBPW // temporary for syscall
|
||||
a5_sys= 5*NBPW // temporary for syscall
|
||||
sw a4,a4_sys(sp)
|
||||
sw a5,a5_sys(sp)
|
||||
li v0,__NR_mmap; syscall
|
||||
bnez a3,mmap_bad
|
||||
nop
|
||||
jr ra
|
||||
addiu sp,sp, sp_frame
|
||||
mmap_bad:
|
||||
break
|
||||
|
||||
zfind: // result in $r_auxv
|
||||
lw v1,(a0); addiu a0,a0,NBPW
|
||||
bnez v1,zfind
|
||||
move $r_auxv,a0
|
||||
jr ra
|
||||
li t0,AT_PAGESZ // prepare early
|
||||
|
||||
main:
|
||||
lw s5, sz_pack2 - decompressor(s7) // length before stub
|
||||
la s4,sz_pack2 - decompressor(s7)
|
||||
sub s4,s4,s5 // &Elf32_Ehdr
|
||||
bal zfind
|
||||
move a0,sp
|
||||
bal zfind
|
||||
move a0,$r_auxv
|
||||
|
||||
// set $r_PMASK by finding actual page size in Elf32_auxv_t
|
||||
1:
|
||||
lw v1,a_type(a0)
|
||||
addiu a0,a0,sz_auxv
|
||||
beq v1,t0,2f // AT_PAGESZ
|
||||
lw v0,a_val - sz_auxv(a0)
|
||||
bnez v1,1b // AT_NULL
|
||||
li v0,PAGE_SIZE
|
||||
2:
|
||||
sub $r_PMASK,zero,v0
|
||||
bal unfold
|
||||
addiu s6,ra,4 // &b_info for folded_loader
|
||||
addiu $r_FOLD,ra,LrFLD - 0f // &b_info for folded loader
|
||||
0:
|
||||
.asciz "/proc/self/exe"; .balign 4
|
||||
.long O_BINFO
|
||||
LrFLD:
|
||||
// { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...}
|
||||
|
||||
/*__XTHEENDX__*/
|
||||
|
@ -27,6 +27,7 @@
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
NBPW= 4
|
||||
#include "arch/mips/r3000/macros.ash"
|
||||
#include "arch/mips/r3000/bits.ash"
|
||||
|
||||
@ -68,48 +69,72 @@ PATHSIZE=4096
|
||||
OVERHEAD=2048
|
||||
MAX_ELF_HDR=512
|
||||
|
||||
#define sp_frame 0x20
|
||||
BAL=0x04110000
|
||||
MAP_PRIVATE= 0x002
|
||||
MAP_ANONYMOUS=0x800 # not same as i386
|
||||
PROT_READ= 1
|
||||
|
||||
get_page_mask:
|
||||
li v0,0 // modified to PAGE_MASK >> 9
|
||||
jr ra
|
||||
sll v0,v0,9
|
||||
nop
|
||||
|
||||
sp_frame= 0x20
|
||||
F_PMASK= 4*NBPW
|
||||
F_fd= 5*NBPW
|
||||
F_ADRU= 6*NBPW
|
||||
F_LENU= 7*NBPW
|
||||
// The above 4 registers are passed on stack to unfolded code.
|
||||
a4_sys= 4*NBPW
|
||||
a5_sys= 5*NBPW
|
||||
|
||||
// C-language offers 8 register args; syscall offers only 4
|
||||
#define a4 t0
|
||||
#define a5 t1
|
||||
|
||||
//ra 31
|
||||
#define r_fexp 30 /* s8 */
|
||||
//sp 29 /* hardware */
|
||||
#define r_PMASK 28 /* gp */
|
||||
//k1 27 /* trashed by syscall */
|
||||
//k0 26 /* trashed by syscall */
|
||||
//t9, jp 25 /* trashed by syscall ? */
|
||||
//t8 24 /* trashed by syscall ? */
|
||||
//s7 AVAIL 23 /* s7 */
|
||||
#define r_auxv 22 /* s6 */
|
||||
#define r_elfa 21 /* s5 */
|
||||
#define r_auxe 20 /* s4 */
|
||||
#define r_LENU 19 /* s3 */
|
||||
#define r_ADRU 18 /* s2 */
|
||||
#define r_LENX 17 /* s1 */
|
||||
#define r_ADRX 16 /* s0 */
|
||||
|
||||
/* In:
|
||||
s7= &decompress
|
||||
|
||||
s5= total_size
|
||||
|
||||
s3= ADRU
|
||||
s2= LENU
|
||||
s1= ADRX
|
||||
|
||||
sp= -sp_frame + &{argc,argv...,0,env...,0,auxv...,0,0,strings}
|
||||
r_ADRX,r_LENX,r_elfa,r_auxv,r_PMASK,r_fexp
|
||||
sp= -sp_frame{%,%,%,%,PMASK,fd,ADRU,LENU}, {argc,argv...,0,env...,0,auxv...,0,0,strings}
|
||||
*/
|
||||
fold_begin:
|
||||
addiu v0,sp,sp_frame # &argc
|
||||
addiu sp,-(4+ 4+ PATHSIZE - sp_frame) # alloca: new envp[0], " =", buffer
|
||||
move v1,sp
|
||||
L10: # copy argc,argv
|
||||
lw tmp,0(v0); addiu v0,4
|
||||
sw tmp,0(v1); addiu v1,4
|
||||
bnez tmp,L10 # stop when v0= &env[0]
|
||||
move s0,v1 # new &env[0]
|
||||
addiu v1,4 # leave space for new env[0]
|
||||
L20: # copy env
|
||||
lw tmp,0(v0); addiu v0,4
|
||||
sw tmp,0(v1); addiu v1,4
|
||||
bnez tmp,L20 # stop when v0= &auxv[0]
|
||||
move s4,v1 # new &auxv[0]
|
||||
L30: # copy auxv
|
||||
lw tmp,0(v0); lw t0,4(v0); addiu v0,sz_auxv
|
||||
sw tmp,0(v1); sw t0,4(v1); addiu v1,sz_auxv
|
||||
AT_PAGESZ= 6
|
||||
addiu tmp,tmp,-AT_PAGESZ # alter tmp
|
||||
bnez tmp,0f
|
||||
addiu tmp,tmp,AT_PAGESZ # restore tmp
|
||||
negu s8,t0 # -PAGE_SIZE
|
||||
0:
|
||||
bnez tmp,L30 # AT_NULL: stop when v0= &auxv[N]
|
||||
move s6,v1 # new &auxv[N]
|
||||
//// break
|
||||
lw $r_ADRU,F_ADRU(sp)
|
||||
lw $r_LENU,F_LENU(sp)
|
||||
move v0,sp
|
||||
addiu sp,(~0<<4)&-(NBPW+ 4+ PATHSIZE - sp_frame) # alloca: new envp[0], " =", buffer
|
||||
|
||||
sw v1,0(s0) # new env[0]
|
||||
move v1,sp
|
||||
L10: # copy until auxv
|
||||
lw tmp,0(v0); addiu v0,NBPW
|
||||
sw tmp,0(v1); addiu v1,NBPW
|
||||
bne v0,$r_auxv,L10
|
||||
addiu t1,v1,-NBPW // new envp goes here
|
||||
sw zero,(v1); addiu v1,NBPW // new terminator for envp
|
||||
move $r_auxv,v1 // new auxv
|
||||
L30: // copy auxv
|
||||
lw tmp,0(v0); lw t0,NBPW(v0); addiu v0,sz_auxv
|
||||
sw tmp,0(v1); sw t0,NBPW(v1); addiu v1,sz_auxv
|
||||
bnez tmp,L30 # AT_NULL: stop when v0= &auxv[N]
|
||||
move $r_auxe,v1 // end of new auxv
|
||||
|
||||
sw v1,0(t1) # new env var
|
||||
li tmp,' '
|
||||
sb tmp,0(v1) # endian neutral!
|
||||
sb tmp,1(v1)
|
||||
@ -131,13 +156,15 @@ AT_PAGESZ= 6
|
||||
sb $0,(tmp) # null terminate the path
|
||||
0:
|
||||
addiu sp,-MAX_ELF_HDR # alloca
|
||||
move t2,s8 # page_mask
|
||||
move t3,$r_PMASK # page_mask
|
||||
move t2,$r_elfa # &Elf32_Ehdr of stub
|
||||
move t1,zero # &f_unfilter
|
||||
move t0,s7 # &f_decompress
|
||||
move a3,s4 # new &auxv[0]
|
||||
move t0,$r_fexp # &f_decompress
|
||||
move a3,$r_auxv # new &auxv[0]
|
||||
move a2,sp # &Elf32_Ehdr tmp space
|
||||
move a1,s5 # total_size
|
||||
move a1,$r_LENX # total_size
|
||||
|
||||
BAL=0x04110000
|
||||
/* We need a position-independent call of upx_main, which is external.
|
||||
"bal upx_main" cannot be assembled by mipsel-elf-as-20060406.
|
||||
".long BAL + upx_main" then changing R_MIPS_32 to R_MIPS_PC16
|
||||
@ -152,29 +179,46 @@ AT_PAGESZ= 6
|
||||
subu v0,ra,v0
|
||||
addiu v0,v0,%lo(upx_main)
|
||||
jalr v0
|
||||
move a0,s1
|
||||
move a0,$r_ADRX
|
||||
/* entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, Elf32_Auxv_t *a3,
|
||||
f_decompr t0, f_unfilter t1, page_mask t2 )
|
||||
f_decompr t0, f_unfilter t1, Elf32_Ehdr &t2, page_mask t3 )
|
||||
*/
|
||||
move jp,v0 # &entry
|
||||
addiu sp,MAX_ELF_HDR # un-alloca
|
||||
move $r_fexp,v0 # &entry
|
||||
|
||||
// Map 1 page of /proc/self/exe so that munmap does not remove all references
|
||||
lw a4,F_fd(sp)
|
||||
move a5,$0 // offset
|
||||
sw a4,a4_sys(sp)
|
||||
sw a5,a5_sys(sp)
|
||||
li a3,MAP_PRIVATE
|
||||
li a2,PROT_READ
|
||||
neg a1,$r_PMASK // PAGE_SIZE
|
||||
move a0,$0 // addr
|
||||
li v0,__NR_mmap; syscall
|
||||
|
||||
lw a0,a4_sys(sp) // fd
|
||||
li v0,__NR_close; syscall
|
||||
addiu sp,sp,sp_frame
|
||||
|
||||
/* Workaround suspected glibc bug: elf/rtld.c assumes uninit local is zero.
|
||||
2007-11-24 openembedded.org mipsel-linux 2.6.12.6/glibc 2.3.2
|
||||
*/
|
||||
addiu tmp, sp, MAX_ELF_HDR # result of un-alloca
|
||||
move tmp,sp
|
||||
addiu sp, -300 # estimated stack bound of upx_main and below
|
||||
0:
|
||||
addiu sp,4
|
||||
addiu sp,NBPW
|
||||
bne sp,tmp,0b
|
||||
sw $0,-4(sp)
|
||||
sw $0,-NBPW(sp)
|
||||
|
||||
lw tmp,-sz_auxv+ a_val(s6)
|
||||
move a1,s2 # LENU
|
||||
lw tmp,-sz_auxv+ a_val($r_auxe) // last .a_val
|
||||
move a1,$r_LENU
|
||||
beqz tmp,L40 # could not make escape hatch
|
||||
move a0,s3 # ADRU
|
||||
jr tmp # goto munmap escape hatch: [syscall; jr jp; nop]
|
||||
move a0,$r_ADRU
|
||||
jr tmp # goto munmap escape hatch: [syscall; jr $r_fexp; nop]
|
||||
li v0,__NR_munmap
|
||||
L40:
|
||||
jr jp # omit munmap
|
||||
jr $r_fexp # omit munmap
|
||||
nop
|
||||
|
||||
#if 0 /*{ replaced by macros in include/linux.h because of 'bal' vs gcc */
|
||||
@ -204,24 +248,18 @@ munmap: .globl munmap
|
||||
mprotect: .globl mprotect
|
||||
b sysgo; li v0,__NR_mprotect
|
||||
|
||||
#define a4_sys 0x10
|
||||
#define a5_sys 0x14
|
||||
|
||||
MAP_PRIVATE= 0x002
|
||||
MAP_ANONYMOUS=0x800 # not same as i386
|
||||
|
||||
mmap_privanon: .globl mmap_privanon
|
||||
ori a3,a3,MAP_PRIVATE|MAP_ANONYMOUS
|
||||
li t0,-1 # fd
|
||||
li t1,0 # offset
|
||||
mmap: .globl mmap
|
||||
addiu sp,sp,-sp_frame
|
||||
sw t0,a4_sys(sp)
|
||||
sw t1,a5_sys(sp)
|
||||
sw a4,a4_sys(sp)
|
||||
sw a5,a5_sys(sp)
|
||||
li v0,__NR_mmap
|
||||
syscall
|
||||
b sysret
|
||||
addiu sp,sp, sp_frame
|
||||
addiu sp,sp,sp_frame
|
||||
#endif /*}*/
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
|
@ -2,19 +2,19 @@ file format elf32-bigmips
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 00000020 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV2E 00000154 00000000 00000000 00000054 2**0 CONTENTS, RELOC, READONLY
|
||||
2 NRV2D 00000144 00000000 00000000 000001a8 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2B 00000128 00000000 00000000 000002ec 2**0 CONTENTS, RELOC, READONLY
|
||||
4 LZMA_ELF00 0000009c 00000000 00000000 00000414 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 000004b0 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00000f88 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 00001a60 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000010 00000000 00000000 00001a64 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000010 00000000 00000000 00001a74 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 00000000 00000000 00001a84 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 0000002a 00000000 00000000 00001aa8 2**0 CONTENTS, RELOC, READONLY
|
||||
12 ELFMAINZ 00000124 00000000 00000000 00001ad2 2**0 CONTENTS, RELOC, READONLY
|
||||
0 ELFMAINX 00000008 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV2E 00000154 00000000 00000000 0000003c 2**0 CONTENTS, RELOC, READONLY
|
||||
2 NRV2D 00000144 00000000 00000000 00000190 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2B 00000128 00000000 00000000 000002d4 2**0 CONTENTS, RELOC, READONLY
|
||||
4 LZMA_ELF00 0000009c 00000000 00000000 000003fc 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 00000498 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00000f70 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 00001a48 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000010 00000000 00000000 00001a4c 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000010 00000000 00000000 00001a5c 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 00000000 00000000 00001a6c 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 0000002a 00000000 00000000 00001a90 2**0 CONTENTS, RELOC, READONLY
|
||||
12 ELFMAINZ 00000194 00000000 00000000 00001abc 2**2 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV_TAIL 00000000 NRV_TAIL
|
||||
00000000 l d ELFMAINZ 00000000 ELFMAINZ
|
||||
@ -29,24 +29,12 @@ SYMBOL TABLE:
|
||||
00000000 l d NRV_HEAD 00000000 NRV_HEAD
|
||||
00000000 l d CFLUSH 00000000 CFLUSH
|
||||
00000000 l d ELFMAINY 00000000 ELFMAINY
|
||||
00000000 *UND* 00000000 ADRM
|
||||
00000000 *UND* 00000000 LENM
|
||||
00000000 *UND* 00000000 ADRU
|
||||
00000000 *UND* 00000000 ADRC
|
||||
00000000 *UND* 00000000 LENU
|
||||
00000000 *UND* 00000000 ADRX
|
||||
00000018 g O ELFMAINX 00000000 _start
|
||||
00000000 g O ELFMAINX 00000000 _start
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000 R_MIPS_32 ADRM
|
||||
00000004 R_MIPS_32 LENM
|
||||
00000008 R_MIPS_32 ADRU
|
||||
0000000c R_MIPS_32 ADRC
|
||||
00000010 R_MIPS_32 LENU
|
||||
00000014 R_MIPS_32 ADRX
|
||||
00000018 R_MIPS_PC16 ELFMAINZ
|
||||
00000000 R_MIPS_PC16 ELFMAINZ
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
@ -66,4 +54,4 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000120 R_MIPS_32 O_BINFO
|
||||
00000190 R_MIPS_32 O_BINFO
|
||||
|
@ -9,20 +9,20 @@ Linker script and memory map
|
||||
TARGET(elf32-bigmips)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0x940
|
||||
.text 0x0000000000100080 0x990
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x130 tmp/mips.r3000-linux.elf-fold.o
|
||||
.text 0x00000000001001b0 0x810 tmp/mips.r3000-linux.elf-main.o
|
||||
0x0000000000100830 upx_main
|
||||
.text 0x0000000000100080 0x170 tmp/mips.r3000-linux.elf-fold.o
|
||||
.text 0x00000000001001f0 0x820 tmp/mips.r3000-linux.elf-main.o
|
||||
0x0000000000100870 upx_main
|
||||
*(.data)
|
||||
.data 0x00000000001009c0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.data 0x00000000001009c0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
.data 0x0000000000100a10 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100a10 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x00000000001009c0 0x0
|
||||
.bss 0x00000000001009c0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.bss 0x00000000001009c0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
.bss 0x0000000000100a10 0x0
|
||||
.bss 0x0000000000100a10 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100a10 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
LOAD tmp/mips.r3000-linux.elf-fold.o
|
||||
LOAD tmp/mips.r3000-linux.elf-main.o
|
||||
OUTPUT(tmp/mips.r3000-linux.elf-fold.bin elf32-bigmips)
|
||||
|
@ -2,19 +2,19 @@ file format elf32-littlemips
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 00000020 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV2E 0000012c 00000000 00000000 00000054 2**0 CONTENTS, RELOC, READONLY
|
||||
2 NRV2D 0000011c 00000000 00000000 00000180 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2B 00000100 00000000 00000000 0000029c 2**0 CONTENTS, RELOC, READONLY
|
||||
4 LZMA_ELF00 0000009c 00000000 00000000 0000039c 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 00000438 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00000f10 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 000019e8 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000010 00000000 00000000 000019ec 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000010 00000000 00000000 000019fc 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 00000000 00000000 00001a0c 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 0000002a 00000000 00000000 00001a30 2**0 CONTENTS, RELOC, READONLY
|
||||
12 ELFMAINZ 00000124 00000000 00000000 00001a5a 2**0 CONTENTS, RELOC, READONLY
|
||||
0 ELFMAINX 00000008 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV2E 0000012c 00000000 00000000 0000003c 2**0 CONTENTS, RELOC, READONLY
|
||||
2 NRV2D 0000011c 00000000 00000000 00000168 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2B 00000100 00000000 00000000 00000284 2**0 CONTENTS, RELOC, READONLY
|
||||
4 LZMA_ELF00 0000009c 00000000 00000000 00000384 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 00000420 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00000ef8 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 000019d0 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000010 00000000 00000000 000019d4 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000010 00000000 00000000 000019e4 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 00000000 00000000 000019f4 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 0000002a 00000000 00000000 00001a18 2**0 CONTENTS, RELOC, READONLY
|
||||
12 ELFMAINZ 00000194 00000000 00000000 00001a44 2**2 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV_TAIL 00000000 NRV_TAIL
|
||||
00000000 l d ELFMAINZ 00000000 ELFMAINZ
|
||||
@ -29,24 +29,12 @@ SYMBOL TABLE:
|
||||
00000000 l d NRV_HEAD 00000000 NRV_HEAD
|
||||
00000000 l d CFLUSH 00000000 CFLUSH
|
||||
00000000 l d ELFMAINY 00000000 ELFMAINY
|
||||
00000000 *UND* 00000000 ADRM
|
||||
00000000 *UND* 00000000 LENM
|
||||
00000000 *UND* 00000000 ADRU
|
||||
00000000 *UND* 00000000 ADRC
|
||||
00000000 *UND* 00000000 LENU
|
||||
00000000 *UND* 00000000 ADRX
|
||||
00000018 g O ELFMAINX 00000000 _start
|
||||
00000000 g O ELFMAINX 00000000 _start
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000 R_MIPS_32 ADRM
|
||||
00000004 R_MIPS_32 LENM
|
||||
00000008 R_MIPS_32 ADRU
|
||||
0000000c R_MIPS_32 ADRC
|
||||
00000010 R_MIPS_32 LENU
|
||||
00000014 R_MIPS_32 ADRX
|
||||
00000018 R_MIPS_PC16 ELFMAINZ
|
||||
00000000 R_MIPS_PC16 ELFMAINZ
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
@ -66,4 +54,4 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000120 R_MIPS_32 O_BINFO
|
||||
00000190 R_MIPS_32 O_BINFO
|
||||
|
@ -9,20 +9,20 @@ Linker script and memory map
|
||||
TARGET(elf32-littlemips)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0x940
|
||||
.text 0x0000000000100080 0x990
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x130 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.text 0x00000000001001b0 0x810 tmp/mipsel.r3000-linux.elf-main.o
|
||||
0x0000000000100830 upx_main
|
||||
.text 0x0000000000100080 0x170 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.text 0x00000000001001f0 0x820 tmp/mipsel.r3000-linux.elf-main.o
|
||||
0x0000000000100870 upx_main
|
||||
*(.data)
|
||||
.data 0x00000000001009c0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.data 0x00000000001009c0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
.data 0x0000000000100a10 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100a10 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x00000000001009c0 0x0
|
||||
.bss 0x00000000001009c0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.bss 0x00000000001009c0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
.bss 0x0000000000100a10 0x0
|
||||
.bss 0x0000000000100a10 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100a10 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
LOAD tmp/mipsel.r3000-linux.elf-fold.o
|
||||
LOAD tmp/mipsel.r3000-linux.elf-main.o
|
||||
OUTPUT(tmp/mipsel.r3000-linux.elf-fold.bin elf32-littlemips)
|
||||
|
Loading…
x
Reference in New Issue
Block a user