ELF2 for arm64 main programs
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-fold.lds
new file: stub/src/arm64-linux.elf-main2.c
plus generated *.h *.dump *.map
This commit is contained in:
+6
-31
@@ -2,49 +2,24 @@ file format elf64-littleaarch64
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 010 0 0 040 2**0 CONTENTS
|
||||
1 NRV_HEAD 0 0 0 050 2**0 CONTENTS
|
||||
2 NRV_TAIL 0 0 0 050 2**0 CONTENTS
|
||||
3 NRV2E 017c 0 0 050 2**0 CONTENTS
|
||||
4 NRV2D 0170 0 0 01cc 2**0 CONTENTS
|
||||
5 NRV2B 0144 0 0 033c 2**0 CONTENTS
|
||||
6 LZMA_ELF00 010c 0 0 0480 2**0 CONTENTS
|
||||
7 LZMA_DEC20 0968 0 0 058c 2**0 CONTENTS
|
||||
8 LZMA_DEC10 04a0 0 0 0ef4 2**0 CONTENTS
|
||||
9 LZMA_DEC30 0 0 0 01394 2**0 CONTENTS
|
||||
10 ELFMAINY 03e 0 0 01394 2**0 CONTENTS
|
||||
11 ELFMAINZ 0dc 0 0 013d4 2**2 CONTENTS
|
||||
0 ELFMAINX 0250 0 0 040 2**0 CONTENTS
|
||||
1 ELFMAINY 0 0 0 0290 2**0 CONTENTS
|
||||
2 ELFMAINZ 01c 0 0 0290 2**2 CONTENTS
|
||||
SYMBOL TABLE:
|
||||
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
|
||||
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
|
||||
0000000000000000 l d ELFMAINX 0 ELFMAINX
|
||||
0000000000000000 l d NRV_HEAD 0 NRV_HEAD
|
||||
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
|
||||
0000000000000000 l d NRV2E 0 NRV2E
|
||||
0000000000000000 l d NRV2D 0 NRV2D
|
||||
0000000000000000 l d NRV2B 0 NRV2B
|
||||
0000000000000000 l d LZMA_ELF00 0 LZMA_ELF00
|
||||
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
|
||||
0000000000000000 l d LZMA_DEC10 0 LZMA_DEC10
|
||||
0000000000000000 l d ELFMAINY 0 ELFMAINY
|
||||
0000000000000000 *UND* 0 MFLG
|
||||
0000000000000004 g ELFMAINX 0 _start
|
||||
0000000000000000 g F NRV2E 017c ucl_nrv2e_decompress_32
|
||||
0000000000000000 g F NRV2D 0170 ucl_nrv2d_decompress_32
|
||||
0000000000000000 g F NRV2B 0144 ucl_nrv2b_decompress_32
|
||||
0000000000000000 g LZMA_DEC10 0 LzmaDecode
|
||||
000000000000010c g F ELFMAINX 0144 ucl_nrv2b_decompress_32
|
||||
0000000000000000 g ELFMAINY 0 end_decompress
|
||||
0000000000000000 *UND* 0 O_BINFO
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000000 R_AARCH64_ABS32 MFLG
|
||||
000000000000000c R_AARCH64_CALL26 ELFMAINZ+0x00000000000000a4
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000004 R_AARCH64_CONDBR19 LZMA_DEC30
|
||||
000000000000003c R_AARCH64_CALL26 ELFMAINZ+0x0000000000000004
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000d8 R_AARCH64_ABS32 O_BINFO
|
||||
0000000000000018 R_AARCH64_ABS32 O_BINFO
|
||||
|
||||
+75
-41
@@ -6,48 +6,82 @@ Name Origin Length Attributes
|
||||
|
||||
Linker script and memory map
|
||||
|
||||
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x00000000001000bc 0xae4
|
||||
*(.text)
|
||||
.text 0x00000000001000bc 0x300 tmp/arm64-linux.elf-fold.o
|
||||
0x00000000001000c4 get_page_mask
|
||||
0x00000000001000d4 mmap_privanon
|
||||
0x00000000001000e4 mmap
|
||||
0x0000000000100100 Pprotect
|
||||
0x0000000000100100 mprotect
|
||||
0x0000000000100318 my_bkpt
|
||||
0x0000000000100320 exit
|
||||
0x0000000000100328 read
|
||||
0x0000000000100334 write
|
||||
0x0000000000100340 close
|
||||
0x000000000010034c getpid
|
||||
0x0000000000100358 brk
|
||||
0x0000000000100364 munmap
|
||||
0x0000000000100370 unlink
|
||||
0x0000000000100384 readlink
|
||||
0x000000000010038c open
|
||||
0x00000000001003a8 __clear_cache
|
||||
.text 0x00000000001003bc 0x7e4 tmp/arm64-linux.elf-main.o
|
||||
0x0000000000100a38 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.data 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-main.o
|
||||
|
||||
.iplt 0x0000000000100ba0 0x0
|
||||
.iplt 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
.rela.dyn 0x0000000000100ba0 0x0
|
||||
.rela.iplt 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
.data
|
||||
0x000000000000004c . = (SIZEOF_HEADERS + 0xc)
|
||||
LOAD tmp/arm64-linux.elf-fold.o
|
||||
LOAD tmp/arm64-linux.elf-main.o
|
||||
LOAD tmp/arm64-expand.o
|
||||
LOAD tmp/arm64-linux.elf-main2.o
|
||||
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
|
||||
|
||||
.igot.plt 0x0000000000100ba0 0x0
|
||||
.igot.plt 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.text 0x0000000000000000 0xaa8
|
||||
.text 0x0000000000000000 0x250 tmp/arm64-linux.elf-fold.o
|
||||
0x0000000000000008 get_page_mask
|
||||
0x0000000000000018 mmap_privanon
|
||||
0x0000000000000028 mmap
|
||||
0x0000000000000044 Pprotect
|
||||
0x0000000000000044 mprotect
|
||||
.text 0x0000000000000250 0x0 tmp/arm64-expand.o
|
||||
.text 0x0000000000000250 0x858 tmp/arm64-linux.elf-main2.o
|
||||
0x0000000000000904 underlay
|
||||
0x0000000000000970 upx_main
|
||||
|
||||
.bss 0x0000000000100ba0 0x0
|
||||
.bss 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.bss 0x0000000000100ba0 0x0 tmp/arm64-linux.elf-main.o
|
||||
.data 0x0000000000000000 0x0
|
||||
.data 0x0000000000000000 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.data 0x0000000000000000 0x0 tmp/arm64-expand.o
|
||||
.data 0x0000000000000000 0x0 tmp/arm64-linux.elf-main2.o
|
||||
|
||||
.bss 0x0000000000000000 0x0
|
||||
.bss 0x0000000000000000 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.bss 0x0000000000000000 0x0 tmp/arm64-expand.o
|
||||
.bss 0x0000000000000000 0x0 tmp/arm64-linux.elf-main2.o
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xe0
|
||||
SYSCALLS 0x0000000000000000 0xe0 tmp/arm64-linux.elf-fold.o
|
||||
0x0000000000000000 my_bkpt
|
||||
0x0000000000000008 exit
|
||||
0x0000000000000010 read
|
||||
0x000000000000001c write
|
||||
0x0000000000000028 close
|
||||
0x0000000000000034 getpid
|
||||
0x0000000000000040 brk
|
||||
0x000000000000004c munmap
|
||||
0x0000000000000058 memfd_create
|
||||
0x0000000000000064 ftruncate
|
||||
0x0000000000000070 unlink
|
||||
0x0000000000000084 readlink
|
||||
0x000000000000008c open
|
||||
0x00000000000000a8 __clear_cache
|
||||
0x00000000000000bc memcpy
|
||||
0x00000000000000d0 memset
|
||||
|
||||
EXP_HEAD 0x0000000000000000 0x104
|
||||
EXP_HEAD 0x0000000000000000 0x104 tmp/arm64-expand.o
|
||||
0x0000000000000000 f_expand
|
||||
|
||||
EXP_TAIL 0x0000000000000000 0x20
|
||||
EXP_TAIL 0x0000000000000000 0x20 tmp/arm64-expand.o
|
||||
0x0000000000000000 eof
|
||||
|
||||
NRV2E 0x0000000000000000 0x17c
|
||||
NRV2E 0x0000000000000000 0x17c tmp/arm64-expand.o
|
||||
0x0000000000000000 ucl_nrv2e_decompress_32
|
||||
|
||||
NRV2D 0x0000000000000000 0x170
|
||||
NRV2D 0x0000000000000000 0x170 tmp/arm64-expand.o
|
||||
0x0000000000000000 ucl_nrv2d_decompress_32
|
||||
|
||||
NRV2B 0x0000000000000000 0x144
|
||||
NRV2B 0x0000000000000000 0x144 tmp/arm64-expand.o
|
||||
0x0000000000000000 ucl_nrv2b_decompress_32
|
||||
|
||||
LZMA_ELF00 0x0000000000000000 0x10c
|
||||
LZMA_ELF00 0x0000000000000000 0x10c tmp/arm64-expand.o
|
||||
|
||||
LZMA_DEC20 0x0000000000000000 0x968
|
||||
LZMA_DEC20 0x0000000000000000 0x968 tmp/arm64-expand.o
|
||||
|
||||
LZMA_DEC10 0x0000000000000000 0x4a0
|
||||
LZMA_DEC10 0x0000000000000000 0x4a0 tmp/arm64-expand.o
|
||||
0x0000000000000000 LzmaDecode
|
||||
|
||||
LZMA_DEC30 0x0000000000000000 0x0
|
||||
LZMA_DEC30 0x0000000000000000 0x0 tmp/arm64-expand.o
|
||||
|
||||
Reference in New Issue
Block a user