Decompression stubs for arm64-linux (aarch)
modified: stub/Makefile modified: stub/arm64-darwin.macho-entry.h modified: stub/arm64-darwin.macho-fold.h new file: stub/arm64-linux.elf-entry.h new file: stub/arm64-linux.elf-fold.h modified: stub/scripts/xstrip.py modified: stub/src/arch/arm64/v8/macros.S modified: stub/src/arch/arm64/v8/nrv2b_d8.S modified: stub/src/arch/arm64/v8/nrv2d_d8.S modified: stub/src/arch/arm64/v8/nrv2e_d8.S new file: stub/src/arm64-linux.elf-entry.S new file: stub/src/arm64-linux.elf-fold.S new file: stub/src/arm64-linux.elf-fold.lds new file: stub/src/arm64-linux.elf-main.c modified: stub/src/include/linux.h
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
/* arm64-linux.elf-fold.h
|
||||
created from arm64-linux.elf-fold.bin, 2400 (0x960) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2017 Laszlo Molnar
|
||||
Copyright (C) 2000-2017 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2400
|
||||
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x14516166
|
||||
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x405ee243
|
||||
|
||||
unsigned char stub_arm64_linux_elf_fold[2400] = {
|
||||
/* 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,
|
||||
/* 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,
|
||||
/* 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 */ 96, 9, 0, 0, 0, 0, 0, 0, 96, 9, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 96, 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,
|
||||
/* 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,227, 19,193,168,
|
||||
/* 0x00c0 */ 232, 47, 65,169,230, 31,194,168,224, 3, 0,145,225, 75, 43,139,
|
||||
/* 0x00d0 */ 33, 32, 0,145, 34,132, 64,248,226,255,255,181, 34, 4, 65,248,
|
||||
/* 0x00e0 */ 226,255,255,181, 32, 4, 64,209, 0, 32, 0,209, 33, 0, 30,203,
|
||||
/* 0x00f0 */ 0,252, 78,211, 0, 4, 0,209, 0,196,114,211, 0, 0, 1,203,
|
||||
/* 0x0100 */ 0, 32, 0,209,225, 3, 0,145, 31, 0, 0,145,231, 47,191,169,
|
||||
/* 0x0110 */ 226,147,190,169,230, 11, 0,249, 34,132, 64,248, 2,132, 0,248,
|
||||
/* 0x0120 */ 194,255,255,181, 34,132, 64,248, 2,132, 0,248,194,255,255,181,
|
||||
/* 0x0130 */ 4, 32, 0,209, 2,132, 0,248,224,143, 31,248, 34, 12, 65,169,
|
||||
/* 0x0140 */ 2, 12, 1,169,193,255,255,181,224, 11, 0,249, 1, 16, 64,145,
|
||||
/* 0x0150 */ 129, 0, 0,249,228, 3, 0,170, 98, 8, 0, 24, 34,132, 0,184,
|
||||
/* 0x0160 */ 2, 0,130,210, 32, 8, 0, 16, 66, 4, 0,209,115, 0, 0,148,
|
||||
/* 0x0170 */ 31, 4, 64,177, 98, 0, 0, 84, 2, 0,128, 82, 34,104, 32, 56,
|
||||
/* 0x0180 */ 64, 7, 0, 16, 1, 0,128, 82, 88, 0, 0,148, 1, 0,128,210,
|
||||
/* 0x0190 */ 224, 7,191,169,224, 3, 4,170, 1, 0,130, 82, 34, 0,128, 82,
|
||||
/* 0x01a0 */ 67, 2,128, 82,119, 0, 0,148,224,135, 64,248, 83, 0, 0,148,
|
||||
/* 0x01b0 */ 225, 15,193,168,255, 3, 40,209,228, 3, 9, 42, 73, 5, 64,185,
|
||||
/* 0x01c0 */ 232, 3, 0,145, 71, 1, 64,185,134, 5, 0, 16, 41, 49, 0, 17,
|
||||
/* 0x01d0 */ 11, 0,128,210,172, 11, 0, 24,235, 51,191,169,232,167,190,169,
|
||||
/* 0x01e0 */ 234, 11, 0,249,230, 31,191,169,227,147,190,169,229, 11, 0,249,
|
||||
/* 0x01f0 */ 226, 15, 65,169,224, 7,194,168,133, 1, 0,148,253, 3, 0,170,
|
||||
/* 0x0200 */ 255,195, 0,145,255, 3, 40,145,226, 15, 65,169,224, 7,194,168,
|
||||
/* 0x0210 */ 0, 0, 3,139, 33, 0, 3,203, 3, 0,128, 82, 4, 0,128, 82,
|
||||
/* 0x0220 */ 5, 0,128, 82, 6, 0,128, 82, 8, 0,128, 82, 9, 0,128, 82,
|
||||
/* 0x0230 */ 10, 0,128, 82, 11, 0,128, 82,236, 3, 66,209,231, 7, 94,248,
|
||||
/* 0x0240 */ 231, 3, 0,249,231, 3, 64,249,159, 1, 30,235,131,255,255, 84,
|
||||
/* 0x0250 */ 255, 3, 66,145,232, 26,128, 82, 12, 0,128, 82, 72,128, 95,248,
|
||||
/* 0x0260 */ 0, 1, 31,214, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101,
|
||||
/* 0x0270 */ 108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,127, 64, 1,113,
|
||||
/* 0x0280 */ 129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180, 33, 4, 0,209,
|
||||
/* 0x0290 */ 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84,
|
||||
/* 0x02a0 */ 66, 0, 1, 75, 98, 20, 26, 83, 2,120, 33,184, 1,255,255,181,
|
||||
/* 0x02b0 */ 192, 3, 95,214,240, 1,240,231,192, 3, 95,214,200, 11,128, 82,
|
||||
/* 0x02c0 */ 1, 0, 0,212,192, 3, 95,214,232, 7,128, 82, 1, 0, 0,212,
|
||||
/* 0x02d0 */ 192, 3, 95,214,192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,
|
||||
/* 0x02e0 */ 192, 3, 95,214,192, 3, 95,214, 8, 7,128, 82, 1, 0, 0,212,
|
||||
/* 0x02f0 */ 192, 3, 95,214,192, 3, 95,214, 40, 7,128, 82, 1, 0, 0,212,
|
||||
/* 0x0300 */ 192, 3, 95,214,192, 3, 95,214,104, 4,128, 82, 1, 0, 0,212,
|
||||
/* 0x0310 */ 192, 3, 95,214,192, 3, 95,214,168, 21,128, 82, 1, 0, 0,212,
|
||||
/* 0x0320 */ 192, 3, 95,214,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,
|
||||
/* 0x0330 */ 192, 3, 95,214,192, 3, 95,214,200, 9,128, 82, 1, 0, 0,212,
|
||||
/* 0x0340 */ 192, 3, 95,214,192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,
|
||||
/* 0x0350 */ 192, 3, 95,214,192, 3, 95,214, 72, 28,128, 82, 1, 0, 0,212,
|
||||
/* 0x0360 */ 192, 3, 95,214,192, 3, 95,214, 0, 0, 64,212, 2, 0,128, 82,
|
||||
/* 0x0370 */ 8, 0,128, 82, 1, 0, 0,212,192, 3, 95,214,192, 3, 95,214,
|
||||
/* 0x0380 */ 228, 23,191,169,228, 23, 65,169,165,252, 76,211,200, 27,128, 82,
|
||||
/* 0x0390 */ 1, 0, 0,212,192, 3, 95,214,228, 23,193,168,192, 3, 95,214,
|
||||
/* 0x03a0 */ 204,232,255, 88,228, 23,191,169, 5, 0,128, 82, 4, 0,128,146,
|
||||
/* 0x03b0 */ 99, 0, 12, 42,246,255,255, 23,128, 1, 0,180, 3, 0, 64,249,
|
||||
/* 0x03c0 */ 228, 3, 1, 42,127, 0, 4,235, 97, 0, 0, 84, 4, 8, 0,169,
|
||||
/* 0x03d0 */ 192, 3, 95,214, 63, 0, 31,107, 96, 24, 65,250,128,255,255, 84,
|
||||
/* 0x03e0 */ 0, 64, 0,145,246,255,255, 23,192, 3, 95,214, 3, 16, 64,169,
|
||||
/* 0x03f0 */ 127, 0, 2,235, 99, 0, 0, 84, 3, 0,128,210, 5, 0, 0, 20,
|
||||
/* 0x0400 */ 253,123,191,169,224, 15,128, 82,253, 3, 0,145,172,255,255,151,
|
||||
/* 0x0410 */ 95, 0, 3,235,160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56,
|
||||
/* 0x0420 */ 99, 4, 0,145,251,255,255, 23, 1, 4, 64,249, 33, 0, 2,139,
|
||||
/* 0x0430 */ 1, 4, 0,249, 1, 0, 64,249, 34, 0, 2,203, 2, 0, 0,249,
|
||||
/* 0x0440 */ 192, 3, 95,214,253,123,187,169,253, 3, 0,145,243, 83, 1,169,
|
||||
/* 0x0450 */ 245, 91, 2,169,244, 3, 0,170,243, 3, 1,170,246, 3, 2,170,
|
||||
/* 0x0460 */ 245, 3, 3,170, 96, 2, 64,249,192, 7, 0,180,161, 3, 1,145,
|
||||
/* 0x0470 */ 224, 3, 20,170,130, 1,128,210,221,255,255,151,160, 7, 72, 41,
|
||||
/* 0x0480 */ 0, 1, 0, 53,160, 10,138, 82, 0, 43,164,114, 63, 0, 0,107,
|
||||
/* 0x0490 */ 225, 0, 0, 84,128, 2, 64,249, 64, 6, 0,180, 4, 0, 0, 20,
|
||||
/* 0x04a0 */ 31, 0, 1,107, 36, 32, 95,122, 97, 0, 0, 84,224, 15,128, 82,
|
||||
/* 0x04b0 */ 131,255,255,151, 98, 2, 64,249, 95, 64, 32,235,131,255,255, 84,
|
||||
/* 0x04c0 */ 31, 0, 1,107,169, 3, 0, 84,160, 63, 0,185,163,243, 0,145,
|
||||
/* 0x04d0 */ 164, 35, 65, 57, 98, 6, 64,249,128, 6, 64,249,192, 2, 63,214,
|
||||
/* 0x04e0 */ 96,254,255, 53,160,135, 71, 41, 63, 0, 0,107, 1,254,255, 84,
|
||||
/* 0x04f0 */ 163, 39, 65, 57,191, 2, 31,235,100, 16, 95,122, 32, 1, 0, 84,
|
||||
/* 0x0500 */ 63, 0, 8,113,136, 0, 0, 84, 96, 2, 64,249, 31, 64, 33,235,
|
||||
/* 0x0510 */ 129, 0, 0, 84,162, 43, 65, 57, 96, 6, 64,249,160, 2, 63,214,
|
||||
/* 0x0520 */ 128, 6, 64,169,162, 71, 64,185, 33, 0, 2,139, 0, 0, 2,203,
|
||||
/* 0x0530 */ 128, 6, 0,169, 5, 0, 0, 20,226, 3, 1, 42, 97, 6, 64,249,
|
||||
/* 0x0540 */ 224, 3, 20,170,170,255,255,151, 96, 6, 64,169,162, 67, 64,185,
|
||||
/* 0x0550 */ 33, 0, 2,139, 0, 0, 2,203, 96, 6, 0,169,194,255,255, 23,
|
||||
/* 0x0560 */ 243, 83, 65,169,245, 91, 66,169,253,123,197,168,192, 3, 95,214,
|
||||
/* 0x0570 */ 253,123,181,169,253, 3, 0,145,247, 99, 3,169,247, 3, 0,170,
|
||||
/* 0x0580 */ 166, 67, 0,249, 6, 16, 64,249,249,107, 4,169, 25, 0, 6,139,
|
||||
/* 0x0590 */ 0, 32, 64,121,243, 83, 1,169, 31, 12, 0,113,224,114, 64,121,
|
||||
/* 0x05a0 */ 244, 3, 2, 42, 2, 7,128, 82,251,115, 5,169, 2,124,162,155,
|
||||
/* 0x05b0 */ 252, 3, 3,170, 3, 2,128, 82, 99, 16,159, 26, 19, 0,128,146,
|
||||
/* 0x05c0 */ 245, 91, 2,169,165, 19, 6,169,246, 3, 1,170, 99,136, 0, 17,
|
||||
/* 0x05d0 */ 1, 0,128,210, 34, 3, 2,139,224, 3, 25,170, 31, 0, 2,235,
|
||||
/* 0x05e0 */ 160, 1, 0, 84, 4, 0, 64,185,159, 4, 0,113, 1, 1, 0, 84,
|
||||
/* 0x05f0 */ 5, 8, 64,249, 4, 20, 64,249,127, 2, 5,235,164, 0, 4,139,
|
||||
/* 0x0600 */ 115,146,133,154, 63, 0, 4,235, 33, 32,132,154, 0,224, 0,145,
|
||||
/* 0x0610 */ 243,255,255, 23,115,206,116,146, 33,252, 63,145, 33, 0, 19,203,
|
||||
/* 0x0620 */ 224, 3, 19,170, 33,204,116,146, 5, 0,128,210, 4, 0,128, 18,
|
||||
/* 0x0630 */ 2, 0,128, 82, 26, 0,128, 82, 82,255,255,151, 19, 0, 19,203,
|
||||
/* 0x0640 */ 223, 2, 31,235, 64, 0,128, 82, 0, 16,159, 26,160,127, 0,185,
|
||||
/* 0x0650 */ 128, 2,159, 90, 65, 6,128, 82,160,123, 0,185, 64, 2,128, 82,
|
||||
/* 0x0660 */ 32, 16,128, 26,160,119, 0,185,224,114, 64,121, 95, 3, 0,107,
|
||||
/* 0x0670 */ 106, 11, 0, 84, 32, 3, 64,185, 54, 1, 0,180, 31, 24, 0,113,
|
||||
/* 0x0680 */ 225, 0, 0, 84, 34, 11, 64,249, 97, 0,128, 82,224, 3, 28,170,
|
||||
/* 0x0690 */ 98, 2, 2,139, 73,255,255,151, 78, 0, 0, 20, 31, 4, 0,113,
|
||||
/* 0x06a0 */ 129, 9, 0, 84, 56, 7, 64,185, 1, 72,140, 82, 33,106,174,114,
|
||||
/* 0x06b0 */ 53, 19, 64,249, 24, 11, 30, 83, 32, 36,216, 26,160,147, 0,185,
|
||||
/* 0x06c0 */ 37,211, 64,169, 27, 8, 0, 18, 32, 23, 64,249,116, 2, 20,139,
|
||||
/* 0x06d0 */ 128, 2, 0,139,160, 71, 0,249,128, 46, 64,146,181, 83, 10,169,
|
||||
/* 0x06e0 */ 165, 0, 0,203,181, 2, 0,139,160,127, 64,185,148,206,116,146,
|
||||
/* 0x06f0 */ 163,147, 78, 41, 2, 0, 27, 42,225, 3, 21,170,224, 3, 20,170,
|
||||
/* 0x0700 */ 32,255,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,
|
||||
/* 0x0710 */ 235,254,255,151,182, 0, 0,180,163, 11, 70,169,161,131, 2,145,
|
||||
/* 0x0720 */ 224, 3, 22,170, 72,255,255,151,160, 75, 64,249,227, 3, 21,203,
|
||||
/* 0x0730 */ 120, 44, 64,146, 96, 0, 8, 55, 86, 1, 0,181, 23, 0, 0, 20,
|
||||
/* 0x0740 */ 216,255,255,180,129, 2, 21,139, 0, 0,128,210, 63,104, 32, 56,
|
||||
/* 0x0750 */ 0, 4, 0,145, 31, 0, 24,235,161,255,255, 84,247,255,255, 23,
|
||||
/* 0x0760 */ 32, 7, 64,249, 0, 1, 0,181,226, 3, 20,170,224,161,128, 82,
|
||||
/* 0x0770 */ 96, 24,178,114, 1, 0,128, 82, 64,204, 0,184,224, 3, 28,170,
|
||||
/* 0x0780 */ 14,255,255,151,226, 3, 27, 42,225, 3, 21,170,224, 3, 20,170,
|
||||
/* 0x0790 */ 242,254,255,151,192,251,255, 53,181, 2, 24,139,160, 71, 64,249,
|
||||
/* 0x07a0 */ 148, 2, 21,139, 31, 0, 20,235, 73, 1, 0, 84, 1, 0, 20,203,
|
||||
/* 0x07b0 */ 5, 0,128,210, 4, 0,128, 18, 67, 6,128, 82,226, 3, 27, 42,
|
||||
/* 0x07c0 */ 224, 3, 20,170,239,254,255,151,159, 2, 0,235, 1,250,255, 84,
|
||||
/* 0x07d0 */ 57,227, 0,145, 90, 7, 0, 17,164,255,255, 23,160, 67, 64,249,
|
||||
/* 0x07e0 */ 64, 0, 0,180, 19, 0, 0,249,224, 14, 64,249,245, 91, 66,169,
|
||||
/* 0x07f0 */ 249,107, 68,169,251,115, 69,169, 96, 2, 0,139,243, 83, 65,169,
|
||||
/* 0x0800 */ 247, 99, 67,169,253,123,203,168,192, 3, 95,214,253,123,184,169,
|
||||
/* 0x0810 */ 253, 3, 0,145,243, 83, 1,169,243, 3, 2,170, 84, 0, 1,145,
|
||||
/* 0x0820 */ 162,135, 5,169, 2, 0, 64,185,245, 91, 2,169,160,135, 6,169,
|
||||
/* 0x0830 */ 245, 3, 3,170,160, 63, 0,249, 3, 0,128,210,161, 67, 1,145,
|
||||
/* 0x0840 */ 160,195, 1,145,162, 43, 0,249,226, 3, 4,170,246, 3, 4,170,
|
||||
/* 0x0850 */ 166, 39, 0,249,247, 27, 0,249,247, 3, 5,170,250,254,255,151,
|
||||
/* 0x0860 */ 130, 10, 64,249,224, 3, 21,170, 97, 0,128, 82, 66, 0, 1,145,
|
||||
/* 0x0870 */ 210,254,255,151, 98,114, 64,121,224, 3, 21,170,161, 0,128, 82,
|
||||
/* 0x0880 */ 206,254,255,151,228, 3, 22,170,227, 3, 21,170,166, 35, 1,145,
|
||||
/* 0x0890 */ 229, 3, 23,170, 2, 0,128, 82,161,131, 1,145,224, 3, 19,170,
|
||||
/* 0x08a0 */ 52,255,255,151,226, 3, 0,170,246, 3, 0,170, 33, 1,128, 82,
|
||||
/* 0x08b0 */ 224, 3, 21,170, 21, 0,128, 82,192,254,255,151, 96,114, 64,121,
|
||||
/* 0x08c0 */ 191, 2, 0,107, 42, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113,
|
||||
/* 0x08d0 */ 97, 3, 0, 84,131, 10, 64,249, 2, 0,128, 82,160, 39, 64,249,
|
||||
/* 0x08e0 */ 1, 0,128, 82, 96, 0, 0,139,128,254,255,151,247, 3, 0, 42,
|
||||
/* 0x08f0 */ 96, 0,248, 54,224, 15,128, 82,113,254,255,151, 2,128,128,210,
|
||||
/* 0x0900 */ 225, 3, 19,170,113,254,255,151, 31, 0, 16,241, 65,255,255, 84,
|
||||
/* 0x0910 */ 6, 0,128,210, 5, 0,128,210, 4, 0,128,210, 3, 0,128,210,
|
||||
/* 0x0920 */ 226, 3, 23, 42, 1, 0,128,210,224, 3, 19,170, 17,255,255,151,
|
||||
/* 0x0930 */ 246, 3, 0,170,224, 3, 23, 42,112,254,255,151,148,226, 0,145,
|
||||
/* 0x0940 */ 181, 6, 0, 17,222,255,255, 23,224, 3, 22,170,247, 27, 64,249,
|
||||
/* 0x0950 */ 243, 83, 65,169,245, 91, 66,169,253,123,200,168,192, 3, 95,214
|
||||
};
|
||||
Reference in New Issue
Block a user