amd64-linux revamp for compressing shared libraries
Major changes: p_lx_elf.cpp and stub/src/amd64-linux.elf-so*.
(Includes run-time infrastructure for multiple de-compressors.)
modified: linker.cpp
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_unix.cpp
modified: p_unix.h
modified: stub/Makefile
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/src/amd64-darwin.macho-entry.S
new file: stub/src/amd64-expand.S
modified: stub/src/amd64-linux.elf-entry.S
new file: stub/src/amd64-linux.elf-so_entry.S
new file: stub/src/amd64-linux.elf-so_fold.S
new file: stub/src/amd64-linux.elf-so_fold.lds
new file: stub/src/amd64-linux.elf-so_main.c
modified: stub/src/amd64-linux.shlib-init.S
modified: stub/src/amd64-win64.pep.S
modified: stub/src/arch/amd64/nrv2b_d.S
modified: stub/src/arch/amd64/nrv2d_d.S
modified: stub/src/arch/amd64/nrv2e_d.S
plus many generated stub/*.h and stub/tmp/*.bin.dump
This commit is contained in:
committed by
Markus F.X.J. Oberhumer
parent
5f3ebc8a7f
commit
26d8e9c4c5
@@ -0,0 +1,95 @@
|
||||
/* amd64-linux.elf-so_entry.h
|
||||
created from amd64-linux.elf-so_entry.bin, 895 (0x37f) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2023 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2023 Laszlo Molnar
|
||||
Copyright (C) 2000-2023 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_AMD64_LINUX_ELF_SO_ENTRY_SIZE 895
|
||||
#define STUB_AMD64_LINUX_ELF_SO_ENTRY_ADLER32 0x85bfec8d
|
||||
#define STUB_AMD64_LINUX_ELF_SO_ENTRY_CRC32 0x0cf04b83
|
||||
|
||||
unsigned char stub_amd64_linux_elf_so_entry[895] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 82, 86, 87, 85, 83,232, 0, 0, 0, 0, 1,219,116, 2,243,195,
|
||||
/* 0x0050 */ 139, 30, 72,131,238,252, 17,219,195, 91, 77, 41,201, 90, 77, 41,
|
||||
/* 0x0060 */ 192,139, 51,106, 34, 65, 90, 86, 82,106, 3, 90, 41,255,106, 9,
|
||||
/* 0x0070 */ 88, 15, 5, 90, 80, 80, 95,139, 75, 4, 72,141,115, 12, 72, 1,
|
||||
/* 0x0080 */ 241, 81, 49,219, 49,201,106,255, 93,252,168,164,255,210,114,251,
|
||||
/* 0x0090 */ 141, 65, 1,255,210, 17,192,255,210,115,248,131,232, 3,114, 12,
|
||||
/* 0x00a0 */ 193,224, 8,172,131,240,255,116, 47, 72, 99,232,141, 65, 1,255,
|
||||
/* 0x00b0 */ 210, 17,201,255,210, 17,201,117, 13,137,193,131,192, 2,255,210,
|
||||
/* 0x00c0 */ 17,201,255,210,115,248,129,253, 0,243,255,255, 17,193, 86, 72,
|
||||
/* 0x00d0 */ 141, 52, 47,243,164, 94,235,180, 89, 72, 57,206,116, 1,244, 72,
|
||||
/* 0x00e0 */ 141, 82,230, 95, 94, 82, 86, 87,106, 5, 90,106, 10, 88, 15, 5,
|
||||
/* 0x00f0 */ 88, 80,255,224,232, 0, 0, 0, 0,102,105,108,101, 32,102,111,
|
||||
/* 0x0100 */ 114,109, 97,116, 32,101,108,102, 54, 52, 45,120, 56, 54, 45, 54,
|
||||
/* 0x0110 */ 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
|
||||
/* 0x0120 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,
|
||||
/* 0x0130 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32,
|
||||
/* 0x0140 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32,
|
||||
/* 0x0150 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,
|
||||
/* 0x0160 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,
|
||||
/* 0x0170 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
|
||||
/* 0x0180 */ 32, 32, 32, 32, 32, 48, 98, 52, 32, 32, 48, 32, 32, 48, 32, 32,
|
||||
/* 0x0190 */ 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x01a0 */ 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x01b0 */ 32, 32, 32, 32, 32, 32, 48, 53, 32, 32, 48, 32, 32, 48, 32, 32,
|
||||
/* 0x01c0 */ 48,102, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x01d0 */ 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69,
|
||||
/* 0x01e0 */ 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x01f0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x0200 */ 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
|
||||
/* 0x0210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x0220 */ 108, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
|
||||
/* 0x0230 */ 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0240 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
|
||||
/* 0x0250 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76,
|
||||
/* 0x0260 */ 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x0270 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x0280 */ 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69,
|
||||
/* 0x0290 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x02a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x02b0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x02c0 */ 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67,
|
||||
/* 0x02d0 */ 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43,
|
||||
/* 0x02e0 */ 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,
|
||||
/* 0x02f0 */ 102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
|
||||
/* 0x0300 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77,
|
||||
/* 0x0310 */ 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32,
|
||||
/* 0x0320 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
|
||||
/* 0x0330 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
|
||||
/* 0x0340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49,
|
||||
/* 0x0350 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32,
|
||||
/* 0x0360 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 43, 48,120, 48, 48,
|
||||
/* 0x0370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 53, 10
|
||||
};
|
||||
Reference in New Issue
Block a user