arm64: stub uses new strategy

modified:   p_lx_elf.cpp
	modified:   stub/src/powerpc64le-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/arm64-linux.elf-main.c
	also .h, .map, .bin.dump
This commit is contained in:
John Reiser
2017-10-10 14:51:03 -07:00
parent b37bc99330
commit 1522293be0
19 changed files with 1234 additions and 1790 deletions
+52 -52
View File
@@ -1,5 +1,5 @@
/* powerpc64le-linux.elf-fold.h
created from powerpc64le-linux.elf-fold.bin, 3043 (0xbe3) bytes
created from powerpc64le-linux.elf-fold.bin, 3051 (0xbeb) bytes
This file is part of the UPX executable compressor.
@@ -31,21 +31,21 @@
*/
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3043
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x0b7a29be
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x7bca2af5
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3051
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0xe5b22a47
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x030e31ba
unsigned char stub_powerpc64le_linux_elf_fold[3043] = {
unsigned char stub_powerpc64le_linux_elf_fold[3051] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0,152, 11, 16, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0,160, 11, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 1, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 152, 11, 0, 0, 0, 0, 0, 0,152, 11, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 156, 11, 0, 0, 0, 0, 0, 0,156, 11, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0080 */ 152, 11, 0, 0, 0, 0, 0, 0,152, 11, 16, 0, 0, 0, 0, 0,
/* 0x0090 */ 152, 11, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 160, 11, 0, 0, 0, 0, 0, 0,160, 11, 16, 0, 0, 0, 0, 0,
/* 0x0090 */ 160, 11, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255, 96, 56,
/* 0x00c0 */ 164, 77, 99,120, 32, 0,128, 78, 0, 0, 0, 96,125, 0, 0, 72,
@@ -103,7 +103,7 @@ unsigned char stub_powerpc64le_linux_elf_fold[3043] = {
/* 0x0400 */ 1, 0, 41, 57,240,255,255, 75, 8, 0, 67,233, 20, 74, 74,125,
/* 0x0410 */ 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125, 0, 0, 35,249,
/* 0x0420 */ 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,
/* 0x0430 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,241, 6, 0, 72,
/* 0x0430 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,245, 6, 0, 72,
/* 0x0440 */ 81,255, 33,248,120, 27,126,124,120, 35,159,124,120, 43,189,124,
/* 0x0450 */ 120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233, 0, 0,169, 47,
/* 0x0460 */ 84, 1,158, 65,120,243,195,127,112, 0,129, 56, 12, 0,160, 56,
@@ -128,8 +128,8 @@ unsigned char stub_powerpc64le_linux_elf_fold[3043] = {
/* 0x0590 */ 49,254,255, 75,112, 0, 1,129, 8, 0, 95,233, 0, 0, 63,233,
/* 0x05a0 */ 20, 66, 74,125, 80, 72, 40,125, 8, 0, 95,249, 0, 0, 63,249,
/* 0x05b0 */ 168,254,255, 75,176, 0, 33, 56, 8, 0,129,129, 32,129,144,125,
/* 0x05c0 */ 188, 5, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0,
/* 0x05d0 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, 25, 5, 0, 72,
/* 0x05c0 */ 192, 5, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0,
/* 0x05d0 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, 29, 5, 0, 72,
/* 0x05e0 */ 225,254, 33,248,120, 67, 15,125, 16, 0, 3,161,120, 75, 50,125,
/* 0x05f0 */ 32, 0, 35,233,120, 83, 90,125,120, 27,125,124,120, 35,147,124,
/* 0x0600 */ 3, 0,136, 47, 96, 1,161,248,120, 51,216,124,120, 59,240,124,
@@ -185,46 +185,46 @@ unsigned char stub_powerpc64le_linux_elf_fold[3043] = {
/* 0x0920 */ 0, 0, 0, 57,249,249,255, 75, 0, 0, 0, 96, 0, 24,190,127,
/* 0x0930 */ 240,254,222, 64, 1, 0, 57, 59, 56, 0, 49, 58,180, 7, 57,127,
/* 0x0940 */ 200,253,255, 75, 0, 0,242,251, 32, 1, 33, 56, 8, 0,129,129,
/* 0x0950 */ 32,129,144,125, 24, 0,125,232, 20, 26,127,124,232, 1, 0, 72,
/* 0x0950 */ 32,129,144,125, 24, 0,125,232, 20, 26,127,124,236, 1, 0, 72,
/* 0x0960 */ 128, 0, 33,233, 8, 0, 17,233, 20, 74,167,124, 0, 0,168, 47,
/* 0x0970 */ 8, 0,165, 56, 80,255,158, 65,104,255,255, 75, 0, 0, 0, 0,
/* 0x0980 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,145, 1, 0, 72,
/* 0x0990 */ 17,255, 33,248,120, 43,191,124,120, 51,218,124,120, 75, 61,125,
/* 0x09a0 */ 0, 0, 35,129, 0, 0,192, 56,120, 83, 88,125,152, 0,161,248,
/* 0x09b0 */ 144, 0, 33,249,120, 59,229,124, 64, 0,159, 59,120, 0, 97,248,
/* 0x09c0 */ 112, 0,129,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248,
/* 0x09d0 */ 160, 0,225,248,168, 0, 1,249,112, 0, 97, 56,144, 0,129, 56,
/* 0x09e0 */ 81,250,255, 75,160, 0,225,232,168, 0, 1,233,128, 0,129, 56,
/* 0x09f0 */ 0, 0,160, 56,120,211, 70,127,120,235,169,127,120,195, 10,127,
/* 0x0a00 */ 120,251,227,127,205,251,255, 75, 9, 0,128, 56,120, 27,123,124,
/* 0x0a10 */ 120,211, 67,127,120,219,101,127,101,249,255, 75, 56, 0, 63,161,
/* 0x0a20 */ 64,240,137,127,184, 0,157, 64, 0, 0, 60,129, 3, 0,137, 47,
/* 0x0a30 */ 156, 0,158, 64, 16, 0,124,232, 0, 0, 61,233, 0, 0,128, 56,
/* 0x0a40 */ 0, 0,160, 56, 20, 74, 99,124, 13,249,255, 75, 0, 0, 0, 96,
/* 0x0a50 */ 0, 0,131, 47,120, 27,121,124, 16, 0,252, 64,127, 0, 96, 56,
/* 0x0a60 */ 213,248,255, 75, 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56,
/* 0x0a70 */ 221,248,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64,
/* 0x0a80 */ 0, 0, 32, 57, 0, 0,128, 56, 0, 0, 61,249,120,203, 37,127,
/* 0x0a90 */ 0, 0,192, 56, 0, 0,224, 56, 0, 0, 0, 57,120,235,169,127,
/* 0x0aa0 */ 120,195, 10,127,120,251,227,127, 41,251,255, 75, 0, 0,189,232,
/* 0x0ab0 */ 7, 0,128, 56,120, 27,123,124,120,211, 67,127,193,248,255, 75,
/* 0x0ac0 */ 120,203, 35,127,153,248,255, 75, 0, 0, 0, 96, 1, 0,222, 59,
/* 0x0ad0 */ 56, 0,156, 59, 32, 0,222,123, 68,255,255, 75,240, 0, 33, 56,
/* 0x0ae0 */ 120,219, 99,127,136, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0af0 */ 128, 8, 0, 0,112,255,193,249,120,255,225,249,128,255, 1,250,
/* 0x0b00 */ 136,255, 33,250,144,255, 65,250,152,255, 97,250,160,255,129,250,
/* 0x0b10 */ 168,255,161,250,176,255,193,250,184,255,225,250,192,255, 1,251,
/* 0x0b20 */ 200,255, 33,251,208,255, 65,251,216,255, 97,251,224,255,129,251,
/* 0x0b30 */ 232,255,161,251,240,255,193,251,248,255,225,251, 16, 0, 1,248,
/* 0x0b40 */ 32, 0,128, 78,112,255,193,233,120,255,225,233,128,255, 1,234,
/* 0x0b50 */ 136,255, 33,234,144,255, 65,234,152,255, 97,234,160,255,129,234,
/* 0x0b60 */ 168,255,161,234,176,255,193,234,184,255,225,234,192,255, 1,235,
/* 0x0b70 */ 200,255, 33,235,208,255, 65,235,216,255, 97,235,224,255,129,235,
/* 0x0b80 */ 16, 0, 1,232,232,255,161,235,166, 3, 8,124,240,255,193,235,
/* 0x0b90 */ 248,255,225,235, 32, 0,128, 78,124, 3, 16, 0, 0, 0, 0, 0,
/* 0x0ba0 */ 152,139, 16, 0, 0, 0, 0, 0,192, 3, 16, 0, 0, 0, 0, 0,
/* 0x0bb0 */ 152,139, 16, 0, 0, 0, 0, 0, 48, 4, 16, 0, 0, 0, 0, 0,
/* 0x0bc0 */ 152,139, 16, 0, 0, 0, 0, 0,208, 5, 16, 0, 0, 0, 0, 0,
/* 0x0bd0 */ 152,139, 16, 0, 0, 0, 0, 0,136, 9, 16, 0, 0, 0, 0, 0,
/* 0x0be0 */ 152,139, 16
/* 0x0980 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,149, 1, 0, 72,
/* 0x0990 */ 17,255, 33,248,120, 75, 61,125, 0, 0, 35,129,120, 43,191,124,
/* 0x09a0 */ 120, 51,218,124, 0, 0,192, 56,120, 83, 88,125,152, 0,161,248,
/* 0x09b0 */ 144, 0, 33,249,120, 59,229,124, 64, 0,159, 59, 4, 0, 35,129,
/* 0x09c0 */ 120, 0, 97,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248,
/* 0x09d0 */ 112, 0, 33,249,160, 0,225,248,168, 0, 1,249,112, 0, 97, 56,
/* 0x09e0 */ 144, 0,129, 56, 77,250,255, 75,160, 0,225,232,168, 0, 1,233,
/* 0x09f0 */ 128, 0,129, 56, 0, 0,160, 56,120,211, 70,127,120,235,169,127,
/* 0x0a00 */ 120,195, 10,127,120,251,227,127,201,251,255, 75, 9, 0,128, 56,
/* 0x0a10 */ 120, 27,123,124,120,211, 67,127,120,219,101,127, 97,249,255, 75,
/* 0x0a20 */ 56, 0, 63,161, 64,240,137,127,184, 0,157, 64, 0, 0, 60,129,
/* 0x0a30 */ 3, 0,137, 47,156, 0,158, 64, 16, 0,124,232, 0, 0, 61,233,
/* 0x0a40 */ 0, 0,128, 56, 0, 0,160, 56, 20, 74, 99,124, 9,249,255, 75,
/* 0x0a50 */ 0, 0, 0, 96, 0, 0,131, 47,120, 27,121,124, 16, 0,252, 64,
/* 0x0a60 */ 127, 0, 96, 56,209,248,255, 75, 0, 0, 0, 96,120,251,228,127,
/* 0x0a70 */ 0, 4,160, 56,217,248,255, 75, 0, 0, 0, 96, 0, 4,163, 47,
/* 0x0a80 */ 224,255,222, 64, 0, 0, 32, 57, 0, 0,128, 56, 0, 0, 61,249,
/* 0x0a90 */ 120,203, 37,127, 0, 0,192, 56, 0, 0,224, 56, 0, 0, 0, 57,
/* 0x0aa0 */ 120,235,169,127,120,195, 10,127,120,251,227,127, 37,251,255, 75,
/* 0x0ab0 */ 0, 0,189,232, 7, 0,128, 56,120, 27,123,124,120,211, 67,127,
/* 0x0ac0 */ 189,248,255, 75,120,203, 35,127,149,248,255, 75, 0, 0, 0, 96,
/* 0x0ad0 */ 1, 0,222, 59, 56, 0,156, 59, 32, 0,222,123, 68,255,255, 75,
/* 0x0ae0 */ 240, 0, 33, 56,120,219, 99,127,136, 0, 0, 72, 0, 0, 0, 0,
/* 0x0af0 */ 0, 0, 0, 1,128, 8, 0, 0,112,255,193,249,120,255,225,249,
/* 0x0b00 */ 128,255, 1,250,136,255, 33,250,144,255, 65,250,152,255, 97,250,
/* 0x0b10 */ 160,255,129,250,168,255,161,250,176,255,193,250,184,255,225,250,
/* 0x0b20 */ 192,255, 1,251,200,255, 33,251,208,255, 65,251,216,255, 97,251,
/* 0x0b30 */ 224,255,129,251,232,255,161,251,240,255,193,251,248,255,225,251,
/* 0x0b40 */ 16, 0, 1,248, 32, 0,128, 78,112,255,193,233,120,255,225,233,
/* 0x0b50 */ 128,255, 1,234,136,255, 33,234,144,255, 65,234,152,255, 97,234,
/* 0x0b60 */ 160,255,129,234,168,255,161,234,176,255,193,234,184,255,225,234,
/* 0x0b70 */ 192,255, 1,235,200,255, 33,235,208,255, 65,235,216,255, 97,235,
/* 0x0b80 */ 224,255,129,235, 16, 0, 1,232,232,255,161,235,166, 3, 8,124,
/* 0x0b90 */ 240,255,193,235,248,255,225,235, 32, 0,128, 78, 0, 0, 0, 0,
/* 0x0ba0 */ 124, 3, 16, 0, 0, 0, 0, 0,160,139, 16, 0, 0, 0, 0, 0,
/* 0x0bb0 */ 192, 3, 16, 0, 0, 0, 0, 0,160,139, 16, 0, 0, 0, 0, 0,
/* 0x0bc0 */ 48, 4, 16, 0, 0, 0, 0, 0,160,139, 16, 0, 0, 0, 0, 0,
/* 0x0bd0 */ 208, 5, 16, 0, 0, 0, 0, 0,160,139, 16, 0, 0, 0, 0, 0,
/* 0x0be0 */ 136, 9, 16, 0, 0, 0, 0, 0,160,139, 16
};