Pprotect: mprotect but enlarge the interval to start on page boundary

https://github.com/upx/upx/issues/609
	modified:   src/stub/src/amd64-linux.elf-fold.S
	modified:   src/stub/src/amd64-linux.elf-main.c
	modified:   src/stub/src/amd64-linux.elf-so_fold.S
	modified:   src/stub/src/amd64-linux.elf-so_main.c
	modified:   src/stub/src/arm.v4a-linux.elf-fold.S
	modified:   src/stub/src/arm.v4a-linux.elf-so_fold.S
	modified:   src/stub/src/arm64-linux.elf-fold.S
	modified:   src/stub/src/arm64-linux.elf-so_fold.S
	modified:   src/stub/src/i386-linux.elf-fold.S
	modified:   src/stub/src/i386-linux.elf-main.c
	modified:   src/stub/src/i386-linux.elf-so_fold.S
	modified:   src/stub/src/i386-linux.elf-so_main.c
	modified:   src/stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   src/stub/src/powerpc-linux.elf-fold.S
	modified:   src/stub/src/powerpc64le-linux.elf-fold.S

	modified:   src/stub/amd64-linux.elf-fold.h
	modified:   src/stub/amd64-linux.elf-so_fold.h
	modified:   src/stub/arm.v4a-linux.elf-fold.h
	modified:   src/stub/arm.v4a-linux.elf-so_fold.h
	modified:   src/stub/arm.v5a-linux.elf-fold.h
	modified:   src/stub/arm.v5a-linux.elf-so_fold.h
	modified:   src/stub/arm64-linux.elf-fold.h
	modified:   src/stub/arm64-linux.elf-so_fold.h
	modified:   src/stub/armeb.v4a-linux.elf-fold.h
	modified:   src/stub/i386-linux.elf-fold.h
	modified:   src/stub/i386-linux.elf-so_fold.h
	modified:   src/stub/mips.r3000-linux.elf-fold.h
	modified:   src/stub/mipsel.r3000-linux.elf-fold.h
	modified:   src/stub/powerpc-linux.elf-fold.h
	modified:   src/stub/powerpc64-linux.elf-fold.h
	modified:   src/stub/powerpc64le-linux.elf-fold.h

	modified:   src/stub/tmp/amd64-linux.elf-fold.map
	modified:   src/stub/tmp/amd64-linux.elf-so_fold.bin.dump
	modified:   src/stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   src/stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   src/stub/tmp/arm64-linux.elf-fold.map
	modified:   src/stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   src/stub/tmp/i386-linux.elf-fold.map
	modified:   src/stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   src/stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc64-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
John Reiser
2023-03-29 15:46:58 -07:00
parent c72ceaa979
commit 4df68aafd2
43 changed files with 5842 additions and 5699 deletions
+45 -44
View File
@@ -8,61 +8,62 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x88c
.text 0x00000000001000bc 0x89c
*(.text)
.text 0x00000000001000bc 0x199 tmp/amd64-linux.elf-fold.o
0x0000000000100245 munmap
.text 0x00000000001000bc 0x1ab tmp/amd64-linux.elf-fold.o
0x0000000000100257 munmap
0x000000000010021e mmap
0x000000000010024d write
0x0000000000100251 read
0x0000000000100235 exit
0x0000000000100239 brk
0x0000000000100241 open
0x0000000000100249 mprotect
0x000000000010023d close
*fill* 0x0000000000100255 0x3 00
.text 0x0000000000100258 0x6ee tmp/amd64-linux.elf-main.o
0x00000000001007fe upx_main
*fill* 0x0000000000100946 0x2 00
.text 0x0000000000100948 0x0 tmp/amd64-expand.o
0x000000000010025f write
0x0000000000100263 read
0x0000000000100235 Pprotect
0x0000000000100247 exit
0x000000000010024b brk
0x0000000000100253 open
0x000000000010025b mprotect
0x000000000010024f close
*fill* 0x0000000000100267 0x1 00
.text 0x0000000000100268 0x6ee tmp/amd64-linux.elf-main.o
0x000000000010080e upx_main
*fill* 0x0000000000100956 0x2 00
.text 0x0000000000100958 0x0 tmp/amd64-expand.o
*(.data)
.data 0x0000000000100948 0x0 tmp/amd64-linux.elf-fold.o
.data 0x0000000000100948 0x0 tmp/amd64-linux.elf-main.o
.data 0x0000000000100948 0x0 tmp/amd64-expand.o
0x0000000000100948 . = ALIGN (0x1)
0x0000000000100948 __start_EXP_HEAD = .
.data 0x0000000000100958 0x0 tmp/amd64-linux.elf-fold.o
.data 0x0000000000100958 0x0 tmp/amd64-linux.elf-main.o
.data 0x0000000000100958 0x0 tmp/amd64-expand.o
0x0000000000100958 . = ALIGN (0x1)
0x0000000000100958 __start_EXP_HEAD = .
EXP_HEAD 0x0000000000100948 0xdc
EXP_HEAD 0x0000000000100948 0xdc tmp/amd64-expand.o
0x0000000000100948 f_expand
0x0000000000100a24 __stop_EXP_HEAD = .
0x0000000000100a24 . = ALIGN (0x1)
0x0000000000100a24 __start_NRV2E = .
EXP_HEAD 0x0000000000100958 0xdc
EXP_HEAD 0x0000000000100958 0xdc tmp/amd64-expand.o
0x0000000000100958 f_expand
0x0000000000100a34 __stop_EXP_HEAD = .
0x0000000000100a34 . = ALIGN (0x1)
0x0000000000100a34 __start_NRV2E = .
NRV2E 0x0000000000100a24 0xe5
NRV2E 0x0000000000100a24 0xe5 tmp/amd64-expand.o
0x0000000000100b09 __stop_NRV2E = .
0x0000000000100b09 . = ALIGN (0x1)
0x0000000000100b09 __start_NRV2D = .
NRV2E 0x0000000000100a34 0xe5
NRV2E 0x0000000000100a34 0xe5 tmp/amd64-expand.o
0x0000000000100b19 __stop_NRV2E = .
0x0000000000100b19 . = ALIGN (0x1)
0x0000000000100b19 __start_NRV2D = .
NRV2D 0x0000000000100b09 0xd7
NRV2D 0x0000000000100b09 0xd7 tmp/amd64-expand.o
0x0000000000100be0 __stop_NRV2D = .
0x0000000000100be0 . = ALIGN (0x1)
0x0000000000100be0 __start_NRV2B = .
NRV2D 0x0000000000100b19 0xd7
NRV2D 0x0000000000100b19 0xd7 tmp/amd64-expand.o
0x0000000000100bf0 __stop_NRV2D = .
0x0000000000100bf0 . = ALIGN (0x1)
0x0000000000100bf0 __start_NRV2B = .
NRV2B 0x0000000000100be0 0xc1
NRV2B 0x0000000000100be0 0xc1 tmp/amd64-expand.o
0x0000000000100ca1 __stop_NRV2B = .
NRV2B 0x0000000000100bf0 0xc1
NRV2B 0x0000000000100bf0 0xc1 tmp/amd64-expand.o
0x0000000000100cb1 __stop_NRV2B = .
.data
.bss 0x0000000000100ca4 0x0
.bss 0x0000000000100ca4 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100ca4 0x0 tmp/amd64-linux.elf-main.o
.bss 0x0000000000100ca4 0x0 tmp/amd64-expand.o
.bss 0x0000000000100cb4 0x0
.bss 0x0000000000100cb4 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100cb4 0x0 tmp/amd64-linux.elf-main.o
.bss 0x0000000000100cb4 0x0 tmp/amd64-expand.o
.rela.dyn 0x0000000000100ca8 0x0
.rela.dyn 0x0000000000100cb8 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-main.o
+4 -3
View File
@@ -39,6 +39,7 @@ SYMBOL TABLE:
0000000000000056 g SO_TAIL 0 read
0000000000000013 g SO_TAIL 0 memset
0000000000000011 g SO_TAIL 0 my_bkpt
000000000000005e g SO_TAIL 0 Pprotect
0000000000000043 g SO_TAIL 0 exit
000000000000004b g SO_TAIL 0 openat
000000000000005e g SO_TAIL 0 mprotect
@@ -52,7 +53,7 @@ OFFSET TYPE VALUE
000000000000002e R_X86_64_PLT32 exit+0xfffffffffffffffc
000000000000010e R_X86_64_PLT32 f_expand+0xfffffffffffffffc
00000000000001e0 R_X86_64_PLT32 mmap+0xfffffffffffffffc
000000000000020a R_X86_64_PLT32 mprotect+0xfffffffffffffffc
000000000000020a R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
0000000000000268 R_X86_64_PLT32 openat+0xfffffffffffffffc
0000000000000283 R_X86_64_PLT32 read+0xfffffffffffffffc
0000000000000291 R_X86_64_PLT32 close+0xfffffffffffffffc
@@ -61,8 +62,8 @@ OFFSET TYPE VALUE
000000000000033c R_X86_64_PLT32 memcpy+0xfffffffffffffffc
00000000000003d9 R_X86_64_PLT32 mmap+0xfffffffffffffffc
00000000000003ea R_X86_64_PLT32 memcpy+0xfffffffffffffffc
0000000000000417 R_X86_64_PLT32 mprotect+0xfffffffffffffffc
0000000000000588 R_X86_64_PLT32 mprotect+0xfffffffffffffffc
0000000000000417 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
0000000000000588 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
00000000000005a1 R_X86_64_PLT32 munmap+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2E]:
+14 -13
View File
@@ -8,9 +8,9 @@ Linker script and memory map
0x0000000000008040 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008040 0xab0
.text 0x0000000000008040 0xac4
*(.text)
.text 0x0000000000008040 0x30c tmp/arm.v4a-linux.elf-fold.o
.text 0x0000000000008040 0x320 tmp/arm.v4a-linux.elf-fold.o
0x0000000000008250 my_bkpt
0x0000000000008258 exit
0x000000000000825c read
@@ -22,19 +22,20 @@ Linker script and memory map
0x000000000000828c brk
0x0000000000008294 readlink
0x000000000000829c munmap
0x00000000000082a4 Pprotect
0x00000000000082a4 mprotect
0x00000000000082ac __clear_cache
0x00000000000082b8 mmap
0x00000000000082d0 get_sys_munmap
0x00000000000082d8 mmap_privanon
0x00000000000082f0 __udivsi3
0x00000000000082f0 div10
.text 0x000000000000834c 0x7a4 tmp/arm.v4a-linux.elf-main.o
0x000000000000836c get_page_mask
0x00000000000089bc upx_main
0x00000000000082c0 __clear_cache
0x00000000000082cc mmap
0x00000000000082e4 get_sys_munmap
0x00000000000082ec mmap_privanon
0x0000000000008304 __udivsi3
0x0000000000008304 div10
.text 0x0000000000008360 0x7a4 tmp/arm.v4a-linux.elf-main.o
0x0000000000008380 get_page_mask
0x00000000000089d0 upx_main
*(.data)
.data 0x0000000000008af0 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000008af0 0x0 tmp/arm.v4a-linux.elf-main.o
.data 0x0000000000008b04 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000008b04 0x0 tmp/arm.v4a-linux.elf-main.o
.data
LOAD tmp/arm.v4a-linux.elf-fold.o
+17 -16
View File
@@ -9,39 +9,40 @@ Linker script and memory map
TARGET(elf32-littlearm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xb4c
.text 0x0000000000008080 0xb60
*(.text)
.text 0x0000000000008080 0x3ac tmp/arm.v5a-linux.elf-fold.o
.text 0x0000000000008080 0x3c0 tmp/arm.v5a-linux.elf-fold.o
0x0000000000008348 munmap
0x00000000000083b0 get_sys_munmap
0x00000000000083c4 get_sys_munmap
0x000000000000830c getpid
0x0000000000008334 readlink
0x00000000000083d0 __udivsi3
0x000000000000838c mmap
0x0000000000008370 __clear_cache
0x00000000000083b8 mmap_privanon
0x00000000000083e4 __udivsi3
0x00000000000083a0 mmap
0x0000000000008384 __clear_cache
0x00000000000083cc mmap_privanon
0x00000000000082bc write
0x00000000000082a8 read
0x00000000000082f8 unlink
0x0000000000008290 my_bkpt
0x000000000000835c Pprotect
0x0000000000008298 exit
0x0000000000008320 brk
0x00000000000082d0 open
0x00000000000083d0 div10
0x00000000000083e4 div10
0x000000000000835c mprotect
0x00000000000082e4 close
.text 0x000000000000842c 0x7a0 tmp/armel-linux.elf-main.o
0x000000000000844c get_page_mask
0x0000000000008a98 upx_main
.text 0x0000000000008440 0x7a0 tmp/armel-linux.elf-main.o
0x0000000000008460 get_page_mask
0x0000000000008aac upx_main
*(.data)
.data 0x0000000000008bcc 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000008bcc 0x0 tmp/armel-linux.elf-main.o
.data 0x0000000000008be0 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000008be0 0x0 tmp/armel-linux.elf-main.o
.data
.bss 0x0000000000008bcc 0x0
.bss 0x0000000000008bcc 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000008bcc 0x0 tmp/armel-linux.elf-main.o
.bss 0x0000000000008be0 0x0
.bss 0x0000000000008be0 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000008be0 0x0 tmp/armel-linux.elf-main.o
LOAD tmp/arm.v5a-linux.elf-fold.o
LOAD tmp/armel-linux.elf-main.o
OUTPUT(tmp/arm.v5a-linux.elf-fold.bin elf32-littlearm)
+22 -21
View File
@@ -8,9 +8,9 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xa1c
.text 0x00000000001000bc 0xa28
*(.text)
.text 0x00000000001000bc 0x268 tmp/arm64-linux.elf-fold.o
.text 0x00000000001000bc 0x274 tmp/arm64-linux.elf-fold.o
0x0000000000100258 my_bkpt
0x0000000000100260 exit
0x0000000000100268 read
@@ -19,33 +19,34 @@ Linker script and memory map
0x000000000010028c getpid
0x0000000000100298 brk
0x00000000001002a4 munmap
0x00000000001002b0 Pprotect
0x00000000001002b0 mprotect
0x00000000001002bc mmap_privanon
0x00000000001002cc mmap
0x00000000001002d8 unlink
0x00000000001002ec readlink
0x00000000001002f4 open
0x0000000000100310 __clear_cache
.text 0x0000000000100324 0x7b4 tmp/arm64-linux.elf-main.o
0x0000000000100970 upx_main
0x00000000001002c8 mmap_privanon
0x00000000001002d8 mmap
0x00000000001002e4 unlink
0x00000000001002f8 readlink
0x0000000000100300 open
0x000000000010031c __clear_cache
.text 0x0000000000100330 0x7b4 tmp/arm64-linux.elf-main.o
0x000000000010097c upx_main
*(.data)
.data 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-fold.o
.data 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-main.o
.data 0x0000000000100ae4 0x0 tmp/arm64-linux.elf-fold.o
.data 0x0000000000100ae4 0x0 tmp/arm64-linux.elf-main.o
.iplt 0x0000000000100ad8 0x0
.iplt 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-fold.o
.iplt 0x0000000000100ae4 0x0
.iplt 0x0000000000100ae4 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x0000000000100ad8 0x0
.rela.iplt 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x0000000000100ae8 0x0
.rela.iplt 0x0000000000100ae8 0x0 tmp/arm64-linux.elf-fold.o
.data
LOAD tmp/arm64-linux.elf-fold.o
LOAD tmp/arm64-linux.elf-main.o
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
.igot.plt 0x0000000000100ad8 0x0
.igot.plt 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-fold.o
.igot.plt 0x0000000000100ae8 0x0
.igot.plt 0x0000000000100ae8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100ad8 0x0
.bss 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100ad8 0x0 tmp/arm64-linux.elf-main.o
.bss 0x0000000000100ae4 0x0
.bss 0x0000000000100ae4 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100ae4 0x0 tmp/arm64-linux.elf-main.o
+17 -16
View File
@@ -9,39 +9,40 @@ Linker script and memory map
TARGET(elf32-bigarm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xab0
.text 0x0000000000008080 0xac4
*(.text)
.text 0x0000000000008080 0x30c tmp/armeb.v4a-linux.elf-fold.o
.text 0x0000000000008080 0x320 tmp/armeb.v4a-linux.elf-fold.o
0x00000000000082dc munmap
0x0000000000008310 get_sys_munmap
0x0000000000008324 get_sys_munmap
0x00000000000082c4 getpid
0x00000000000082d4 readlink
0x0000000000008330 __udivsi3
0x00000000000082f8 mmap
0x00000000000082ec __clear_cache
0x0000000000008318 mmap_privanon
0x0000000000008344 __udivsi3
0x000000000000830c mmap
0x0000000000008300 __clear_cache
0x000000000000832c mmap_privanon
0x00000000000082a4 write
0x000000000000829c read
0x00000000000082bc unlink
0x0000000000008290 my_bkpt
0x00000000000082e4 Pprotect
0x0000000000008298 exit
0x00000000000082cc brk
0x00000000000082ac open
0x0000000000008330 div10
0x0000000000008344 div10
0x00000000000082e4 mprotect
0x00000000000082b4 close
.text 0x000000000000838c 0x7a4 tmp/armeb.v4a-linux.elf-main.o
0x00000000000083ac get_page_mask
0x00000000000089fc upx_main
.text 0x00000000000083a0 0x7a4 tmp/armeb.v4a-linux.elf-main.o
0x00000000000083c0 get_page_mask
0x0000000000008a10 upx_main
*(.data)
.data 0x0000000000008b30 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000008b30 0x0 tmp/armeb.v4a-linux.elf-main.o
.data 0x0000000000008b44 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000008b44 0x0 tmp/armeb.v4a-linux.elf-main.o
.data
.bss 0x0000000000008b30 0x0
.bss 0x0000000000008b30 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000008b30 0x0 tmp/armeb.v4a-linux.elf-main.o
.bss 0x0000000000008b44 0x0
.bss 0x0000000000008b44 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000008b44 0x0 tmp/armeb.v4a-linux.elf-main.o
LOAD tmp/armeb.v4a-linux.elf-fold.o
LOAD tmp/armeb.v4a-linux.elf-main.o
OUTPUT(tmp/armeb.v4a-linux.elf-fold.bin elf32-bigarm)
+14 -13
View File
@@ -9,25 +9,26 @@ Linker script and memory map
TARGET(elf32-i386)
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000c01080 0x748
.text 0x0000000000c01080 0x764
*(.text)
.text 0x0000000000c01080 0x15c tmp/i386-linux.elf-fold.o
0x0000000000c011ae mmap
.text 0x0000000000c011dc 0x5eb tmp/i386-linux.elf-main.o
0x0000000000c01304 get_page_mask
0x0000000000c016bd upx_main
.text 0x0000000000c01080 0x184 tmp/i386-linux.elf-fold.o
0x0000000000c011d6 mmap
0x0000000000c011ae Pprotect
.text 0x0000000000c01204 0x5df tmp/i386-linux.elf-main.o
0x0000000000c0132c get_page_mask
0x0000000000c016d9 upx_main
*(.data)
*fill* 0x0000000000c017c7 0x1 00
.data 0x0000000000c017c8 0x0 tmp/i386-linux.elf-fold.o
.data 0x0000000000c017c8 0x0 tmp/i386-linux.elf-main.o
*fill* 0x0000000000c017e3 0x1 00
.data 0x0000000000c017e4 0x0 tmp/i386-linux.elf-fold.o
.data 0x0000000000c017e4 0x0 tmp/i386-linux.elf-main.o
.data
.bss 0x0000000000c017c8 0x0
.bss 0x0000000000c017c8 0x0 tmp/i386-linux.elf-fold.o
.bss 0x0000000000c017c8 0x0 tmp/i386-linux.elf-main.o
.bss 0x0000000000c017e4 0x0
.bss 0x0000000000c017e4 0x0 tmp/i386-linux.elf-fold.o
.bss 0x0000000000c017e4 0x0 tmp/i386-linux.elf-main.o
.rel.dyn 0x0000000000c017c8 0x0
.rel.dyn 0x0000000000c017e4 0x0
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
LOAD tmp/i386-linux.elf-fold.o
LOAD tmp/i386-linux.elf-main.o
+10 -9
View File
@@ -9,20 +9,21 @@ Linker script and memory map
TARGET(elf32-bigmips)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xad0
.text 0x0000000000100080 0xaf0
*(.text)
.text 0x0000000000100080 0x1a0 tmp/mips.r3000-linux.elf-fold.o
.text 0x0000000000100220 0x930 tmp/mips.r3000-linux.elf-main.o
0x00000000001009b4 upx_main
.text 0x0000000000100080 0x1c0 tmp/mips.r3000-linux.elf-fold.o
0x0000000000100218 Pprotect
.text 0x0000000000100240 0x930 tmp/mips.r3000-linux.elf-main.o
0x00000000001009d4 upx_main
*(.data)
.data 0x0000000000100b50 0x0 tmp/mips.r3000-linux.elf-fold.o
.data 0x0000000000100b50 0x0 tmp/mips.r3000-linux.elf-main.o
.data 0x0000000000100b70 0x0 tmp/mips.r3000-linux.elf-fold.o
.data 0x0000000000100b70 0x0 tmp/mips.r3000-linux.elf-main.o
.data
.bss 0x0000000000100b50 0x0
.bss 0x0000000000100b50 0x0 tmp/mips.r3000-linux.elf-fold.o
.bss 0x0000000000100b50 0x0 tmp/mips.r3000-linux.elf-main.o
.bss 0x0000000000100b70 0x0
.bss 0x0000000000100b70 0x0 tmp/mips.r3000-linux.elf-fold.o
.bss 0x0000000000100b70 0x0 tmp/mips.r3000-linux.elf-main.o
LOAD tmp/mips.r3000-linux.elf-fold.o
LOAD tmp/mips.r3000-linux.elf-main.o
OUTPUT(tmp/mips.r3000-linux.elf-fold.bin elf32-bigmips)
+10 -9
View File
@@ -9,20 +9,21 @@ Linker script and memory map
TARGET(elf32-littlemips)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xad0
.text 0x0000000000100080 0xaf0
*(.text)
.text 0x0000000000100080 0x1a0 tmp/mipsel.r3000-linux.elf-fold.o
.text 0x0000000000100220 0x930 tmp/mipsel.r3000-linux.elf-main.o
0x00000000001009b4 upx_main
.text 0x0000000000100080 0x1c0 tmp/mipsel.r3000-linux.elf-fold.o
0x0000000000100218 Pprotect
.text 0x0000000000100240 0x930 tmp/mipsel.r3000-linux.elf-main.o
0x00000000001009d4 upx_main
*(.data)
.data 0x0000000000100b50 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.data 0x0000000000100b50 0x0 tmp/mipsel.r3000-linux.elf-main.o
.data 0x0000000000100b70 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.data 0x0000000000100b70 0x0 tmp/mipsel.r3000-linux.elf-main.o
.data
.bss 0x0000000000100b50 0x0
.bss 0x0000000000100b50 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.bss 0x0000000000100b50 0x0 tmp/mipsel.r3000-linux.elf-main.o
.bss 0x0000000000100b70 0x0
.bss 0x0000000000100b70 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.bss 0x0000000000100b70 0x0 tmp/mipsel.r3000-linux.elf-main.o
LOAD tmp/mipsel.r3000-linux.elf-fold.o
LOAD tmp/mipsel.r3000-linux.elf-main.o
OUTPUT(tmp/mipsel.r3000-linux.elf-fold.bin elf32-littlemips)
+22 -21
View File
@@ -9,34 +9,35 @@ Linker script and memory map
TARGET(elf32-powerpc)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0x10fc
.text 0x0000000000100080 0x1110
*(.text)
.text 0x0000000000100080 0x274 tmp/powerpc-linux.elf-fold.o
.text 0x0000000000100080 0x288 tmp/powerpc-linux.elf-fold.o
0x0000000000100080 get_page_mask
0x00000000001002e4 munmap
0x00000000001002b4 readlink
0x0000000000100290 mmap
0x00000000001002bc write
0x00000000001002c4 read
0x00000000001002ec my_bkpt
0x00000000001002a4 exit
0x00000000001002ac brk
0x00000000001002cc open
0x00000000001002dc mprotect
0x00000000001002d4 close
.text 0x00000000001002f4 0xe88 tmp/powerpc-linux.elf-main.o
0x0000000000100f7c upx_main
0x00000000001002f8 munmap
0x00000000001002c8 readlink
0x00000000001002a4 mmap
0x00000000001002d0 write
0x00000000001002d8 read
0x0000000000100300 my_bkpt
0x0000000000100290 Pprotect
0x00000000001002b8 exit
0x00000000001002c0 brk
0x00000000001002e0 open
0x00000000001002f0 mprotect
0x00000000001002e8 close
.text 0x0000000000100308 0xe88 tmp/powerpc-linux.elf-main.o
0x0000000000100f90 upx_main
*(.data)
.data 0x000000000010117c 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x000000000010117c 0x0 tmp/powerpc-linux.elf-main.o
.data 0x0000000000101190 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000101190 0x0 tmp/powerpc-linux.elf-main.o
.data
.bss 0x000000000010117c 0x0
.bss 0x000000000010117c 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x000000000010117c 0x0 tmp/powerpc-linux.elf-main.o
.bss 0x0000000000101190 0x0
.bss 0x0000000000101190 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000101190 0x0 tmp/powerpc-linux.elf-main.o
.rela.dyn 0x000000000010117c 0x0
.rela.dyn 0x0000000000101190 0x0
.rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-main.o
+41 -40
View File
@@ -9,61 +9,62 @@ Linker script and memory map
TARGET(elf64-powerpc)
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xbc4
.text 0x00000000001000bc 0xbdc
*(.text)
.text 0x00000000001000bc 0x328 tmp/powerpc64-linux.elf-fold.o
.text 0x00000000001000bc 0x338 tmp/powerpc64-linux.elf-fold.o
0x00000000001000bc get_page_mask
0x0000000000100384 mmap
0x000000000010039c exit
0x00000000001003a4 brk
0x00000000001003ac readlink
0x00000000001003b4 read
0x00000000001003bc open
0x00000000001003c4 close
0x00000000001003cc mprotect
0x00000000001003d4 munmap
0x00000000001003dc my_bkpt
.text 0x00000000001003e4 0x89c tmp/powerpc64-linux.elf-main.o
0x000000000010039c Pprotect
0x000000000010039c mprotect
0x00000000001003b4 exit
0x00000000001003bc brk
0x00000000001003c4 readlink
0x00000000001003cc read
0x00000000001003d4 open
0x00000000001003dc close
0x00000000001003e4 munmap
0x00000000001003ec my_bkpt
.text 0x00000000001003f4 0x8a4 tmp/powerpc64-linux.elf-main.o
*(.data)
.data 0x0000000000100c80 0x0 tmp/powerpc64-linux.elf-fold.o
.data 0x0000000000100c80 0x0 tmp/powerpc64-linux.elf-main.o
.data 0x0000000000100c98 0x0 tmp/powerpc64-linux.elf-fold.o
.data 0x0000000000100c98 0x0 tmp/powerpc64-linux.elf-main.o
.sfpr 0x0000000000100c80 0xa4
.sfpr 0x0000000000100c80 0xa4 linker stubs
0x0000000000100c80 _savegpr0_14
0x0000000000100ca8 _savegpr0_24
0x0000000000100cb8 _savegpr0_28
0x0000000000100cd0 _restgpr0_14
0x0000000000100cf8 _restgpr0_24
0x0000000000100d08 _restgpr0_28
.sfpr 0x0000000000100c98 0xa4
.sfpr 0x0000000000100c98 0xa4 linker stubs
0x0000000000100c98 _savegpr0_14
0x0000000000100cc0 _savegpr0_24
0x0000000000100cd0 _savegpr0_28
0x0000000000100ce8 _restgpr0_14
0x0000000000100d10 _restgpr0_24
0x0000000000100d20 _restgpr0_28
.glink 0x0000000000100d28 0x0
.glink 0x0000000000100d28 0x0 linker stubs
.glink 0x0000000000100d40 0x0
.glink 0x0000000000100d40 0x0 linker stubs
.eh_frame 0x0000000000100d24 0x0
.eh_frame 0x0000000000100d24 0x0 linker stubs
.eh_frame 0x0000000000100d3c 0x0
.eh_frame 0x0000000000100d3c 0x0 linker stubs
.rela.dyn 0x0000000000100d28 0x0
.rela.iplt 0x0000000000100d28 0x0 linker stubs
.rela.dyn 0x0000000000100d40 0x0
.rela.iplt 0x0000000000100d40 0x0 linker stubs
.data
LOAD tmp/powerpc64-linux.elf-fold.o
LOAD tmp/powerpc64-linux.elf-main.o
OUTPUT(tmp/powerpc64-linux.elf-fold.bin elf64-powerpc)
.branch_lt 0x0000000000100d28 0x0
.branch_lt 0x0000000000100d28 0x0 linker stubs
.branch_lt 0x0000000000100d40 0x0
.branch_lt 0x0000000000100d40 0x0 linker stubs
.toc 0x0000000000100d28 0x0
.toc 0x0000000000100d28 0x0 tmp/powerpc64-linux.elf-main.o
.toc 0x0000000000100d40 0x0
.toc 0x0000000000100d40 0x0 tmp/powerpc64-linux.elf-main.o
.opd 0x0000000000100d28 0x58
.opd 0x0000000000100d28 0x58 tmp/powerpc64-linux.elf-main.o
0x0000000000100d68 upx_main
.opd 0x0000000000100d40 0x58
.opd 0x0000000000100d40 0x58 tmp/powerpc64-linux.elf-main.o
0x0000000000100d80 upx_main
.iplt 0x0000000000100d80 0x0
.iplt 0x0000000000100d80 0x0 linker stubs
.iplt 0x0000000000100d98 0x0
.iplt 0x0000000000100d98 0x0 linker stubs
.bss 0x0000000000100d80 0x0
.bss 0x0000000000100d80 0x0 tmp/powerpc64-linux.elf-fold.o
.bss 0x0000000000100d80 0x0 tmp/powerpc64-linux.elf-main.o
.bss 0x0000000000100d98 0x0
.bss 0x0000000000100d98 0x0 tmp/powerpc64-linux.elf-fold.o
.bss 0x0000000000100d98 0x0 tmp/powerpc64-linux.elf-main.o
+41 -40
View File
@@ -9,61 +9,62 @@ Linker script and memory map
TARGET(elf64-powerpcle)
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xbc0
.text 0x00000000001000bc 0xbd8
*(.text)
.text 0x00000000001000bc 0x328 tmp/powerpc64le-linux.elf-fold.o
.text 0x00000000001000bc 0x338 tmp/powerpc64le-linux.elf-fold.o
0x00000000001000bc get_page_mask
0x0000000000100384 mmap
0x000000000010039c exit
0x00000000001003a4 brk
0x00000000001003ac readlink
0x00000000001003b4 read
0x00000000001003bc open
0x00000000001003c4 close
0x00000000001003cc mprotect
0x00000000001003d4 munmap
0x00000000001003dc my_bkpt
.text 0x00000000001003e4 0x898 tmp/powerpc64le-linux.elf-main.o
0x000000000010039c Pprotect
0x000000000010039c mprotect
0x00000000001003b4 exit
0x00000000001003bc brk
0x00000000001003c4 readlink
0x00000000001003cc read
0x00000000001003d4 open
0x00000000001003dc close
0x00000000001003e4 munmap
0x00000000001003ec my_bkpt
.text 0x00000000001003f4 0x8a0 tmp/powerpc64le-linux.elf-main.o
*(.data)
.data 0x0000000000100c7c 0x0 tmp/powerpc64le-linux.elf-fold.o
.data 0x0000000000100c7c 0x0 tmp/powerpc64le-linux.elf-main.o
.data 0x0000000000100c94 0x0 tmp/powerpc64le-linux.elf-fold.o
.data 0x0000000000100c94 0x0 tmp/powerpc64le-linux.elf-main.o
.sfpr 0x0000000000100c7c 0xa4
.sfpr 0x0000000000100c7c 0xa4 linker stubs
0x0000000000100c7c _savegpr0_14
0x0000000000100ca4 _savegpr0_24
0x0000000000100cb4 _savegpr0_28
0x0000000000100ccc _restgpr0_14
0x0000000000100cf4 _restgpr0_24
0x0000000000100d04 _restgpr0_28
.sfpr 0x0000000000100c94 0xa4
.sfpr 0x0000000000100c94 0xa4 linker stubs
0x0000000000100c94 _savegpr0_14
0x0000000000100cbc _savegpr0_24
0x0000000000100ccc _savegpr0_28
0x0000000000100ce4 _restgpr0_14
0x0000000000100d0c _restgpr0_24
0x0000000000100d1c _restgpr0_28
.glink 0x0000000000100d20 0x0
.glink 0x0000000000100d20 0x0 linker stubs
.glink 0x0000000000100d38 0x0
.glink 0x0000000000100d38 0x0 linker stubs
.eh_frame 0x0000000000100d20 0x0
.eh_frame 0x0000000000100d20 0x0 linker stubs
.eh_frame 0x0000000000100d38 0x0
.eh_frame 0x0000000000100d38 0x0 linker stubs
.rela.dyn 0x0000000000100d20 0x0
.rela.iplt 0x0000000000100d20 0x0 linker stubs
.rela.dyn 0x0000000000100d38 0x0
.rela.iplt 0x0000000000100d38 0x0 linker stubs
.data
LOAD tmp/powerpc64le-linux.elf-fold.o
LOAD tmp/powerpc64le-linux.elf-main.o
OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle)
.branch_lt 0x0000000000100d20 0x0
.branch_lt 0x0000000000100d20 0x0 linker stubs
.branch_lt 0x0000000000100d38 0x0
.branch_lt 0x0000000000100d38 0x0 linker stubs
.toc 0x0000000000100d20 0x0
.toc 0x0000000000100d20 0x0 tmp/powerpc64le-linux.elf-main.o
.toc 0x0000000000100d38 0x0
.toc 0x0000000000100d38 0x0 tmp/powerpc64le-linux.elf-main.o
.opd 0x0000000000100d20 0x58
.opd 0x0000000000100d20 0x58 tmp/powerpc64le-linux.elf-main.o
0x0000000000100d60 upx_main
.opd 0x0000000000100d38 0x58
.opd 0x0000000000100d38 0x58 tmp/powerpc64le-linux.elf-main.o
0x0000000000100d78 upx_main
.iplt 0x0000000000100d78 0x0
.iplt 0x0000000000100d78 0x0 linker stubs
.iplt 0x0000000000100d90 0x0
.iplt 0x0000000000100d90 0x0 linker stubs
.bss 0x0000000000100d78 0x0
.bss 0x0000000000100d78 0x0 tmp/powerpc64le-linux.elf-fold.o
.bss 0x0000000000100d78 0x0 tmp/powerpc64le-linux.elf-main.o
.bss 0x0000000000100d90 0x0
.bss 0x0000000000100d90 0x0 tmp/powerpc64le-linux.elf-fold.o
.bss 0x0000000000100d90 0x0 tmp/powerpc64le-linux.elf-main.o