The first $ARCH to move to 2-step de-compressor for ELF main programs. De-compressor uses memfd_create to comply with strictest SELinux settings (no PROT_WRITE on any PROT_EXEC page). First step de-compressor always uses NRV2B to de-compress the second step, and the second step can use a different de-compressor for each PT_LOAD. modified: p_lx_elf.cpp modified: stub/Makefile modified: stub/src/amd64-linux.elf-fold.lds modified: stub/src/amd64-linux.elf-entry.S modified: stub/src/amd64-linux.elf-fold.S new file: stub/src/amd64-linux.elf-main2.c modified: stub/amd64-linux.elf-entry.h modified: stub/amd64-linux.elf-fold.h modified: stub/tmp/amd64-linux.elf-entry.bin.dump modified: stub/tmp/amd64-linux.elf-fold.map
79 lines
3.4 KiB
Plaintext
Vendored
Generated
79 lines
3.4 KiB
Plaintext
Vendored
Generated
|
|
Memory Configuration
|
|
|
|
Name Origin Length Attributes
|
|
*default* 0x0000000000000000 0xffffffffffffffff
|
|
|
|
Linker script and memory map
|
|
|
|
0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
|
|
|
.text 0x0000000000000000 0x909
|
|
.text 0x0000000000000000 0x160 tmp/amd64-linux.elf-fold.o
|
|
0x0000000000000158 get_page_mask
|
|
.text 0x0000000000000160 0x0 tmp/amd64-expand.o
|
|
.text 0x0000000000000160 0x7a9 tmp/amd64-linux.elf-main2.o
|
|
0x00000000000002b5 underlay
|
|
0x00000000000007d4 upx_main
|
|
|
|
EXP_HEAD 0x0000000000000000 0xe0
|
|
EXP_HEAD 0x0000000000000000 0xe0 tmp/amd64-expand.o
|
|
0x0000000000000000 f_expand
|
|
|
|
NRV2E 0x0000000000000000 0xe5
|
|
NRV2E 0x0000000000000000 0xe5 tmp/amd64-expand.o
|
|
|
|
NRV2D 0x0000000000000000 0xd7
|
|
NRV2D 0x0000000000000000 0xd7 tmp/amd64-expand.o
|
|
|
|
NRV2B 0x0000000000000000 0xc1
|
|
NRV2B 0x0000000000000000 0xc1 tmp/amd64-expand.o
|
|
|
|
.data 0x0000000000000000 0x0
|
|
.data 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
|
|
.data 0x0000000000000000 0x0 tmp/amd64-expand.o
|
|
.data 0x0000000000000000 0x0 tmp/amd64-linux.elf-main2.o
|
|
|
|
.bss 0x0000000000000000 0x0
|
|
.bss 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
|
|
.bss 0x0000000000000000 0x0 tmp/amd64-expand.o
|
|
.bss 0x0000000000000000 0x0 tmp/amd64-linux.elf-main2.o
|
|
LOAD tmp/amd64-linux.elf-fold.o
|
|
LOAD tmp/amd64-expand.o
|
|
LOAD tmp/amd64-linux.elf-main2.o
|
|
OUTPUT(tmp/amd64-linux.elf-fold.bin elf64-x86-64)
|
|
|
|
SYSCALLS 0x0000000000000000 0x8e
|
|
SYSCALLS 0x0000000000000000 0x8e tmp/amd64-linux.elf-fold.o
|
|
0x0000000000000018 Pmap
|
|
0x000000000000006a munmap
|
|
0x000000000000007a ftruncate
|
|
0x000000000000002a mmap
|
|
0x0000000000000086 write
|
|
0x0000000000000011 memfd_create
|
|
0x000000000000008a read
|
|
0x0000000000000000 my_bkpt
|
|
0x0000000000000045 Pprotect
|
|
0x0000000000000086 Pwrite
|
|
0x000000000000005a Punmap
|
|
0x000000000000006e exit
|
|
0x0000000000000072 brk
|
|
0x000000000000007e open
|
|
0x0000000000000082 mprotect
|
|
0x0000000000000076 close
|
|
|
|
LZMA_ELF00 0x0000000000000000 0x64
|
|
LZMA_ELF00 0x0000000000000000 0x64 tmp/amd64-expand.o
|
|
|
|
LZMA_DEC10 0x0000000000000000 0x9f7
|
|
LZMA_DEC10 0x0000000000000000 0x9f7 tmp/amd64-expand.o
|
|
|
|
LZMA_DEC20 0x0000000000000000 0x9f7
|
|
LZMA_DEC20 0x0000000000000000 0x9f7 tmp/amd64-expand.o
|
|
|
|
LZMA_DEC30 0x0000000000000000 0x18
|
|
LZMA_DEC30 0x0000000000000000 0x18 tmp/amd64-expand.o
|
|
|
|
EXP_TAIL 0x0000000000000000 0xc
|
|
EXP_TAIL 0x0000000000000000 0xc tmp/amd64-expand.o
|