amd64 recover from merge

modified:   stub/src/amd64-linux.elf-fold.S

	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/tmp/amd64-linux.elf-fold.map
This commit is contained in:
John Reiser
2017-05-08 16:06:02 -07:00
parent 955206aaf0
commit 8a195a0b35
3 changed files with 165 additions and 158 deletions
+112 -112
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-fold.h /* amd64-linux.elf-fold.h
created from amd64-linux.elf-fold.bin, 2059 (0x80b) bytes created from amd64-linux.elf-fold.bin, 2063 (0x80f) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,20 +31,20 @@
*/ */
#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2059 #define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2063
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xee600f10 #define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x7ca710cf
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xd07b6c06 #define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x85216b9f
unsigned char stub_amd64_linux_elf_fold[2059] = { unsigned char stub_amd64_linux_elf_fold[2063] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 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, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 11, 8, 0, 0, 0, 0, 0, 0, 12, 8, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 15, 8, 0, 0, 0, 0, 0, 0, 16, 8, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 11, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0,
@@ -54,115 +54,115 @@ unsigned char stub_amd64_linux_elf_fold[2059] = {
/* 0x00f0 */ 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206, /* 0x00f0 */ 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,
/* 0x0100 */ 115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, /* 0x0100 */ 115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171,
/* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 91, 72,141, 67, 15, 80, /* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 91, 72,141, 67, 15, 80,
/* 0x0120 */ 72,137,230, 72,129,236, 0, 48, 0, 0, 84, 95,106, 7, 89,243, /* 0x0120 */ 72,137,230, 72,129,236, 0, 16, 0, 0, 84, 95,106, 7, 89,243,
/* 0x0130 */ 72,165, 72,131, 62, 0, 72,165,117,248, 73,137,254, 72,171, 72, /* 0x0130 */ 72,165, 72,131, 62, 0, 72,165,117,248, 73,137,254, 72,171, 72,
/* 0x0140 */ 131, 62, 0, 72,165,117,248, 73,137,252, 72,131, 62, 0, 72,165, /* 0x0140 */ 131, 62, 0, 72,165,117,248, 73,137,252, 72,131, 62, 0, 72,165,
/* 0x0150 */ 72,165,117,246, 73,137,255, 73,137,245, 77, 41,252,106, 89,186, /* 0x0150 */ 72,165,117,246, 73,137,255, 73,137,245, 77, 41,252,106, 89,186,
/* 0x0160 */ 255, 15, 0, 0, 87, 94, 83, 95, 88, 15, 5,133,192,121, 5, 83, /* 0x0160 */ 255, 15, 0, 0, 87, 94, 83, 95, 88, 15, 5,133,192,121, 5, 83,
/* 0x0170 */ 94,106, 14, 88,145,253, 73,141,125,255,176, 0,170, 72,141,116, /* 0x0170 */ 94,106, 14, 88,145,253, 73,141,125,255,176, 0,170, 72,141,116,
/* 0x0180 */ 14,255,243,164, 72,131,239, 3,199, 7, 32, 32, 32, 61, 73,137, /* 0x0180 */ 14,255,243,164, 72,131,239, 3,199, 7, 32, 32, 32, 61, 73,137,
/* 0x0190 */ 62, 72,193,239, 12, 72,255,207, 72,193,231, 12, 73,137,254,106, /* 0x0190 */ 62, 72,131,231,248, 76,137,249, 72, 41,225,137,200, 49,248,131,
/* 0x01a0 */ 2, 41,246, 83, 95, 88, 15, 5,147,106, 9, 69, 41,201, 65,137, /* 0x01a0 */ 224, 8, 72, 41,199, 73,137,254, 72,131,239, 8, 73,141,119,248,
/* 0x01b0 */ 216,106, 18, 65, 90,106, 1, 90,190, 0, 16, 0, 0, 65, 86, 95, /* 0x01b0 */ 72,193,233, 3,243, 72,165, 72,141,103, 8,252, 75,141, 12, 38,
/* 0x01c0 */ 88, 15, 5,106, 3,137,223, 88, 15, 5, 73,141,119,248, 73,141, /* 0x01c0 */ 65, 89, 94, 95, 72,139, 68, 36, 16, 72,129,236, 0, 8, 0, 0,
/* 0x01d0 */ 126,248, 76,137,249, 72, 41,225, 72,193,233, 3,243, 72,165, 72, /* 0x01d0 */ 72,137,226, 73,137,232, 80,232,138, 4, 0, 0, 80, 93, 90, 72,
/* 0x01e0 */ 141,103, 8,252, 75,141, 12, 38, 65, 89, 94, 95, 72,139, 68, 36, /* 0x01e0 */ 129,196, 0, 8, 0, 0,106, 2, 41,246, 83, 95, 88, 15, 5,147,
/* 0x01f0 */ 16, 72,129,236, 0, 8, 0, 0, 72,137,226, 73,137,232, 80,232, /* 0x01f0 */ 106, 9, 69, 41,201, 65,137,216,106, 2, 65, 90,106, 1, 90,190,
/* 0x0200 */ 94, 4, 0, 0, 90, 72,129,196, 0, 8, 0, 0, 94, 95, 89, 80, /* 0x0200 */ 0, 16, 0, 0,106, 0, 95, 88, 15, 5,106, 3,137,223, 88, 15,
/* 0x0210 */ 106, 11, 88, 65,255,102,248,176, 9, 73,137,202, 15,182,192, 15, /* 0x0210 */ 5, 94, 95, 89, 85,106, 11, 88, 65,255,102,248,176, 9, 73,137,
/* 0x0220 */ 5, 72, 61, 0,240,255,255,114, 4, 72,131,200,255,195,176, 60, /* 0x0220 */ 202, 15,182,192, 15, 5, 72, 61, 0,240,255,255,114, 4, 72,131,
/* 0x0230 */ 235, 2,176, 12,235, 2,176, 3,235, 2,176, 2,235, 2,176, 11, /* 0x0230 */ 200,255,195,176, 60,235, 2,176, 12,235, 2,176, 3,235, 2,176,
/* 0x0240 */ 235, 2,176, 10,235, 2,176, 1,235, 2,176, 0,235,206, 0, 0, /* 0x0240 */ 2,235, 2,176, 11,235, 2,176, 10,235, 2,176, 1,235, 2,176,
/* 0x0250 */ 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,115, 10,191,127, /* 0x0250 */ 0,235,206, 0, 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,
/* 0x0260 */ 0, 0, 0,232,198,255,255,255, 72,131,249,255,116, 17, 65, 15, /* 0x0260 */ 115, 10,191,127, 0, 0, 0,232,199,255,255,255, 72,131,249,255,
/* 0x0270 */ 182, 0, 72,255,201, 73,255,192,136, 6, 72,255,198,235,233, 72, /* 0x0270 */ 116, 17, 65, 15,182, 0, 72,255,201, 73,255,192,136, 6, 72,255,
/* 0x0280 */ 1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,213, 65, 84, 73, /* 0x0280 */ 198,235,233, 72, 1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,
/* 0x0290 */ 137,204, 85, 72,137,253, 83, 72,137,243, 72,131,236, 40, 72,131, /* 0x0290 */ 213, 65, 84, 73,137,204, 85, 72,137,253, 83, 72,137,243, 72,131,
/* 0x02a0 */ 62, 0, 15,132,226, 0, 0, 0, 72,141,116, 36, 16,186, 12, 0, /* 0x02a0 */ 236, 40, 72,131, 62, 0, 15,132,226, 0, 0, 0, 72,141,116, 36,
/* 0x02b0 */ 0, 0, 72,137,239,232,150,255,255,255,139, 84, 36, 16,139,116, /* 0x02b0 */ 16,186, 12, 0, 0, 0, 72,137,239,232,150,255,255,255,139, 84,
/* 0x02c0 */ 36, 20,133,210,117, 21,129,254, 85, 80, 88, 33,117, 17, 72,131, /* 0x02c0 */ 36, 16,139,116, 36, 20,133,210,117, 21,129,254, 85, 80, 88, 33,
/* 0x02d0 */ 125, 0, 0, 15,132,177, 0, 0, 0,235, 4,133,246,117, 10,191, /* 0x02d0 */ 117, 17, 72,131,125, 0, 0, 15,132,177, 0, 0, 0,235, 4,133,
/* 0x02e0 */ 127, 0, 0, 0,232, 69,255,255,255, 57,214,119,242,137,208, 72, /* 0x02e0 */ 246,117, 10,191,127, 0, 0, 0,232, 70,255,255,255, 57,214,119,
/* 0x02f0 */ 59, 3,119,235, 57,214, 72,139, 67, 8,115,104,137, 84, 36, 12, /* 0x02f0 */ 242,137,208, 72, 59, 3,119,235, 57,214, 72,139, 67, 8,115,104,
/* 0x0300 */ 72,139,125, 8, 72,141, 76, 36, 12, 68,139, 68, 36, 24, 72,137, /* 0x0300 */ 137, 84, 36, 12, 72,139,125, 8, 72,141, 76, 36, 12, 68,139, 68,
/* 0x0310 */ 194, 65,255,213,133,192,117,199,139,116, 36, 12, 59,116, 36, 16, /* 0x0310 */ 36, 24, 72,137,194, 65,255,213,133,192,117,199,139,116, 36, 12,
/* 0x0320 */ 117,189, 15,182, 76, 36, 25,132,201, 15,149,194, 49,192, 77,133, /* 0x0320 */ 59,116, 36, 16,117,189, 15,182, 76, 36, 25,132,201, 15,149,194,
/* 0x0330 */ 228, 15,149,192,133,194,116, 30,129,254, 0, 2, 0, 0,119, 7, /* 0x0330 */ 49,192, 77,133,228, 15,149,192,133,194,116, 30,129,254, 0, 2,
/* 0x0340 */ 137,240, 72, 57, 3,117, 15, 15,182, 84, 36, 26, 15,182,201, 72, /* 0x0340 */ 0, 0,119, 7,137,240, 72, 57, 3,117, 15, 15,182, 84, 36, 26,
/* 0x0350 */ 139,123, 8, 65,255,212,139, 68, 36, 20, 72, 1, 69, 8, 72, 41, /* 0x0350 */ 15,182,201, 72,139,123, 8, 65,255,212,139, 68, 36, 20, 72, 1,
/* 0x0360 */ 69, 0,235, 13,137,242, 72,137,239, 72,137,198,232,223,254,255, /* 0x0360 */ 69, 8, 72, 41, 69, 0,235, 13,137,242, 72,137,239, 72,137,198,
/* 0x0370 */ 255,139, 84, 36, 16, 72,139, 3, 72, 1, 83, 8, 72, 41,208, 72, /* 0x0370 */ 232,223,254,255,255,139, 84, 36, 16, 72,139, 3, 72, 1, 83, 8,
/* 0x0380 */ 133,192, 72,137, 3,233, 24,255,255,255, 72,131,196, 40, 91, 93, /* 0x0380 */ 72, 41,208, 72,133,192, 72,137, 3,233, 24,255,255,255, 72,131,
/* 0x0390 */ 65, 92, 65, 93,195, 72,133,255, 73,137,208,116, 41, 72,139, 7, /* 0x0390 */ 196, 40, 91, 93, 65, 92, 65, 93,195, 72,133,255, 73,137,208,116,
/* 0x03a0 */ 137,241, 72, 57,200,116, 17, 72,255,200, 15,148,194, 49,192,133, /* 0x03a0 */ 41, 72,139, 7,137,241, 72, 57,200,116, 17, 72,255,200, 15,148,
/* 0x03b0 */ 246, 15,149,192,133,194,116, 8, 72,137, 15, 76,137, 71, 8,195, /* 0x03b0 */ 194, 49,192,133,246, 15,149,192,133,194,116, 8, 72,137, 15, 76,
/* 0x03c0 */ 72,131,199, 16,235,215,195, 65, 87,184, 0, 0, 0, 0, 73,137, /* 0x03c0 */ 137, 71, 8,195, 72,131,199, 16,235,215,195, 65, 87,184, 0, 0,
/* 0x03d0 */ 255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104, /* 0x03d0 */ 0, 0, 73,137,255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83,
/* 0x03e0 */ 76, 3,103, 32,102,131,127, 16, 3,137, 84, 36, 60, 15,183, 87, /* 0x03e0 */ 72,131,236,104, 76, 3,103, 32,102,131,127, 16, 3,137, 84, 36,
/* 0x03f0 */ 56, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 72,137,116, 36, 64, /* 0x03f0 */ 60, 15,183, 87, 56, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 72,
/* 0x0400 */ 76,137, 68, 36, 40, 76,137, 76, 36, 32, 15, 68,200, 76,137,230, /* 0x0400 */ 137,116, 36, 64, 76,137, 68, 36, 40, 76,137, 76, 36, 32, 15, 68,
/* 0x0410 */ 72,131,205,255, 49,219,131,193, 34,255,202,120, 33,131, 62, 1, /* 0x0410 */ 200, 76,137,230, 72,131,205,255, 49,219,131,193, 34,255,202,120,
/* 0x0420 */ 117, 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, /* 0x0420 */ 33,131, 62, 1,117, 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,
/* 0x0430 */ 40, 72, 57,195, 72, 15, 66,216, 72,131,198, 56,235,219, 72,129, /* 0x0430 */ 232, 72, 3, 70, 40, 72, 57,195, 72, 15, 66,216, 72,131,198, 56,
/* 0x0440 */ 229, 0,240,255,255, 49,210, 69, 49,201, 72, 41,235, 65,131,200, /* 0x0440 */ 235,219, 72,129,229, 0,240,255,255, 49,210, 69, 49,201, 72, 41,
/* 0x0450 */ 255, 72,137,239, 72,129,195,255, 15, 0, 0, 72,129,227, 0,240, /* 0x0450 */ 235, 65,131,200,255, 72,137,239, 72,129,195,255, 15, 0, 0, 72,
/* 0x0460 */ 255,255, 72,137,222,232,173,253,255,255, 72,141, 20, 24, 72, 41, /* 0x0460 */ 129,227, 0,240,255,255, 72,137,222,232,174,253,255,255, 72,141,
/* 0x0470 */ 232,102, 65,131,127, 56, 0, 72,137, 68, 36, 24,199, 68, 36, 20, /* 0x0470 */ 20, 24, 72, 41,232,102, 65,131,127, 56, 0, 72,137, 68, 36, 24,
/* 0x0480 */ 0, 0, 0, 0, 72,137, 84, 36, 72, 15,132,155, 1, 0, 0, 72, /* 0x0480 */ 199, 68, 36, 20, 0, 0, 0, 0, 72,137, 84, 36, 72, 15,132,155,
/* 0x0490 */ 131,124, 36, 64, 0,116, 37, 65,131, 60, 36, 6,117, 30, 72,139, /* 0x0490 */ 1, 0, 0, 72,131,124, 36, 64, 0,116, 37, 65,131, 60, 36, 6,
/* 0x04a0 */ 84, 36, 24, 73, 3, 84, 36, 16,190, 3, 0, 0, 0, 72,139,124, /* 0x04a0 */ 117, 30, 72,139, 84, 36, 24, 73, 3, 84, 36, 16,190, 3, 0, 0,
/* 0x04b0 */ 36, 48,232,222,254,255,255,233, 87, 1, 0, 0, 65,131, 60, 36, /* 0x04b0 */ 0, 72,139,124, 36, 48,232,222,254,255,255,233, 87, 1, 0, 0,
/* 0x04c0 */ 1, 15,133, 76, 1, 0, 0, 72,139, 68, 36, 24, 73, 3, 68, 36, /* 0x04c0 */ 65,131, 60, 36, 1, 15,133, 76, 1, 0, 0, 72,139, 68, 36, 24,
/* 0x04d0 */ 16, 65,190, 64, 98, 81,115, 65,139, 76, 36, 4, 65,131,200,255, /* 0x04d0 */ 73, 3, 68, 36, 16, 65,190, 64, 98, 81,115, 65,139, 76, 36, 4,
/* 0x04e0 */ 73,139, 84, 36, 32, 72,137,197, 72,137, 68, 36, 88, 73,139, 68, /* 0x04e0 */ 65,131,200,255, 73,139, 84, 36, 32, 72,137,197, 72,137, 68, 36,
/* 0x04f0 */ 36, 40,131,225, 7, 72,137,235, 72,137, 84, 36, 80,193,225, 2, /* 0x04f0 */ 88, 73,139, 68, 36, 40,131,225, 7, 72,137,235, 72,137, 84, 36,
/* 0x0500 */ 129,227,255, 15, 0, 0, 72, 1,232, 65,211,238, 72, 41,221, 72, /* 0x0500 */ 80,193,225, 2,129,227,255, 15, 0, 0, 72, 1,232, 65,211,238,
/* 0x0510 */ 137, 68, 36, 8, 73,139, 68, 36, 8, 65,131,230, 7, 76,141, 44, /* 0x0510 */ 72, 41,221, 72,137, 68, 36, 8, 73,139, 68, 36, 8, 65,131,230,
/* 0x0520 */ 26,185, 50, 0, 0, 0, 72, 41,216, 72,131,124, 36, 64, 0,117, /* 0x0520 */ 7, 76,141, 44, 26,185, 50, 0, 0, 0, 72, 41,216, 72,131,124,
/* 0x0530 */ 7, 68,139, 68, 36, 60,177, 18, 68,137,242, 73,137,193, 76,137, /* 0x0530 */ 36, 64, 0,117, 7, 68,139, 68, 36, 60,177, 18, 68,137,242, 73,
/* 0x0540 */ 238,131,202, 2, 72,131,124, 36, 64, 0, 72,137,239, 65, 15, 68, /* 0x0540 */ 137,193, 76,137,238,131,202, 2, 72,131,124, 36, 64, 0, 72,137,
/* 0x0550 */ 214,232,193,252,255,255, 72, 57,197,117,121, 72,131,124, 36, 64, /* 0x0550 */ 239, 65, 15, 68,214,232,194,252,255,255, 72, 57,197,117,121, 72,
/* 0x0560 */ 0,116, 25, 72,139, 76, 36, 32, 72,139, 84, 36, 40, 72,141,116, /* 0x0560 */ 131,124, 36, 64, 0,116, 25, 72,139, 76, 36, 32, 72,139, 84, 36,
/* 0x0570 */ 36, 80, 72,139,124, 36, 64,232, 12,253,255,255, 76,137,235, 72, /* 0x0570 */ 40, 72,141,116, 36, 80, 72,139,124, 36, 64,232, 12,253,255,255,
/* 0x0580 */ 247,219,129,227,255, 15, 0, 0, 65,246,198, 2,116, 13, 74,141, /* 0x0580 */ 76,137,235, 72,247,219,129,227,255, 15, 0, 0, 65,246,198, 2,
/* 0x0590 */ 124, 45, 0, 49,192, 72,137,217,252,243,170, 72,131,124, 36, 64, /* 0x0590 */ 116, 13, 74,141,124, 45, 0, 49,192, 72,137,217,252,243,170, 72,
/* 0x05a0 */ 0,116, 59, 73,131,124, 36, 8, 0,117, 23, 72,139,124, 36, 48, /* 0x05a0 */ 131,124, 36, 64, 0,116, 59, 73,131,124, 36, 8, 0,117, 23, 72,
/* 0x05b0 */ 72,141, 85, 12,199, 69, 12, 15, 5,195,144, 49,246,232,211,253, /* 0x05b0 */ 139,124, 36, 48, 72,141, 85, 12,199, 69, 12, 15, 5,195,144, 49,
/* 0x05c0 */ 255,255, 68,137,242, 76,137,238, 72,137,239,232,114,252,255,255, /* 0x05c0 */ 246,232,211,253,255,255, 68,137,242, 76,137,238, 72,137,239,232,
/* 0x05d0 */ 133,192,116, 10,191,127, 0, 0, 0,232, 80,252,255,255, 73,141, /* 0x05d0 */ 115,252,255,255,133,192,116, 10,191,127, 0, 0, 0,232, 81,252,
/* 0x05e0 */ 68, 29, 0, 72, 1,197, 72, 59,108, 36, 8,115, 38, 72, 41,108, /* 0x05e0 */ 255,255, 73,141, 68, 29, 0, 72, 1,197, 72, 59,108, 36, 8,115,
/* 0x05f0 */ 36, 8, 69, 49,201, 65,131,200,255, 72,139,116, 36, 8,185, 50, /* 0x05f0 */ 38, 72, 41,108, 36, 8, 69, 49,201, 65,131,200,255, 72,139,116,
/* 0x0600 */ 0, 0, 0, 68,137,242, 72,137,239,232, 9,252,255,255, 72, 57, /* 0x0600 */ 36, 8,185, 50, 0, 0, 0, 68,137,242, 72,137,239,232, 10,252,
/* 0x0610 */ 197,117,193,255, 68, 36, 20, 65, 15,183, 71, 56, 73,131,196, 56, /* 0x0610 */ 255,255, 72, 57,197,117,193,255, 68, 36, 20, 65, 15,183, 71, 56,
/* 0x0620 */ 57, 68, 36, 20, 15,140,101,254,255,255, 72,131,188, 36,160, 0, /* 0x0620 */ 73,131,196, 56, 57, 68, 36, 20, 15,140,101,254,255,255, 72,131,
/* 0x0630 */ 0, 0, 0,116, 16, 72,139, 68, 36, 24, 72,139,148, 36,160, 0, /* 0x0630 */ 188, 36,160, 0, 0, 0, 0,116, 16, 72,139, 68, 36, 24, 72,139,
/* 0x0640 */ 0, 0, 72,137, 2, 73,139, 87, 24, 72, 1, 84, 36, 24, 72,139, /* 0x0640 */ 148, 36,160, 0, 0, 0, 72,137, 2, 73,139, 87, 24, 72, 1, 84,
/* 0x0650 */ 68, 36, 24, 72,131,196,104, 91, 93, 65, 92, 65, 93, 65, 94, 65, /* 0x0650 */ 36, 24, 72,139, 68, 36, 24, 72,131,196,104, 91, 93, 65, 92, 65,
/* 0x0660 */ 95,195, 65, 87, 77,137,207, 65, 86, 73,137,206, 49,201, 65, 85, /* 0x0660 */ 93, 65, 94, 65, 95,195, 65, 87, 77,137,207, 65, 86, 73,137,206,
/* 0x0670 */ 77,137,197, 65, 84, 85, 72,137,213, 83, 72,141, 90, 64, 72,131, /* 0x0670 */ 49,201, 65, 85, 77,137,197, 65, 84, 85, 72,137,213, 83, 72,141,
/* 0x0680 */ 236, 56,139, 7, 72,137, 52, 36, 72,137,116, 36, 16, 72,141,116, /* 0x0680 */ 90, 64, 72,131,236, 56,139, 7, 72,137, 52, 36, 72,137,116, 36,
/* 0x0690 */ 36, 32, 72,137, 84, 36, 40, 72,137,124, 36, 8, 76,137,194, 72, /* 0x0690 */ 16, 72,141,116, 36, 32, 72,137, 84, 36, 40, 72,137,124, 36, 8,
/* 0x06a0 */ 137,124, 36, 24, 72,137,231, 72,137, 68, 36, 32,232,215,251,255, /* 0x06a0 */ 76,137,194, 72,137,124, 36, 24, 72,137,231, 72,137, 68, 36, 32,
/* 0x06b0 */ 255, 72,139, 83, 16,190, 3, 0, 0, 0, 76,137,247,232,211,252, /* 0x06b0 */ 232,215,251,255,255, 72,139, 83, 16,190, 3, 0, 0, 0, 76,137,
/* 0x06c0 */ 255,255, 72, 15,183, 85, 56,190, 5, 0, 0, 0, 76,137,247,232, /* 0x06c0 */ 247,232,211,252,255,255, 72, 15,183, 85, 56,190, 5, 0, 0, 0,
/* 0x06d0 */ 193,252,255,255, 68, 15,183,101, 16, 65,131,252, 3,117, 57, 72, /* 0x06d0 */ 76,137,247,232,193,252,255,255, 68, 15,183,101, 16, 65,131,252,
/* 0x06e0 */ 139, 84, 36,112, 72, 3, 85, 24,190, 9, 0, 0, 0,102,199, 69, /* 0x06e0 */ 3,117, 57, 72,139, 84, 36,112, 72, 3, 85, 24,190, 9, 0, 0,
/* 0x06f0 */ 16, 2, 0, 76,137,247,232,154,252,255,255, 15,183, 69, 56,133, /* 0x06f0 */ 0,102,199, 69, 16, 2, 0, 76,137,247,232,154,252,255,255, 15,
/* 0x0700 */ 192,116, 21, 72,139, 84, 36,112, 72, 1, 83, 16, 72, 1, 83, 24, /* 0x0700 */ 183, 69, 56,133,192,116, 21, 72,139, 84, 36,112, 72, 1, 83, 16,
/* 0x0710 */ 72,131,195, 56,255,200,117,240, 65, 83, 77,137,249, 77,137,232, /* 0x0710 */ 72, 1, 83, 24, 72,131,195, 56,255,200,117,240, 65, 83, 77,137,
/* 0x0720 */ 49,210, 76,137,241, 72,141, 68, 36,120, 72,141,116, 36, 24, 72, /* 0x0720 */ 249, 77,137,232, 49,210, 76,137,241, 72,141, 68, 36,120, 72,141,
/* 0x0730 */ 137,239, 80,232,143,252,255,255, 65, 89, 65,131,252, 3, 73,137, /* 0x0730 */ 116, 36, 24, 72,137,239, 80,232,143,252,255,255, 65, 89, 65,131,
/* 0x0740 */ 197, 65, 90,116, 16, 72,137,194,190, 9, 0, 0, 0, 76,137,247, /* 0x0740 */ 252, 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, 9, 0, 0,
/* 0x0750 */ 232, 64,252,255,255, 69, 49,255,102,131,125, 56, 0, 72,141, 93, /* 0x0750 */ 0, 76,137,247,232, 64,252,255,255, 69, 49,255,102,131,125, 56,
/* 0x0760 */ 64, 15,132,146, 0, 0, 0,131, 59, 3,117,121, 72,139,124, 36, /* 0x0760 */ 0, 72,141, 93, 64, 15,132,146, 0, 0, 0,131, 59, 3,117,121,
/* 0x0770 */ 112, 72, 3,123, 16, 49,210, 49,246,232,188,250,255,255,133,192, /* 0x0770 */ 72,139,124, 36,112, 72, 3,123, 16, 49,210, 49,246,232,189,250,
/* 0x0780 */ 65,137,196,120, 23,186, 0, 4, 0, 0, 72,137,238,137,199,232, /* 0x0780 */ 255,255,133,192, 65,137,196,120, 23,186, 0, 4, 0, 0, 72,137,
/* 0x0790 */ 182,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,191,127, 0, 0, /* 0x0790 */ 238,137,199,232,183,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,
/* 0x07a0 */ 0,232,136,250,255,255, 65, 80, 69, 49,201, 69, 49,192, 49,201, /* 0x07a0 */ 191,127, 0, 0, 0,232,137,250,255,255, 65, 80, 69, 49,201, 69,
/* 0x07b0 */ 68,137,226, 72,141, 68, 36,120, 49,246, 72,137,239, 80,232, 4, /* 0x07b0 */ 49,192, 49,201, 68,137,226, 72,141, 68, 36,120, 49,246, 72,137,
/* 0x07c0 */ 252,255,255, 72,139,148, 36,128, 0, 0, 0,190, 7, 0, 0, 0, /* 0x07c0 */ 239, 80,232, 4,252,255,255, 72,139,148, 36,128, 0, 0, 0,190,
/* 0x07d0 */ 76,137,247, 73,137,197,232,186,251,255,255, 68,137,231,232, 83, /* 0x07d0 */ 7, 0, 0, 0, 76,137,247, 73,137,197,232,186,251,255,255, 68,
/* 0x07e0 */ 250,255,255, 94, 95, 15,183, 69, 56, 65,255,199, 72,131,195, 56, /* 0x07e0 */ 137,231,232, 84,250,255,255, 94, 95, 15,183, 69, 56, 65,255,199,
/* 0x07f0 */ 65, 57,199, 15,130,110,255,255,255, 72,131,196, 56, 76,137,232, /* 0x07f0 */ 72,131,195, 56, 65, 57,199, 15,130,110,255,255,255, 72,131,196,
/* 0x0800 */ 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 /* 0x0800 */ 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195
}; };
+33 -26
View File
@@ -82,7 +82,7 @@ L90:
pop %rbx # L90a pop %rbx # L90a
lea L90b - L90a(%rbx),%rax; push %rax # &amdbxx: f_unfilter lea L90b - L90a(%rbx),%rax; push %rax # &amdbxx: f_unfilter
mov %rsp,%rsi mov %rsp,%rsi
sub $2*PAGE_SIZE + PATH_MAX,%rsp sub $PATH_MAX,%rsp
push %rsp; pop %rdi push %rsp; pop %rdi
push $7; pop %rcx; rep movsq # f_unfilter,LENX,ADRX,LENU,ADRU,slide,argc push $7; pop %rcx; rep movsq # f_unfilter,LENX,ADRX,LENU,ADRU,slide,argc
0: 0:
@@ -115,31 +115,18 @@ L90:
rep movsb # slide up rep movsb # slide up
sub $3,%rdi; movl $('='<<24)|(' '<<16)|(' '<<8)|(' '<<0),(%rdi) # env var name sub $3,%rdi; movl $('='<<24)|(' '<<16)|(' '<<8)|(' '<<0),(%rdi) # env var name
mov %rdi,(%r14) # new_env[0] mov %rdi,(%r14) # new_env[0]
shr $PAGE_SHIFT,%rdi; dec %rdi; shl $PAGE_SHIFT,%rdi; mov %rdi,%r14 # &page and $~0<<3,%rdi # align
push $__NR_open
sub %arg2l,%arg2l # O_RDONLY
push %rbx; pop %arg1 # "/proc/self/exe"
pop %rax; syscall; xchg %eax,%ebx # %ebx= fd
push $__NR_mmap
sub %arg6l,%arg6l # 0 offset
mov %ebx,%arg5l
push $MAP_PRIVATE|MAP_FIXED; pop %sys4 # BEWARE: %sys4
push $PROT_READ; pop %arg3
mov $PAGE_SIZE,%arg2l
push %r14; pop %arg1
pop %rax; syscall
push $__NR_close
mov %ebx,%edi # fd
pop %rax; syscall
lea -8(%r15),%rsi # &last qword of old auxv
lea -8(%r14),%rdi # &last qword of new auxv
mov %r15,%rcx mov %r15,%rcx
sub %rsp,%rcx sub %rsp,%rcx # byte count
mov %ecx,%eax
xor %edi,%eax
and $8,%eax
sub %rax,%rdi # keep 16-byte alignment of %rsp
mov %rdi,%r14 # end of new auxv
sub $8,%rdi # &last qword of new auxv
lea -8(%r15),%rsi # &last qword of old auxv
shr $3,%rcx; rep movsq shr $3,%rcx; rep movsq
lea 8(%rdi),%rsp lea 8(%rdi),%rsp
cld cld
@@ -159,12 +146,32 @@ L90:
Elf32_Auxv_t *arg4, f_decompr arg5, f_unfilter arg6, Elf32_Auxv_t *arg4, f_decompr arg5, f_unfilter arg6,
Elf64_Addr reloc ) Elf64_Addr reloc )
*/ */
push %rax; pop %rbp # entry
popq %rdx # reloc popq %rdx # reloc
addq $OVERHEAD,%rsp addq $OVERHEAD,%rsp
push $__NR_open
sub %arg2l,%arg2l # O_RDONLY
push %rbx; pop %arg1 # "/proc/self/exe"
pop %rax; syscall; xchg %eax,%ebx # %ebx= fd
push $__NR_mmap
sub %arg6l,%arg6l # 0 offset
mov %ebx,%arg5l
push $MAP_PRIVATE; pop %sys4 # BEWARE: %sys4
push $PROT_READ; pop %arg3
mov $PAGE_SIZE,%arg2l
push $0; pop %arg1
pop %rax; syscall
push $__NR_close
mov %ebx,%edi # fd
pop %rax; syscall
pop %arg2 # LENU pop %arg2 # LENU
pop %arg1 # ADRU pop %arg1 # ADRU
pop %rcx # slide [unused] pop %rcx # slide [unused]
push %rax # &entry push %rbp # &entry
push $ __NR_munmap; pop %rax push $ __NR_munmap; pop %rax
jmp *-8(%r14) # goto: syscall; ret jmp *-8(%r14) # goto: syscall; ret
+20 -20
View File
@@ -8,31 +8,31 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x750 .text 0x00000000001000bc 0x754
*(.text) *(.text)
.text 0x00000000001000bc 0x192 tmp/amd64-linux.elf-fold.o .text 0x00000000001000bc 0x197 tmp/amd64-linux.elf-fold.o
0x000000000010023e munmap 0x0000000000100243 munmap
0x0000000000100217 mmap 0x000000000010021c mmap
0x0000000000100246 write 0x000000000010024b write
0x000000000010024a read 0x000000000010024f read
0x000000000010022e exit 0x0000000000100233 exit
0x0000000000100232 brk 0x0000000000100237 brk
0x000000000010023a open 0x000000000010023f open
0x0000000000100242 mprotect 0x0000000000100247 mprotect
0x0000000000100236 close 0x000000000010023b close
*fill* 0x000000000010024e 0x2 00 *fill* 0x0000000000100253 0x1 00
.text 0x0000000000100250 0x5bb tmp/amd64-linux.elf-main.o .text 0x0000000000100254 0x5bb tmp/amd64-linux.elf-main.o
0x0000000000100662 upx_main 0x0000000000100666 upx_main
*(.data) *(.data)
*fill* 0x000000000010080b 0x1 00 *fill* 0x000000000010080f 0x1 00
.data 0x000000000010080c 0x0 tmp/amd64-linux.elf-fold.o .data 0x0000000000100810 0x0 tmp/amd64-linux.elf-fold.o
.data 0x000000000010080c 0x0 tmp/amd64-linux.elf-main.o .data 0x0000000000100810 0x0 tmp/amd64-linux.elf-main.o
.data .data
.bss 0x000000000010080c 0x0 .bss 0x0000000000100810 0x0
.bss 0x000000000010080c 0x0 tmp/amd64-linux.elf-fold.o .bss 0x0000000000100810 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x000000000010080c 0x0 tmp/amd64-linux.elf-main.o .bss 0x0000000000100810 0x0 tmp/amd64-linux.elf-main.o
.rela.dyn 0x0000000000100810 0x0 .rela.dyn 0x0000000000100810 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o .rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o