arm64 unfilter

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

	modified:   stub/arm64-linux.elf-fold.h
	modified:   stub/tmp/arm64-linux.elf-fold.map
This commit is contained in:
John Reiser
2017-03-24 13:55:54 -07:00
parent 2f6211a1d9
commit f5d65dc0bc
3 changed files with 171 additions and 193 deletions
+122 -123
View File
@@ -1,5 +1,5 @@
/* arm64-linux.elf-fold.h /* arm64-linux.elf-fold.h
created from arm64-linux.elf-fold.bin, 2372 (0x944) bytes created from arm64-linux.elf-fold.bin, 2356 (0x934) 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_ARM64_LINUX_ELF_FOLD_SIZE 2372 #define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2356
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x4c614c6b #define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xde69440e
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x2bc818a3 #define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xf9178fcb
unsigned char stub_arm64_linux_elf_fold[2372] = { unsigned char stub_arm64_linux_elf_fold[2356] = {
/* 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,183, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0,183, 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 */ 68, 9, 0, 0, 0, 0, 0, 0, 68, 9, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 52, 9, 0, 0, 0, 0, 0, 0, 52, 9, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 68, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 52, 9, 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, 1, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 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,229, 35, 65,169, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229, 35, 65,169,
@@ -58,131 +58,130 @@ unsigned char stub_arm64_linux_elf_fold[2372] = {
/* 0x0130 */ 194,255,255,181, 4, 32, 0,209, 2,132, 0,248,231, 3, 0,170, /* 0x0130 */ 194,255,255,181, 4, 32, 0,209, 2,132, 0,248,231, 3, 0,170,
/* 0x0140 */ 34, 12,193,168, 2, 12,129,168,194,255,255,181,224, 11, 0,249, /* 0x0140 */ 34, 12,193,168, 2, 12,129,168,194,255,255,181,224, 11, 0,249,
/* 0x0150 */ 193, 4, 64,145,129, 0, 0,249, 34, 4, 0, 24, 34, 68, 0,184, /* 0x0150 */ 193, 4, 64,145,129, 0, 0,249, 34, 4, 0, 24, 34, 68, 0,184,
/* 0x0160 */ 226,255,129, 82,224, 3, 0, 16, 93, 0, 0,148,160, 3, 0, 16, /* 0x0160 */ 226,255,129, 82,224, 3, 0, 16, 91, 0, 0,148,160, 3, 0, 16,
/* 0x0170 */ 1, 0,128, 82, 81, 0, 0,148,228, 3, 0, 42,224, 3, 6,170, /* 0x0170 */ 1, 0,128, 82, 81, 0, 0,148,228, 3, 0, 42,224, 3, 6,170,
/* 0x0180 */ 5, 0,128,210, 67, 2,128, 82, 34, 0,128, 82, 1, 0,130,210, /* 0x0180 */ 5, 0,128,210, 67, 2,128, 82, 34, 0,128, 82, 1, 0,130,210,
/* 0x0190 */ 71, 0, 0,148,224, 3, 4, 42, 47, 0, 0,148,230, 99, 0,145, /* 0x0190 */ 68, 0, 0,148,224, 3, 4, 42, 47, 0, 0,148,230, 99, 0,145,
/* 0x01a0 */ 255, 3, 40,209,101, 2, 0, 16,228, 3, 15,170,227, 3, 7,170, /* 0x01a0 */ 255, 3, 40,209,101, 2, 0, 16,228, 3, 15,170,227, 3, 7,170,
/* 0x01b0 */ 226, 3, 0,145,225, 3, 9, 42,224, 3, 10,170,134, 1, 0,148, /* 0x01b0 */ 226, 3, 0,145,225, 3, 9, 42,224, 3, 10,170,130, 1, 0,148,
/* 0x01c0 */ 255, 3, 40,145,254, 3, 0,170,226, 15, 65,169,224, 7,194,168, /* 0x01c0 */ 255, 3, 40,145,254, 3, 0,170,226, 15, 65,169,224, 7,194,168,
/* 0x01d0 */ 232, 26,128, 82, 67,128, 95,248, 96, 0, 31,214, 32, 32, 32, 61, /* 0x01d0 */ 67,128, 95,248,232, 26,128, 82, 96, 0, 31,214, 32, 32, 32, 61,
/* 0x01e0 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 0, /* 0x01e0 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 0,
/* 0x01f0 */ 99, 28, 0, 18,127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211, /* 0x01f0 */ 99, 28, 0, 18,127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211,
/* 0x0200 */ 65, 1, 0,180, 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83, /* 0x0200 */ 65, 1, 0,180, 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83,
/* 0x0210 */ 127, 20, 0,113,129, 0, 0, 84, 66, 0, 1, 75, 98, 20, 26, 83, /* 0x0210 */ 127, 20, 0,113,129, 0, 0, 84, 67, 0, 1, 75, 98,100, 0, 51,
/* 0x0220 */ 2,120, 33,184, 1,255,255,181,192, 3, 95,214, 0, 0, 32,212, /* 0x0220 */ 2,120, 33,184, 1,255,255,181,192, 3, 95,214, 0, 0, 32,212,
/* 0x0230 */ 192, 3, 95,214,200, 11,128, 82, 1, 0, 0,212,232, 7,128, 82, /* 0x0230 */ 192, 3, 95,214,200, 11,128, 82, 1, 0, 0,212,232, 7,128, 82,
/* 0x0240 */ 1, 0, 0,212,192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212, /* 0x0240 */ 1, 0, 0,212,192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,
/* 0x0250 */ 192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x0250 */ 192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0260 */ 104, 4,128, 82, 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82, /* 0x0260 */ 168, 21,128, 82, 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82,
/* 0x0270 */ 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212, /* 0x0270 */ 1, 0, 0,212,192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,
/* 0x0280 */ 192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x0280 */ 192, 3, 95,214, 72, 28,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0290 */ 72, 28,128, 82, 1, 0, 0,212,192, 3, 95,214,230,240,255, 24, /* 0x0290 */ 70,241,255, 24, 5, 0,128,210, 4, 0,128,146, 99, 0, 6, 42,
/* 0x02a0 */ 5, 0,128,210, 4, 0,128,146, 99, 0, 6, 42,200, 27,128, 82, /* 0x02a0 */ 200, 27,128, 82, 1, 0, 0,212,192, 3, 95,214, 1, 0,128,210,
/* 0x02b0 */ 1, 0, 0,212,192, 3, 95,214,229, 3, 0,170, 96, 12,128,146, /* 0x02b0 */ 104, 4,128, 82, 2, 0, 0, 20, 8, 7,128, 82,227, 3, 2,170,
/* 0x02c0 */ 228, 3, 1,170,227, 3, 2,170,226, 3, 4,170,225, 3, 5,170, /* 0x02c0 */ 226, 3, 1,170,225, 3, 0,170, 96, 12,128,146, 1, 0, 0,212,
/* 0x02d0 */ 8, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,229, 3, 0,170, /* 0x02d0 */ 192, 3, 95,214,200, 9,128, 82,227, 3, 2,170,226, 3, 1,170,
/* 0x02e0 */ 96, 12,128,146,228, 3, 1,170,227, 3, 2,170,226, 3, 4,170, /* 0x02e0 */ 225, 3, 0,170, 96, 12,128,146, 1, 0, 0,212, 31, 4, 64,177,
/* 0x02f0 */ 225, 3, 5,170,200, 9,128, 82, 1, 0, 0,212, 31, 4, 64,177, /* 0x02f0 */ 98, 0, 0, 84, 3, 0,128, 82, 67,104, 32, 56,192, 3, 95,214,
/* 0x0300 */ 98, 0, 0, 84, 3, 0,128, 82, 67,104, 32, 56,192, 3, 95,214, /* 0x0300 */ 0, 0, 64,212, 2, 0,128, 82, 8, 0,128, 82, 1, 0, 0,212,
/* 0x0310 */ 0, 0, 64,212, 2, 0,128, 82, 8, 0,128, 82, 1, 0, 0,212, /* 0x0310 */ 192, 3, 95,214,128, 1, 0,180, 3, 0, 64,249,228, 3, 1, 42,
/* 0x0320 */ 192, 3, 95,214,128, 1, 0,180, 3, 0, 64,249,228, 3, 1, 42, /* 0x0320 */ 127, 0, 4,235, 97, 0, 0, 84, 4, 8, 0,169,192, 3, 95,214,
/* 0x0330 */ 127, 0, 4,235, 97, 0, 0, 84, 4, 8, 0,169,192, 3, 95,214, /* 0x0330 */ 63, 0, 31,107, 96, 24, 65,250,128,255,255, 84, 0, 64, 0,145,
/* 0x0340 */ 63, 0, 31,107, 96, 24, 65,250,128,255,255, 84, 0, 64, 0,145, /* 0x0340 */ 246,255,255, 23,192, 3, 95,214, 3, 16, 64,169,127, 0, 2,235,
/* 0x0350 */ 246,255,255, 23,192, 3, 95,214, 3, 16, 64,169,127, 0, 2,235, /* 0x0350 */ 99, 0, 0, 84, 3, 0,128,210, 5, 0, 0, 20,253,123,191,169,
/* 0x0360 */ 99, 0, 0, 84, 3, 0,128,210, 5, 0, 0, 20,253,123,191,169, /* 0x0360 */ 224, 15,128, 82,253, 3, 0,145,179,255,255,151, 95, 0, 3,235,
/* 0x0370 */ 224, 15,128, 82,253, 3, 0,145,175,255,255,151, 95, 0, 3,235, /* 0x0370 */ 160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56, 99, 4, 0,145,
/* 0x0380 */ 160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56, 99, 4, 0,145, /* 0x0380 */ 251,255,255, 23, 1, 4, 64,249, 33, 0, 2,139, 1, 4, 0,249,
/* 0x0390 */ 251,255,255, 23, 1, 4, 64,249, 33, 0, 2,139, 1, 4, 0,249, /* 0x0390 */ 1, 0, 64,249, 34, 0, 2,203, 2, 0, 0,249,192, 3, 95,214,
/* 0x03a0 */ 1, 0, 64,249, 34, 0, 2,203, 2, 0, 0,249,192, 3, 95,214, /* 0x03a0 */ 253,123,187,169,253, 3, 0,145,243, 83, 1,169,245, 91, 2,169,
/* 0x03b0 */ 253,123,187,169,253, 3, 0,145,243, 83, 1,169,245, 91, 2,169, /* 0x03b0 */ 244, 3, 0,170,243, 3, 1,170,246, 3, 2,170,245, 3, 3,170,
/* 0x03c0 */ 244, 3, 0,170,243, 3, 1,170,246, 3, 2,170,245, 3, 3,170, /* 0x03c0 */ 96, 2, 64,249,192, 7, 0,180,161, 3, 1,145,224, 3, 20,170,
/* 0x03d0 */ 96, 2, 64,249,192, 7, 0,180,161, 3, 1,145,224, 3, 20,170, /* 0x03d0 */ 130, 1,128,210,221,255,255,151,160, 7, 72, 41, 0, 1, 0, 53,
/* 0x03e0 */ 130, 1,128,210,221,255,255,151,160, 7, 72, 41, 0, 1, 0, 53, /* 0x03e0 */ 160, 10,138, 82, 0, 43,164,114, 63, 0, 0,107,225, 0, 0, 84,
/* 0x03f0 */ 160, 10,138, 82, 0, 43,164,114, 63, 0, 0,107,225, 0, 0, 84, /* 0x03f0 */ 128, 2, 64,249, 64, 6, 0,180, 4, 0, 0, 20, 31, 0, 1,107,
/* 0x0400 */ 128, 2, 64,249, 64, 6, 0,180, 4, 0, 0, 20, 31, 0, 1,107, /* 0x0400 */ 36, 32, 95,122, 97, 0, 0, 84,224, 15,128, 82,138,255,255,151,
/* 0x0410 */ 36, 32, 95,122, 97, 0, 0, 84,224, 15,128, 82,134,255,255,151, /* 0x0410 */ 98, 2, 64,249, 95, 64, 32,235,131,255,255, 84, 31, 0, 1,107,
/* 0x0420 */ 98, 2, 64,249, 95, 64, 32,235,131,255,255, 84, 31, 0, 1,107, /* 0x0420 */ 169, 3, 0, 84,160, 63, 0,185,163,243, 0,145,164, 35, 65, 57,
/* 0x0430 */ 169, 3, 0, 84,160, 63, 0,185,163,243, 0,145,164, 35, 65, 57, /* 0x0430 */ 98, 6, 64,249,128, 6, 64,249,192, 2, 63,214, 96,254,255, 53,
/* 0x0440 */ 98, 6, 64,249,128, 6, 64,249,192, 2, 63,214, 96,254,255, 53, /* 0x0440 */ 160,135, 71, 41, 63, 0, 0,107, 1,254,255, 84,163, 39, 65, 57,
/* 0x0450 */ 160,135, 71, 41, 63, 0, 0,107, 1,254,255, 84,163, 39, 65, 57, /* 0x0450 */ 191, 2, 31,235,100, 16, 95,122, 32, 1, 0, 84, 63, 0, 8,113,
/* 0x0460 */ 191, 2, 31,235,100, 16, 95,122, 32, 1, 0, 84, 63, 0, 8,113, /* 0x0460 */ 136, 0, 0, 84, 96, 2, 64,249, 31, 64, 33,235,129, 0, 0, 84,
/* 0x0470 */ 136, 0, 0, 84, 96, 2, 64,249, 31, 64, 33,235,129, 0, 0, 84, /* 0x0470 */ 162, 43, 65, 57, 96, 6, 64,249,160, 2, 63,214,128, 6, 64,169,
/* 0x0480 */ 162, 43, 65, 57, 96, 6, 64,249,160, 2, 63,214,128, 6, 64,169, /* 0x0480 */ 162, 71, 64,185, 33, 0, 2,139, 0, 0, 2,203,128, 6, 0,169,
/* 0x0490 */ 162, 71, 64,185, 33, 0, 2,139, 0, 0, 2,203,128, 6, 0,169, /* 0x0490 */ 5, 0, 0, 20,226, 3, 1, 42, 97, 6, 64,249,224, 3, 20,170,
/* 0x04a0 */ 5, 0, 0, 20,226, 3, 1, 42, 97, 6, 64,249,224, 3, 20,170, /* 0x04a0 */ 170,255,255,151, 96, 6, 64,169,162, 67, 64,185, 33, 0, 2,139,
/* 0x04b0 */ 170,255,255,151, 96, 6, 64,169,162, 67, 64,185, 33, 0, 2,139, /* 0x04b0 */ 0, 0, 2,203, 96, 6, 0,169,194,255,255, 23,243, 83, 65,169,
/* 0x04c0 */ 0, 0, 2,203, 96, 6, 0,169,194,255,255, 23,243, 83, 65,169, /* 0x04c0 */ 245, 91, 66,169,253,123,197,168,192, 3, 95,214,253,123,180,169,
/* 0x04d0 */ 245, 91, 66,169,253,123,197,168,192, 3, 95,214,253,123,180,169, /* 0x04d0 */ 253, 3, 0,145,247, 99, 3,169,247, 3, 0,170,166, 75, 0,249,
/* 0x04e0 */ 253, 3, 0,145,247, 99, 3,169,247, 3, 0,170,166, 75, 0,249, /* 0x04e0 */ 6, 16, 64,249,249,107, 4,169, 25, 0, 6,139, 0, 32, 64,121,
/* 0x04f0 */ 6, 16, 64,249,249,107, 4,169, 25, 0, 6,139, 0, 32, 64,121, /* 0x04f0 */ 243, 83, 1,169, 31, 12, 0,113,224,114, 64,121,244, 3, 2, 42,
/* 0x0500 */ 243, 83, 1,169, 31, 12, 0,113,224,114, 64,121,244, 3, 2, 42, /* 0x0500 */ 2, 7,128, 82,251,115, 5,169, 2,124,162,155,252, 3, 3,170,
/* 0x0510 */ 2, 7,128, 82,251,115, 5,169, 2,124,162,155,252, 3, 3,170, /* 0x0510 */ 3, 2,128, 82, 99, 16,159, 26, 19, 0,128,146,245, 91, 2,169,
/* 0x0520 */ 3, 2,128, 82, 99, 16,159, 26, 19, 0,128,146,245, 91, 2,169, /* 0x0520 */ 165,147, 6,169,246, 3, 1,170, 99,136, 0, 17, 1, 0,128,210,
/* 0x0530 */ 165,147, 6,169,246, 3, 1,170, 99,136, 0, 17, 1, 0,128,210, /* 0x0530 */ 34, 3, 2,139,224, 3, 25,170, 31, 0, 2,235,160, 1, 0, 84,
/* 0x0540 */ 34, 3, 2,139,224, 3, 25,170, 31, 0, 2,235,160, 1, 0, 84, /* 0x0540 */ 4, 0, 64,185,159, 4, 0,113, 1, 1, 0, 84, 5, 8, 64,249,
/* 0x0550 */ 4, 0, 64,185,159, 4, 0,113, 1, 1, 0, 84, 5, 8, 64,249, /* 0x0550 */ 4, 20, 64,249,127, 2, 5,235,164, 0, 4,139,115,146,133,154,
/* 0x0560 */ 4, 20, 64,249,127, 2, 5,235,164, 0, 4,139,115,146,133,154, /* 0x0560 */ 63, 0, 4,235, 33, 32,132,154, 0,224, 0,145,243,255,255, 23,
/* 0x0570 */ 63, 0, 4,235, 33, 32,132,154, 0,224, 0,145,243,255,255, 23, /* 0x0570 */ 115,206,116,146, 33,252, 63,145, 33, 0, 19,203,224, 3, 19,170,
/* 0x0580 */ 115,206,116,146, 33,252, 63,145, 33, 0, 19,203,224, 3, 19,170, /* 0x0580 */ 33,204,116,146, 5, 0,128,210, 4, 0,128, 18, 2, 0,128, 82,
/* 0x0590 */ 33,204,116,146, 5, 0,128,210, 4, 0,128, 18, 2, 0,128, 82, /* 0x0590 */ 26, 0,128, 82, 67,255,255,151, 19, 0, 19,203, 96, 14, 0,145,
/* 0x05a0 */ 26, 0,128, 82, 66,255,255,151, 19, 0, 19,203, 96, 14, 0,145, /* 0x05a0 */ 223, 2, 31,235,160, 67, 0,249, 64, 0,128, 82, 0, 16,159, 26,
/* 0x05b0 */ 223, 2, 31,235,160, 67, 0,249, 64, 0,128, 82, 0, 16,159, 26, /* 0x05b0 */ 160,143, 0,185,128, 2,159, 90, 65, 6,128, 82,160,139, 0,185,
/* 0x05c0 */ 160,143, 0,185,128, 2,159, 90, 65, 6,128, 82,160,139, 0,185, /* 0x05c0 */ 64, 2,128, 82, 32, 16,128, 26,160,127, 0,185,224,114, 64,121,
/* 0x05d0 */ 64, 2,128, 82, 32, 16,128, 26,160,127, 0,185,224,114, 64,121, /* 0x05d0 */ 95, 3, 0,107,170, 12, 0, 84, 32, 3, 64,185, 54, 1, 0,180,
/* 0x05e0 */ 95, 3, 0,107,170, 12, 0, 84, 32, 3, 64,185, 54, 1, 0,180, /* 0x05e0 */ 31, 24, 0,113,225, 0, 0, 84, 34, 11, 64,249, 97, 0,128, 82,
/* 0x05f0 */ 31, 24, 0,113,225, 0, 0, 84, 34, 11, 64,249, 97, 0,128, 82, /* 0x05f0 */ 224, 3, 28,170, 98, 2, 2,139, 71,255,255,151, 88, 0, 0, 20,
/* 0x0600 */ 224, 3, 28,170, 98, 2, 2,139, 71,255,255,151, 88, 0, 0, 20, /* 0x0600 */ 31, 4, 0,113,193, 10, 0, 84, 56, 7, 64,185, 1, 72,140, 82,
/* 0x0610 */ 31, 4, 0,113,193, 10, 0, 84, 56, 7, 64,185, 1, 72,140, 82, /* 0x0610 */ 33,106,174,114, 53, 19, 64,249, 24, 11, 30, 83,163,127, 64,185,
/* 0x0620 */ 33,106,174,114, 53, 19, 64,249, 24, 11, 30, 83,163,127, 64,185, /* 0x0620 */ 32, 36,216, 26,160,163, 0,185, 37,211, 64,169, 27, 8, 0, 18,
/* 0x0630 */ 32, 36,216, 26,160,163, 0,185, 37,211, 64,169, 27, 8, 0, 18, /* 0x0630 */ 32, 23, 64,249,116, 2, 20,139,164,139, 64,185,128, 2, 0,139,
/* 0x0640 */ 32, 23, 64,249,116, 2, 20,139,164,139, 64,185,128, 2, 0,139, /* 0x0640 */ 160, 79, 0,249,128, 46, 64,146,181, 83, 11,169,165, 0, 0,203,
/* 0x0650 */ 160, 79, 0,249,128, 46, 64,146,181, 83, 11,169,165, 0, 0,203, /* 0x0650 */ 181, 2, 0,139,160,143, 64,185,148,206,116,146,225, 3, 21,170,
/* 0x0660 */ 181, 2, 0,139,160,143, 64,185,148,206,116,146,225, 3, 21,170, /* 0x0660 */ 2, 0, 27, 42,224, 3, 20,170, 14,255,255,151,159, 2, 0,235,
/* 0x0670 */ 2, 0, 27, 42,224, 3, 20,170, 13,255,255,151,159, 2, 0,235, /* 0x0670 */ 96, 0, 0, 84,224, 15,128, 82,239,254,255,151,182, 0, 0,180,
/* 0x0680 */ 96, 0, 0, 84,224, 15,128, 82,235,254,255,151,182, 0, 0,180, /* 0x0680 */ 163,139, 70,169,161,195, 2,145,224, 3, 22,170, 69,255,255,151,
/* 0x0690 */ 163,139, 70,169,161,195, 2,145,224, 3, 22,170, 69,255,255,151, /* 0x0690 */ 160, 83, 64,249,227, 3, 21,203,120, 44, 64,146, 96, 0, 8, 55,
/* 0x06a0 */ 160, 83, 64,249,227, 3, 21,203,120, 44, 64,146, 96, 0, 8, 55, /* 0x06a0 */ 86, 1, 0,181, 32, 0, 0, 20,216,255,255,180,129, 2, 21,139,
/* 0x06b0 */ 86, 1, 0,181, 32, 0, 0, 20,216,255,255,180,129, 2, 21,139, /* 0x06b0 */ 0, 0,128,210, 63,104, 32, 56, 0, 4, 0,145, 31, 0, 24,235,
/* 0x06c0 */ 0, 0,128,210, 63,104, 32, 56, 0, 4, 0,145, 31, 0, 24,235, /* 0x06c0 */ 161,255,255, 84,247,255,255, 23, 32, 3, 64,249,225, 3, 0,178,
/* 0x06d0 */ 161,255,255, 84,247,255,255, 23, 32, 3, 64,249,225, 3, 0,178, /* 0x06d0 */ 0,128, 64,146, 31, 0, 1,235,193, 1, 0, 84, 32, 23, 64,249,
/* 0x06e0 */ 0,128, 64,146, 31, 0, 1,235,193, 1, 0, 84, 32, 23, 64,249, /* 0x06e0 */ 34, 11, 64,249,161, 67, 64,249, 2, 0, 2,139, 66, 0, 1,139,
/* 0x06f0 */ 34, 11, 64,249,161, 67, 64,249, 2, 0, 2,139, 66, 0, 1,139, /* 0x06f0 */ 33, 19, 64,249, 66,244,126,146, 31, 0, 1,235,161, 0, 0, 84,
/* 0x0700 */ 33, 19, 64,249, 66,244,126,146, 31, 0, 1,235,161, 0, 0, 84, /* 0x0700 */ 224, 3, 2,203, 0, 44, 64,146, 31, 28, 0,241,104, 3, 0, 84,
/* 0x0710 */ 224, 3, 2,203, 0, 44, 64,146, 31, 28, 0,241,104, 3, 0, 84, /* 0x0710 */ 226, 3, 27, 42,225, 3, 21,170,224, 3, 20,170,218,254,255,151,
/* 0x0720 */ 226, 3, 27, 42,225, 3, 21,170,224, 3, 20,170,217,254,255,151, /* 0x0720 */ 160,250,255, 53,181, 2, 24,139,160, 79, 64,249,148, 2, 21,139,
/* 0x0730 */ 160,250,255, 53,181, 2, 24,139,160, 79, 64,249,148, 2, 21,139, /* 0x0730 */ 31, 0, 20,235, 73, 1, 0, 84, 1, 0, 20,203, 5, 0,128,210,
/* 0x0740 */ 31, 0, 20,235, 73, 1, 0, 84, 1, 0, 20,203, 5, 0,128,210, /* 0x0740 */ 4, 0,128, 18, 67, 6,128, 82,226, 3, 27, 42,224, 3, 20,170,
/* 0x0750 */ 4, 0,128, 18, 67, 6,128, 82,226, 3, 27, 42,224, 3, 20,170, /* 0x0750 */ 212,254,255,151,159, 2, 0,235,225,248,255, 84, 57,227, 0,145,
/* 0x0760 */ 211,254,255,151,159, 2, 0,235,225,248,255, 84, 57,227, 0,145, /* 0x0760 */ 90, 7, 0, 17,154,255,255, 23,160, 75, 64,249,160, 1, 0,180,
/* 0x0770 */ 90, 7, 0, 17,154,255,255, 23,160, 75, 64,249,160, 1, 0,180, /* 0x0770 */ 19, 0, 0,249, 11, 0, 0, 20, 32, 0,128, 82, 1, 0,128, 82,
/* 0x0780 */ 19, 0, 0,249, 11, 0, 0, 20, 32, 0,128, 82, 1, 0,128, 82, /* 0x0780 */ 0,128,186,114, 64, 0, 0,185, 0,120,128, 82,224,203,186,114,
/* 0x0790 */ 0,128,186,114, 64, 0, 0,185, 0,120,128, 82,224,203,186,114, /* 0x0790 */ 64, 4, 0,185,224, 3, 28,170,223,254,255,151,221,255,255, 23,
/* 0x07a0 */ 64, 4, 0,185,224, 3, 28,170,223,254,255,151,221,255,255, 23, /* 0x07a0 */ 224, 14, 64,249,245, 91, 66,169,249,107, 68,169,251,115, 69,169,
/* 0x07b0 */ 224, 14, 64,249,245, 91, 66,169,249,107, 68,169,251,115, 69,169, /* 0x07b0 */ 96, 2, 0,139,243, 83, 65,169,247, 99, 67,169,253,123,204,168,
/* 0x07c0 */ 96, 2, 0,139,243, 83, 65,169,247, 99, 67,169,253,123,204,168, /* 0x07c0 */ 192, 3, 95,214,253,123,183,169,253, 3, 0,145,243, 83, 1,169,
/* 0x07d0 */ 192, 3, 95,214,253,123,183,169,253, 3, 0,145,243, 83, 1,169, /* 0x07d0 */ 243, 3, 2,170, 84, 0, 1,145,162,135, 6,169, 2, 0, 64,185,
/* 0x07e0 */ 243, 3, 2,170, 84, 0, 1,145,162,135, 6,169, 2, 0, 64,185, /* 0x07e0 */ 245, 91, 2,169,160,135, 7,169,245, 3, 3,170,160, 71, 0,249,
/* 0x07f0 */ 245, 91, 2,169,160,135, 7,169,245, 3, 3,170,160, 71, 0,249, /* 0x07f0 */ 3, 0,128,210,161,131, 1,145,160, 3, 2,145,162, 51, 0,249,
/* 0x0800 */ 3, 0,128,210,161,131, 1,145,160, 3, 2,145,162, 51, 0,249, /* 0x0800 */ 226, 3, 4,170,246, 3, 4,170,247, 99, 3,169,249, 35, 0,249,
/* 0x0810 */ 226, 3, 4,170,246, 3, 4,170,247, 99, 3,169,249, 35, 0,249, /* 0x0810 */ 247, 3, 5,170,249, 3, 6,170,226,254,255,151,130, 10, 64,249,
/* 0x0820 */ 247, 3, 5,170,249, 3, 6,170,226,254,255,151,130, 10, 64,249, /* 0x0820 */ 97, 0,128, 82,224, 3, 21,170, 66, 0, 1,145,186,254,255,151,
/* 0x0830 */ 97, 0,128, 82,224, 3, 21,170, 66, 0, 1,145,186,254,255,151, /* 0x0830 */ 98,114, 64,121,161, 0,128, 82,224, 3, 21,170,182,254,255,151,
/* 0x0840 */ 98,114, 64,121,161, 0,128, 82,224, 3, 21,170,182,254,255,151, /* 0x0840 */ 229, 3, 23,170,228, 3, 22,170,230, 3, 25,170,227, 3, 21,170,
/* 0x0850 */ 229, 3, 23,170,228, 3, 22,170,230, 3, 25,170,227, 3, 21,170, /* 0x0850 */ 2, 0,128, 82,161,195, 1,145,224, 3, 19,170, 23, 0,128, 82,
/* 0x0860 */ 2, 0,128, 82,161,195, 1,145,224, 3, 19,170, 23, 0,128, 82, /* 0x0860 */ 27,255,255,151,226, 3, 0,170,246, 3, 0,170, 33, 1,128, 82,
/* 0x0870 */ 27,255,255,151,226, 3, 0,170,246, 3, 0,170, 33, 1,128, 82, /* 0x0870 */ 224, 3, 21,170,168,254,255,151, 96,114, 64,121,255, 2, 0,107,
/* 0x0880 */ 224, 3, 21,170,168,254,255,151, 96,114, 64,121,255, 2, 0,107, /* 0x0880 */ 202, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113, 1, 4, 0, 84,
/* 0x0890 */ 202, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113, 1, 4, 0, 84, /* 0x0890 */ 128, 10, 64,249, 2, 0,128, 82, 35, 3, 64,249, 1, 0,128, 82,
/* 0x08a0 */ 128, 10, 64,249, 2, 0,128, 82, 35, 3, 64,249, 1, 0,128, 82, /* 0x08a0 */ 96, 0, 0,139,133,254,255,151,248, 3, 0, 42, 96, 0,248, 54,
/* 0x08b0 */ 96, 0, 0,139,129,254,255,151,248, 3, 0, 42, 96, 0,248, 54, /* 0x08b0 */ 224, 15,128, 82, 96,254,255,151, 2,128,128,210,225, 3, 19,170,
/* 0x08c0 */ 224, 15,128, 82, 92,254,255,151, 2,128,128,210,225, 3, 19,170, /* 0x08c0 */ 95,254,255,151, 31, 0, 16,241, 65,255,255, 84,166, 99, 1,145,
/* 0x08d0 */ 91,254,255,151, 31, 0, 16,241, 65,255,255, 84,166, 99, 1,145, /* 0x08d0 */ 5, 0,128,210, 4, 0,128,210, 3, 0,128,210,226, 3, 24, 42,
/* 0x08e0 */ 5, 0,128,210, 4, 0,128,210, 3, 0,128,210,226, 3, 24, 42, /* 0x08e0 */ 1, 0,128,210,224, 3, 19,170,191, 47, 0,249,248,254,255,151,
/* 0x08f0 */ 1, 0,128,210,224, 3, 19,170,191, 47, 0,249,248,254,255,151, /* 0x08f0 */ 246, 3, 0,170,162, 47, 64,249,224, 3, 21,170,225, 0,128, 82,
/* 0x0900 */ 246, 3, 0,170,162, 47, 64,249,224, 3, 21,170,225, 0,128, 82, /* 0x0900 */ 133,254,255,151,224, 3, 24, 42, 83,254,255,151,148,226, 0,145,
/* 0x0910 */ 133,254,255,151,224, 3, 24, 42, 79,254,255,151,148,226, 0,145, /* 0x0910 */ 247, 6, 0, 17,217,255,255, 23,224, 3, 22,170,249, 35, 64,249,
/* 0x0920 */ 247, 6, 0, 17,217,255,255, 23,224, 3, 22,170,249, 35, 64,249, /* 0x0920 */ 243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,253,123,201,168,
/* 0x0930 */ 243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,253,123,201,168, /* 0x0930 */ 192, 3, 95,214
/* 0x0940 */ 192, 3, 95,214
}; };
+25 -46
View File
@@ -166,8 +166,8 @@ SP_argc= 4*8 // remember the hole from PUSH3
stmdb sp!,{TRACE_REGS}; mov r0,#4; bl trace stmdb sp!,{TRACE_REGS}; mov r0,#4; bl trace
#endif /*}*/ #endif /*}*/
mov w8,#__NR_munmap
ldr x3,[x2,#8 -2*8] // Elf64_auxv_t[AT_NULL@.a_type].a_val ldr x3,[x2,#8 -2*8] // Elf64_auxv_t[AT_NULL@.a_type].a_val
mov w8,#__NR_munmap
br x3 br x3
space3eq: space3eq:
@@ -199,8 +199,8 @@ top_unf:
ldr t1,[ptr,len,lsl #2] ldr t1,[ptr,len,lsl #2]
ubfx t2,t1,#26,#5 ubfx t2,t1,#26,#5
cmp t2,#5; bne tst_unf // not unconditional branch cmp t2,#5; bne tst_unf // not unconditional branch
sub t1,t1,lenw // word displ; hi 0b.00101 preserves bit 31 sub t2,t1,lenw // word displ
ubfm t1,t2,#26,#5 bfi t1,t2,#0,#26 // replace
str t1,[ptr,len,lsl #2] str t1,[ptr,len,lsl #2]
tst_unf: tst_unf:
cbnz len,top_unf cbnz len,top_unf
@@ -304,10 +304,6 @@ write:
close: close:
do_sys __NR_close; ret do_sys __NR_close; ret
.globl unlink
unlink:
do_sys __NR_unlink; ret
.globl getpid .globl getpid
getpid: getpid:
do_sys __NR_getpid; ret do_sys __NR_getpid; ret
@@ -337,23 +333,33 @@ mmap_privanon: .globl mmap_privanon
mmap: mmap:
do_sys __NR_mmap; ret do_sys __NR_mmap; ret
.globl unlink
unlink:
mov x1,#0 // flags as last arg
mov w8,#__NR_unlink
b svc_AT
.globl open .globl open
open: open:
mov x5,x0; mov x0,#AT_FDCWD mov w8,#__NR_open
mov x4,x1 svc_AT:
//mov x4,x3
mov x3,x2 // mode mov x3,x2 // mode
mov x2,x4 // flags mov x2,x1 // flags
mov x1,x5 // fname mov x1,x0 // fname
do_sys __NR_open; ret mov x0,#AT_FDCWD
svc #0; ret
.globl readlink .globl readlink
readlink: readlink:
mov x5,x0; mov x0,#AT_FDCWD mov w8,#__NR_readlink
mov x4,x1
mov x3,x2 // buflen mov x3,x2 // buflen
mov x2,x4 // buffer mov x2,x1 // buffer
mov x1,x5 // fname mov x1,x0 // fname
do_sys __NR_readlink; cmn x0,#4096; bcs 0f // error mov x0,#AT_FDCWD
svc #0
cmn x0,#4096; bcs 0f // error
mov w3,#0 mov w3,#0
strb w3,[x2,x0] // null terminate pathname strb w3,[x2,x0] // null terminate pathname
0: 0:
@@ -369,36 +375,9 @@ __clear_cache:
#if DEBUG /*{*/ #if DEBUG /*{*/
div10: .globl div10 div10: .globl div10
mov ip,r0 // extra copy used at end mov x1,#10
sub r1,r1,r1 // hi udiv x0,x0,x1
mov r2,r0 // copy lo
adds r0,r0,r0,lsl #3 // 9*lo
adc r1,r1,r1,lsl #3 // 9*hi + C
add r1,r1,r2,lsr #(32 - 3) // bits shifted from lo to hi
mov r2,r0 // copy lo
adds r0,r0,r0,lsl #4
adc r1,r1,r1,lsl #4
add r1,r1,r2,lsr #(32 - 4) // * 0x99
mov r2,r0 // copy lo
adds r0,r0,r0,lsl #8
adc r1,r1,r1,lsl #8
add r1,r1,r2,lsr #(32 - 8) // * 0x9999
mov r2,r0 // copy lo
adds r0,r0,r0,lsl #16
adc r1,r1,r1,lsl #16
add r1,r1,r2,lsr #(32 - 16) // * 0x99999999
subs r0,r0,ip,lsl #(32 - 1) // - * 0x80000000
sbc r1,r1,ip,lsr #1 // * 0x19999999
adds r0,r0,ip
adc r0,r1,#0 // * 0x0.1999999a
ret ret
#endif /*}*/ #endif /*}*/
// vi:ts=8:et:nowrap // vi:ts=8:et:nowrap
+24 -24
View File
@@ -8,44 +8,44 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x888 .text 0x00000000001000bc 0x878
*(.text) *(.text)
.text 0x00000000001000bc 0x268 tmp/arm64-linux.elf-fold.o .text 0x00000000001000bc 0x258 tmp/arm64-linux.elf-fold.o
0x000000000010022c my_bkpt 0x000000000010022c my_bkpt
0x0000000000100234 exit 0x0000000000100234 exit
0x000000000010023c read 0x000000000010023c read
0x0000000000100248 write 0x0000000000100248 write
0x0000000000100254 close 0x0000000000100254 close
0x0000000000100260 unlink 0x0000000000100260 getpid
0x000000000010026c getpid 0x000000000010026c brk
0x0000000000100278 brk 0x0000000000100278 munmap
0x0000000000100284 munmap 0x0000000000100284 mprotect
0x0000000000100290 mprotect 0x0000000000100290 mmap_privanon
0x000000000010029c mmap_privanon 0x00000000001002a0 mmap
0x00000000001002ac mmap 0x00000000001002ac unlink
0x00000000001002b8 open 0x00000000001002b8 open
0x00000000001002dc readlink 0x00000000001002d4 readlink
0x0000000000100310 __clear_cache 0x0000000000100300 __clear_cache
.text 0x0000000000100324 0x620 tmp/arm64-linux.elf-main.o .text 0x0000000000100314 0x620 tmp/arm64-linux.elf-main.o
0x00000000001007d4 upx_main 0x00000000001007c4 upx_main
*(.data) *(.data)
.data 0x0000000000100944 0x0 tmp/arm64-linux.elf-fold.o .data 0x0000000000100934 0x0 tmp/arm64-linux.elf-fold.o
.data 0x0000000000100944 0x0 tmp/arm64-linux.elf-main.o .data 0x0000000000100934 0x0 tmp/arm64-linux.elf-main.o
.iplt 0x0000000000100944 0x0 .iplt 0x0000000000100934 0x0
.iplt 0x0000000000100944 0x0 tmp/arm64-linux.elf-fold.o .iplt 0x0000000000100934 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x0000000000100948 0x0 .rela.dyn 0x0000000000100938 0x0
.rela.iplt 0x0000000000100948 0x0 tmp/arm64-linux.elf-fold.o .rela.iplt 0x0000000000100938 0x0 tmp/arm64-linux.elf-fold.o
.data .data
LOAD tmp/arm64-linux.elf-fold.o LOAD tmp/arm64-linux.elf-fold.o
LOAD tmp/arm64-linux.elf-main.o LOAD tmp/arm64-linux.elf-main.o
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64) OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
.igot.plt 0x0000000000100948 0x0 .igot.plt 0x0000000000100938 0x0
.igot.plt 0x0000000000100948 0x0 tmp/arm64-linux.elf-fold.o .igot.plt 0x0000000000100938 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100944 0x0 .bss 0x0000000000100934 0x0
.bss 0x0000000000100944 0x0 tmp/arm64-linux.elf-fold.o .bss 0x0000000000100934 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100944 0x0 tmp/arm64-linux.elf-main.o .bss 0x0000000000100934 0x0 tmp/arm64-linux.elf-main.o