i386: Separate PROT_EXEC and PROT_WRITE

Also affects some arm and mips (via sharing i386-linux.elf-main.c)
	modified:   i386-linux.elf-entry.S
	modified:   i386-linux.elf-main.c

	also .h, .map, .dump
This commit is contained in:
John Reiser
2017-06-16 08:17:44 -07:00
parent a4c9b64224
commit d67bf16a08
11 changed files with 2178 additions and 2155 deletions
+61 -62
View File
@@ -1,5 +1,5 @@
/* i386-linux.elf-fold.h
created from i386-linux.elf-fold.bin, 1889 (0x761) bytes
created from i386-linux.elf-fold.bin, 1884 (0x75c) bytes
This file is part of the UPX executable compressor.
@@ -31,17 +31,17 @@
*/
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1889
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x7a161b86
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0xa866d0c0
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1884
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x2c5018f0
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x0a25f2a1
unsigned char stub_i386_linux_elf_fold[1889] = {
unsigned char stub_i386_linux_elf_fold[1884] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
/* 0x0040 */ 0, 16,192, 0, 97, 7, 0, 0,100, 7, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 97, 7, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 0, 16,192, 0, 92, 7, 0, 0, 92, 7, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 92, 7, 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 */ 137,230,129,236, 0, 16, 0, 0,137,231,106, 8, 89,243,165, 85,
@@ -55,7 +55,7 @@ unsigned char stub_i386_linux_elf_fold[1889] = {
/* 0x0100 */ 252,137, 56,131,231,252, 41,201,106, 5, 88,205,128,137, 69, 16,
/* 0x0110 */ 94, 90, 1,250,175,137,241,173, 41,225,193,233, 2,243,165,141,
/* 0x0120 */ 103, 4,137,215,252, 89, 93, 94, 88, 89,129,236, 0, 10, 0, 0,
/* 0x0130 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,167, 4,
/* 0x0130 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,162, 4,
/* 0x0140 */ 0, 0, 79,129,196, 36, 10, 0, 0,137, 68, 36, 12, 89, 87, 81,
/* 0x0150 */ 41,237,137,207,190, 2, 0, 0, 0,186, 1, 0, 0, 0,185, 0,
/* 0x0160 */ 16, 0, 0, 41,219,104,192, 0, 0, 0, 88,205,128, 91,106, 6,
@@ -95,64 +95,63 @@ unsigned char stub_i386_linux_elf_fold[1889] = {
/* 0x0380 */ 0,129,227, 0,240,255,255,133,192,117, 22,106, 0,131,200, 34,
/* 0x0390 */ 106,255, 80,106, 0, 83, 86,232,237,253,255,255,131,196, 24,137,
/* 0x03a0 */ 194,141, 4, 26, 41,242,139,117,224,137, 85,200,137, 69,240,102,
/* 0x03b0 */ 131,126, 44, 0,199, 69,196, 0, 0, 0, 0, 15,132,238, 1, 0,
/* 0x03b0 */ 131,126, 44, 0,199, 69,196, 0, 0, 0, 0, 15,132,233, 1, 0,
/* 0x03c0 */ 0,131,125,220, 0,116, 32,139, 69,204,131, 56, 6,117, 24,139,
/* 0x03d0 */ 77,200,186, 3, 0, 0, 0, 3, 72, 8,139, 69,216,232, 1,255,
/* 0x03e0 */ 255,255,233,177, 1, 0, 0,139, 85,204,131, 58, 1, 15,133,165,
/* 0x03e0 */ 255,255,233,172, 1, 0, 0,139, 85,204,131, 58, 1, 15,133,160,
/* 0x03f0 */ 1, 0, 0,139, 74, 24,187, 64, 98, 81,115,137,214,139, 69,200,
/* 0x0400 */ 131,225, 7, 3, 70, 8,193,225, 2,139, 82, 16,211,235,137,217,
/* 0x0410 */ 137, 85,232,131,225, 7,137, 69,236,137, 77,192,139, 78, 20,137,
/* 0x0420 */ 198, 1,193,137, 77,188,137,193,129,225,255, 15, 0, 0, 41,206,
/* 0x0430 */ 131,125,220, 0,141, 60, 10,116, 69,106, 0,139, 69,192,106,255,
/* 0x0440 */ 106, 50,131,200, 2, 80,141, 71, 3, 80, 86,232, 57,253,255,255,
/* 0x0450 */ 131,196, 24, 57,198,116, 10,184, 6, 0, 0, 0,233, 25, 1, 0,
/* 0x0460 */ 0,128,227, 4,139, 69,208,117, 2, 49,192, 80,139, 69,220,255,
/* 0x0470 */ 117,228,141, 85,232,232,117,253,255,255, 88, 90,235, 41,139, 93,
/* 0x0480 */ 204,139, 67, 4, 41,200, 80,255,117,228,106, 18,255,117,192, 87,
/* 0x0490 */ 86,232,243,252,255,255,131,196, 24, 57,198,116, 10,184, 8, 0,
/* 0x04a0 */ 0, 0,233,211, 0, 0, 0,137,248,247,216, 37,255, 15, 0, 0,
/* 0x04b0 */ 246, 69,192, 2,137, 69,184,116, 18,131,125,184, 0,141, 4, 62,
/* 0x04c0 */ 116, 9,139, 77,184,198, 0, 0, 64,226,250,131,125,220, 0,116,
/* 0x04d0 */ 122,139, 85,204,131, 58, 1,117, 91,246, 66, 24, 1,116, 85,137,
/* 0x04e0 */ 209,139, 82, 20,139, 89, 8,139, 69,204,141, 12, 26, 3, 77,200,
/* 0x04f0 */ 59, 80, 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,131,248,
/* 0x0500 */ 3,119, 17,139, 85,204,107, 69,200, 52,131,122, 4, 0,141, 76,
/* 0x0510 */ 3, 12,117, 32,139, 1, 61,205,128, 97,195,116, 6,199, 1,205,
/* 0x0520 */ 128, 97,195,133,201,116, 13,139, 69,216, 49,210,131,224,254,232,
/* 0x0530 */ 175,253,255,255,137,243,137,249,139, 85,192,106,125, 88,205,128,
/* 0x0540 */ 133,192,116, 7,184, 10, 0, 0, 0,235, 47,139, 85,184,141, 4,
/* 0x0550 */ 23,141, 28, 6, 59, 93,188,115, 38,106, 0,106,255,106, 50,255,
/* 0x0560 */ 117,192, 41, 93,188,255,117,188, 83,232, 27,252,255,255,131,196,
/* 0x0570 */ 24, 57,195,116, 35,184, 9, 0, 0, 0,232,102,252,255,255,131,
/* 0x0580 */ 125,220, 0,116, 19,141, 79, 3,129,225,255, 15, 0, 0,131,249,
/* 0x0590 */ 3,119, 5,106, 91, 88,205,128,139, 77,224,255, 69,196, 15,183,
/* 0x05a0 */ 65, 44,131, 69,204, 32, 57, 69,196, 15,140, 18,254,255,255,131,
/* 0x05b0 */ 125,220, 0,116, 18,139, 93,224,102,131,123, 16, 3,116, 8,139,
/* 0x05c0 */ 93,240,106, 45, 88,205,128,131,125,212, 0,116, 8,139, 69,200,
/* 0x05d0 */ 139,117,212,137, 6,139, 85,224,139, 82, 24, 1, 85,200,139, 69,
/* 0x05e0 */ 200,141,101,244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,
/* 0x05f0 */ 236, 28,199, 69,232, 0, 0, 0, 0,139, 69, 8,139,117, 16,137,
/* 0x0600 */ 69,236,139,125, 28,128, 62,235,139, 93, 32,117, 6,141, 86, 2,
/* 0x0610 */ 137, 85,232,106, 0,141, 85, 24,141, 69, 32, 86,232,206,251,255,
/* 0x0620 */ 255,139, 77, 40,139, 69, 12,186, 3, 0, 0, 0,137, 77,240, 3,
/* 0x0630 */ 79, 28,137, 69, 32,139, 69,236, 41, 93, 36,232,163,252,255,255,
/* 0x0640 */ 15,183, 79, 44,139, 69,236,186, 5, 0, 0, 0,141, 95, 52,232,
/* 0x0650 */ 143,252,255,255, 15,183, 79, 42,139, 69,236,186, 4, 0, 0, 0,
/* 0x0660 */ 232,126,252,255,255,102,131,127, 16, 3, 89, 88,117, 50,139, 77,
/* 0x0670 */ 240,102,199, 71, 16, 2, 0, 3, 79, 24,186, 9, 0, 0, 0,139,
/* 0x0680 */ 69,236,137, 79, 24,232, 89,252,255,255, 15,183, 79, 44,133,201,
/* 0x0690 */ 116, 14,139, 69,240, 1, 67, 8, 1, 67, 12,131,195, 32,226,245,
/* 0x06a0 */ 141, 77,240,137,250,255,117,232, 81,255,117,236,141, 69, 32, 80,
/* 0x06b0 */ 137,240,232, 71,252,255,255,186, 9, 0, 0, 0,137,193,137, 69,
/* 0x06c0 */ 228,139, 69,236,232, 26,252,255,255,102,139, 95, 44,131,196, 16,
/* 0x06d0 */ 49,201,102,133,219,141, 87, 52,116,124,131, 58, 3,117,108,139,
/* 0x06e0 */ 93,240, 49,201, 3, 90, 8,137,202,106, 5, 88,205,128,137,198,
/* 0x06f0 */ 133,246,184, 18, 0, 0, 0,120, 26,186, 0, 2, 0, 0,137,243,
/* 0x0700 */ 137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116, 10,184, 19,
/* 0x0710 */ 0, 0, 0,232,205,250,255,255,141, 69,240,137,250,106, 0,137,
/* 0x0720 */ 243, 80,137,240,255,117,236,106, 0,232,208,251,255,255,139, 77,
/* 0x0730 */ 240,137, 69,228,139, 69,236,186, 7, 0, 0, 0,232,162,251,255,
/* 0x0740 */ 255,131,196, 16,106, 6, 88,205,128,235, 11, 65, 15,183,195,131,
/* 0x0750 */ 194, 32, 57,193,124,132,139, 69,228,141,101,244, 91, 94, 95,201,
/* 0x0760 */ 195
/* 0x0430 */ 131,125,220, 0,141, 60, 10,116, 64,106, 0,106,255,106, 50,141,
/* 0x0440 */ 71, 3,106, 3, 80, 86,232, 62,253,255,255,131,196, 24, 57,198,
/* 0x0450 */ 116, 10,184, 6, 0, 0, 0,233, 25, 1, 0, 0,128,227, 4,139,
/* 0x0460 */ 69,208,117, 2, 49,192, 80,139, 69,220,255,117,228,141, 85,232,
/* 0x0470 */ 232,122,253,255,255, 88, 90,235, 41,139, 93,204,139, 67, 4, 41,
/* 0x0480 */ 200, 80,255,117,228,106, 18,255,117,192, 87, 86,232,248,252,255,
/* 0x0490 */ 255,131,196, 24, 57,198,116, 10,184, 8, 0, 0, 0,233,211, 0,
/* 0x04a0 */ 0, 0,137,248,247,216, 37,255, 15, 0, 0,246, 69,192, 2,137,
/* 0x04b0 */ 69,184,116, 18,131,125,184, 0,141, 4, 62,116, 9,139, 77,184,
/* 0x04c0 */ 198, 0, 0, 64,226,250,131,125,220, 0,116,122,139, 85,204,131,
/* 0x04d0 */ 58, 1,117, 91,246, 66, 24, 1,116, 85,137,209,139, 82, 20,139,
/* 0x04e0 */ 89, 8,139, 69,204,141, 12, 26, 3, 77,200, 59, 80, 16,117, 14,
/* 0x04f0 */ 137,200,247,216, 37,255, 15, 0, 0,131,248, 3,119, 17,139, 85,
/* 0x0500 */ 204,107, 69,200, 52,131,122, 4, 0,141, 76, 3, 12,117, 32,139,
/* 0x0510 */ 1, 61,205,128, 97,195,116, 6,199, 1,205,128, 97,195,133,201,
/* 0x0520 */ 116, 13,139, 69,216, 49,210,131,224,254,232,180,253,255,255,137,
/* 0x0530 */ 243,137,249,139, 85,192,106,125, 88,205,128,133,192,116, 7,184,
/* 0x0540 */ 10, 0, 0, 0,235, 47,139, 85,184,141, 4, 23,141, 28, 6, 59,
/* 0x0550 */ 93,188,115, 38,106, 0,106,255,106, 50,255,117,192, 41, 93,188,
/* 0x0560 */ 255,117,188, 83,232, 32,252,255,255,131,196, 24, 57,195,116, 35,
/* 0x0570 */ 184, 9, 0, 0, 0,232,107,252,255,255,131,125,220, 0,116, 19,
/* 0x0580 */ 141, 79, 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,106, 91,
/* 0x0590 */ 88,205,128,139, 77,224,255, 69,196, 15,183, 65, 44,131, 69,204,
/* 0x05a0 */ 32, 57, 69,196, 15,140, 23,254,255,255,131,125,220, 0,116, 18,
/* 0x05b0 */ 139, 93,224,102,131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,
/* 0x05c0 */ 205,128,131,125,212, 0,116, 8,139, 69,200,139,117,212,137, 6,
/* 0x05d0 */ 139, 85,224,139, 82, 24, 1, 85,200,139, 69,200,141,101,244, 91,
/* 0x05e0 */ 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 28,199, 69,232,
/* 0x05f0 */ 0, 0, 0, 0,139, 69, 8,139,117, 16,137, 69,236,139,125, 28,
/* 0x0600 */ 128, 62,235,139, 93, 32,117, 6,141, 86, 2,137, 85,232,106, 0,
/* 0x0610 */ 141, 85, 24,141, 69, 32, 86,232,211,251,255,255,139, 77, 40,139,
/* 0x0620 */ 69, 12,186, 3, 0, 0, 0,137, 77,240, 3, 79, 28,137, 69, 32,
/* 0x0630 */ 139, 69,236, 41, 93, 36,232,168,252,255,255, 15,183, 79, 44,139,
/* 0x0640 */ 69,236,186, 5, 0, 0, 0,141, 95, 52,232,148,252,255,255, 15,
/* 0x0650 */ 183, 79, 42,139, 69,236,186, 4, 0, 0, 0,232,131,252,255,255,
/* 0x0660 */ 102,131,127, 16, 3, 89, 88,117, 50,139, 77,240,102,199, 71, 16,
/* 0x0670 */ 2, 0, 3, 79, 24,186, 9, 0, 0, 0,139, 69,236,137, 79, 24,
/* 0x0680 */ 232, 94,252,255,255, 15,183, 79, 44,133,201,116, 14,139, 69,240,
/* 0x0690 */ 1, 67, 8, 1, 67, 12,131,195, 32,226,245,141, 77,240,137,250,
/* 0x06a0 */ 255,117,232, 81,255,117,236,141, 69, 32, 80,137,240,232, 76,252,
/* 0x06b0 */ 255,255,186, 9, 0, 0, 0,137,193,137, 69,228,139, 69,236,232,
/* 0x06c0 */ 31,252,255,255,102,139, 95, 44,131,196, 16, 49,201,102,133,219,
/* 0x06d0 */ 141, 87, 52,116,124,131, 58, 3,117,108,139, 93,240, 49,201, 3,
/* 0x06e0 */ 90, 8,137,202,106, 5, 88,205,128,137,198,133,246,184, 18, 0,
/* 0x06f0 */ 0, 0,120, 26,186, 0, 2, 0, 0,137,243,137,249,106, 3, 88,
/* 0x0700 */ 205,128, 61, 0, 2, 0, 0,116, 10,184, 19, 0, 0, 0,232,210,
/* 0x0710 */ 250,255,255,141, 69,240,137,250,106, 0,137,243, 80,137,240,255,
/* 0x0720 */ 117,236,106, 0,232,213,251,255,255,139, 77,240,137, 69,228,139,
/* 0x0730 */ 69,236,186, 7, 0, 0, 0,232,167,251,255,255,131,196, 16,106,
/* 0x0740 */ 6, 88,205,128,235, 11, 65, 15,183,195,131,194, 32, 57,193,124,
/* 0x0750 */ 132,139, 69,228,141,101,244, 91, 94, 95,201,195
};