stash work-in-progress

modified:   stub/src/amd64-darwin.macho-main.c
	modified:   stub/src/amd64-darwin.macho-upxmain.c
	modified:   stub/src/arm.v5a-darwin.macho-entry.S
	modified:   stub/src/arm.v5a-darwin.macho-fold.S
	modified:   stub/src/arm.v5a-darwin.macho-main.c
	modified:   stub/src/arm64-darwin.macho-entry.S
	modified:   stub/src/arm64-darwin.macho-fold.S
	modified:   stub/src/i386-darwin.macho-upxmain.c
This commit is contained in:
John Reiser
2017-12-22 10:20:32 -08:00
parent 9d2d59b5d2
commit fb3699fb89
18 changed files with 1681 additions and 2051 deletions
+33 -33
View File
@@ -72,7 +72,7 @@ LOAD tmp/amd64-darwin.macho-main.o
.plt
*(.plt)
.text 0x0000000008048000 0xea3
.text 0x0000000008048000 0xee5
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000008048000 0x157 tmp/amd64-darwin.macho-fold.o
0x00000000080480b8 munmap
@@ -87,17 +87,17 @@ LOAD tmp/amd64-darwin.macho-main.o
0x00000000080480b4 mprotect
0x00000000080480c0 close
*fill* 0x0000000008048157 0x1 90909090
.text 0x0000000008048158 0xd4b tmp/amd64-darwin.macho-main.o
.text 0x0000000008048158 0xd8d tmp/amd64-darwin.macho-main.o
0x000000000804875f do_xmap
0x0000000008048c30 upx_main
0x0000000008048c72 upx_main
*(.text.*personality*)
*(.gnu.warning)
.fini
*(.fini)
0x0000000008048ea3 PROVIDE (__etext, .)
0x0000000008048ea3 PROVIDE (_etext, .)
0x0000000008048ea3 PROVIDE (etext, .)
0x0000000008048ee5 PROVIDE (__etext, .)
0x0000000008048ee5 PROVIDE (_etext, .)
0x0000000008048ee5 PROVIDE (etext, .)
.rodata
*(.rodata .rodata.* .gnu.linkonce.r.*)
@@ -113,8 +113,8 @@ LOAD tmp/amd64-darwin.macho-main.o
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
0x0000000008048ea3 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x0000000008049ea3 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
0x0000000008048ee5 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x0000000008049ee5 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
.eh_frame
*(.eh_frame)
@@ -129,22 +129,22 @@ LOAD tmp/amd64-darwin.macho-main.o
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x0000000008049ea3 0x0
0x0000000008049ea3 PROVIDE (__preinit_array_start, .)
.preinit_array 0x0000000008049ee5 0x0
0x0000000008049ee5 PROVIDE (__preinit_array_start, .)
*(.preinit_array)
0x0000000008049ea3 PROVIDE (__preinit_array_end, .)
0x0000000008049ee5 PROVIDE (__preinit_array_end, .)
.init_array 0x0000000008049ea3 0x0
0x0000000008049ea3 PROVIDE (__init_array_start, .)
.init_array 0x0000000008049ee5 0x0
0x0000000008049ee5 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*))
*(.init_array)
0x0000000008049ea3 PROVIDE (__init_array_end, .)
0x0000000008049ee5 PROVIDE (__init_array_end, .)
.fini_array 0x0000000008049ea3 0x0
0x0000000008049ea3 PROVIDE (__fini_array_start, .)
.fini_array 0x0000000008049ee5 0x0
0x0000000008049ee5 PROVIDE (__fini_array_start, .)
*(.fini_array)
*(SORT(.fini_array.*))
0x0000000008049ea3 PROVIDE (__fini_array_end, .)
0x0000000008049ee5 PROVIDE (__fini_array_end, .)
.ctors
*crtbegin*.o(.ctors)
@@ -170,35 +170,35 @@ LOAD tmp/amd64-darwin.macho-main.o
.got
*(.got)
0x0000000008049ea3 . = (. DATA_SEGMENT_RELRO_END 0xc)
0x0000000008049ee5 . = (. DATA_SEGMENT_RELRO_END 0xc)
.got.plt
*(.got.plt)
.data 0x0000000008049ea4 0x0
.data 0x0000000008049ee8 0x0
*(.data .data.* .gnu.linkonce.d.*)
.data 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-fold.o
.data 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-main.o
.data 0x0000000008049ee8 0x0 tmp/amd64-darwin.macho-fold.o
.data 0x0000000008049ee8 0x0 tmp/amd64-darwin.macho-main.o
*(.gnu.linkonce.d.*personality*)
.data1
*(.data1)
0x0000000008049ea4 _edata = .
0x0000000008049ea4 PROVIDE (edata, .)
0x0000000008049ea4 __bss_start = .
0x0000000008049ee8 _edata = .
0x0000000008049ee8 PROVIDE (edata, .)
0x0000000008049ee8 __bss_start = .
.bss 0x0000000008049ea4 0x0
.bss 0x0000000008049ee8 0x0
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-fold.o
.bss 0x0000000008049ea4 0x0 tmp/amd64-darwin.macho-main.o
.bss 0x0000000008049ee8 0x0 tmp/amd64-darwin.macho-fold.o
.bss 0x0000000008049ee8 0x0 tmp/amd64-darwin.macho-main.o
*(COMMON)
0x0000000008049ea4 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000008049ea4 . = ALIGN (0x4)
0x0000000008049ea4 . = ALIGN (0x4)
0x0000000008049ea4 _end = .
0x0000000008049ea4 PROVIDE (end, .)
0x0000000008049ea4 . = DATA_SEGMENT_END (.)
0x0000000008049ee8 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000008049ee8 . = ALIGN (0x4)
0x0000000008049ee8 . = ALIGN (0x4)
0x0000000008049ee8 _end = .
0x0000000008049ee8 PROVIDE (end, .)
0x0000000008049ee8 . = DATA_SEGMENT_END (.)
.stab
*(.stab)
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
8 LZMA_DEC10 00000478 00000000 00000000 00000d80 2**0 CONTENTS, RELOC, READONLY
9 LZMA_DEC30 00000000 00000000 00000000 000011f8 2**0 CONTENTS, READONLY
10 MACHMAINY 00000000 00000000 00000000 000011f8 2**0 CONTENTS, READONLY
11 MACHMAINZ 0000018c 00000000 00000000 000011f8 2**0 CONTENTS, RELOC, READONLY
11 MACHMAINZ 00000184 00000000 00000000 000011f8 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d NRV2E 00000000 NRV2E
00000000 l d NRV2D 00000000 NRV2D
@@ -245,9 +245,9 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [MACHMAINZ]:
OFFSET TYPE VALUE
00000110 R_ARM_PC24 MACHMAINZ
0000011c R_ARM_PC24 MACHMAINZ
00000128 R_ARM_PC24 MACHMAINZ
00000140 R_ARM_PC24 MACHMAINZ
00000148 R_ARM_PC24 MACHMAINZ
00000188 R_ARM_PC24 MACHMAINZ
0000010c R_ARM_PC24 MACHMAINZ
00000118 R_ARM_PC24 MACHMAINZ
00000124 R_ARM_PC24 MACHMAINZ
0000013c R_ARM_PC24 MACHMAINZ
00000144 R_ARM_PC24 MACHMAINZ
00000180 R_ARM_PC24 MACHMAINZ
+47 -46
View File
@@ -72,32 +72,33 @@ LOAD tmp/arm.v5a-darwin.macho-main.o
.plt
*(.plt)
.text 0x0000000008048000 0x6a0
.text 0x0000000008048000 0xfa8
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000008048000 0x19c tmp/arm.v5a-darwin.macho-fold.o
0x0000000008048100 munmap
0x0000000008048170 bswap
0x0000000008048128 mmap
0x00000000080480b0 write
.text 0x0000000008048000 0x1d8 tmp/arm.v5a-darwin.macho-fold.o
0x0000000008048128 munmap
0x00000000080481ac bswap
0x0000000008048150 mmap
0x00000000080480d8 write
0x0000000008048000 _start
0x000000000804809c read
0x0000000008048088 spin
0x0000000008048150 pread
0x000000000804808c exit
0x00000000080480ec brk
0x00000000080480c4 open
0x0000000008048114 mprotect
0x00000000080480d8 close
.text 0x000000000804819c 0x504 tmp/arm.v5a-darwin.macho-main.o
0x0000000008048508 upx_main
0x00000000080480c4 read
0x00000000080480b0 spin
0x0000000008048188 pread
0x00000000080480b4 exit
0x0000000008048114 brk
0x00000000080480ec open
0x000000000804813c mprotect
0x0000000008048100 close
.text 0x00000000080481d8 0xdd0 tmp/arm.v5a-darwin.macho-main.o
0x00000000080487bc do_xmap
0x0000000008048d08 upx_main
*(.text.*personality*)
*(.gnu.warning)
.fini
*(.fini)
0x00000000080486a0 PROVIDE (__etext, .)
0x00000000080486a0 PROVIDE (_etext, .)
0x00000000080486a0 PROVIDE (etext, .)
0x0000000008048fa8 PROVIDE (__etext, .)
0x0000000008048fa8 PROVIDE (_etext, .)
0x0000000008048fa8 PROVIDE (etext, .)
.rodata
*(.rodata .rodata.* .gnu.linkonce.r.*)
@@ -113,8 +114,8 @@ LOAD tmp/arm.v5a-darwin.macho-main.o
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
0x00000000080486a0 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x00000000080496a0 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
0x0000000008048fa8 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x0000000008049fa8 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
.eh_frame
*(.eh_frame)
@@ -129,22 +130,22 @@ LOAD tmp/arm.v5a-darwin.macho-main.o
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x00000000080496a0 0x0
0x00000000080496a0 PROVIDE (__preinit_array_start, .)
.preinit_array 0x0000000008049fa8 0x0
0x0000000008049fa8 PROVIDE (__preinit_array_start, .)
*(.preinit_array)
0x00000000080496a0 PROVIDE (__preinit_array_end, .)
0x0000000008049fa8 PROVIDE (__preinit_array_end, .)
.init_array 0x00000000080496a0 0x0
0x00000000080496a0 PROVIDE (__init_array_start, .)
.init_array 0x0000000008049fa8 0x0
0x0000000008049fa8 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*))
*(.init_array)
0x00000000080496a0 PROVIDE (__init_array_end, .)
0x0000000008049fa8 PROVIDE (__init_array_end, .)
.fini_array 0x00000000080496a0 0x0
0x00000000080496a0 PROVIDE (__fini_array_start, .)
.fini_array 0x0000000008049fa8 0x0
0x0000000008049fa8 PROVIDE (__fini_array_start, .)
*(.fini_array)
*(SORT(.fini_array.*))
0x00000000080496a0 PROVIDE (__fini_array_end, .)
0x0000000008049fa8 PROVIDE (__fini_array_end, .)
.ctors
*crtbegin*.o(.ctors)
@@ -170,35 +171,35 @@ LOAD tmp/arm.v5a-darwin.macho-main.o
.got
*(.got)
0x00000000080496a0 . = (. DATA_SEGMENT_RELRO_END 0xc)
0x0000000008049fa8 . = (. DATA_SEGMENT_RELRO_END 0xc)
.got.plt
*(.got.plt)
.data 0x00000000080496a0 0x0
.data 0x0000000008049fa8 0x0
*(.data .data.* .gnu.linkonce.d.*)
.data 0x00000000080496a0 0x0 tmp/arm.v5a-darwin.macho-fold.o
.data 0x00000000080496a0 0x0 tmp/arm.v5a-darwin.macho-main.o
.data 0x0000000008049fa8 0x0 tmp/arm.v5a-darwin.macho-fold.o
.data 0x0000000008049fa8 0x0 tmp/arm.v5a-darwin.macho-main.o
*(.gnu.linkonce.d.*personality*)
.data1
*(.data1)
0x00000000080496a0 _edata = .
0x00000000080496a0 PROVIDE (edata, .)
0x00000000080496a0 __bss_start = .
0x0000000008049fa8 _edata = .
0x0000000008049fa8 PROVIDE (edata, .)
0x0000000008049fa8 __bss_start = .
.bss 0x00000000080496a0 0x0
.bss 0x0000000008049fa8 0x0
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x00000000080496a0 0x0 tmp/arm.v5a-darwin.macho-fold.o
.bss 0x00000000080496a0 0x0 tmp/arm.v5a-darwin.macho-main.o
.bss 0x0000000008049fa8 0x0 tmp/arm.v5a-darwin.macho-fold.o
.bss 0x0000000008049fa8 0x0 tmp/arm.v5a-darwin.macho-main.o
*(COMMON)
0x00000000080496a0 . = ALIGN ((. != 0x0)?0x4:0x1)
0x00000000080496a0 . = ALIGN (0x4)
0x00000000080496a0 . = ALIGN (0x4)
0x00000000080496a0 _end = .
0x00000000080496a0 PROVIDE (end, .)
0x00000000080496a0 . = DATA_SEGMENT_END (.)
0x0000000008049fa8 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000008049fa8 . = ALIGN (0x4)
0x0000000008049fa8 . = ALIGN (0x4)
0x0000000008049fa8 _end = .
0x0000000008049fa8 PROVIDE (end, .)
0x0000000008049fa8 . = DATA_SEGMENT_END (.)
.stab
*(.stab)
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn
8 LZMA_DEC10 0000049c 0000000000000000 0000000000000000 00000db4 2**0 CONTENTS, READONLY
9 LZMA_DEC30 00000000 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, READONLY
10 MACHMAINY 00000000 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, READONLY
11 MACHMAINZ 00000158 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, RELOC, READONLY
11 MACHMAINZ 00000150 0000000000000000 0000000000000000 00001250 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
0000000000000000 l d MACHMAINZ 0000000000000000 MACHMAINZ
@@ -44,4 +44,4 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [MACHMAINZ]:
OFFSET TYPE VALUE
0000000000000130 R_AARCH64_ADR_PREL_LO21 _start-0x0000000000000008
0000000000000128 R_AARCH64_ADR_PREL_LO21 _start-0x0000000000000008
+58 -58
View File
@@ -67,36 +67,36 @@ LOAD tmp/arm64-darwin.macho-main.o
*(.iplt)
.iplt 0x0000000000400080 0x0 tmp/arm64-darwin.macho-fold.o
.text 0x0000000000400078 0xfe4
.text 0x0000000000400078 0xffc
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000000400078 0x16c tmp/arm64-darwin.macho-fold.o
.text 0x0000000000400078 0x158 tmp/arm64-darwin.macho-fold.o
0x0000000000400078 _start
0x0000000000400130 spin
0x0000000000400134 exit
0x000000000040013c read
0x0000000000400148 write
0x0000000000400154 open
0x0000000000400170 close
0x000000000040017c brk
0x0000000000400188 munmap
0x0000000000400194 mprotect
0x00000000004001a0 mmap
0x00000000004001ac pread
0x00000000004001b8 bswap
.text 0x00000000004001e4 0xe78 tmp/arm64-darwin.macho-main.o
0x00000000004008ac do_xmap
0x0000000000400da4 upx_main
0x000000000040012c spin
0x0000000000400130 exit
0x0000000000400138 read
0x0000000000400144 write
0x0000000000400150 open
0x000000000040015c close
0x0000000000400168 brk
0x0000000000400174 munmap
0x0000000000400180 mprotect
0x000000000040018c mmap
0x0000000000400198 pread
0x00000000004001a4 bswap
.text 0x00000000004001d0 0xea4 tmp/arm64-darwin.macho-main.o
0x0000000000400898 do_xmap
0x0000000000400dbc upx_main
*(.gnu.warning)
.fini
*(SORT(.fini))
0x000000000040105c PROVIDE (__etext, .)
0x000000000040105c PROVIDE (_etext, .)
0x000000000040105c PROVIDE (etext, .)
0x0000000000401074 PROVIDE (__etext, .)
0x0000000000401074 PROVIDE (_etext, .)
0x0000000000401074 PROVIDE (etext, .)
.rodata
*(.rodata .rodata.* .gnu.linkonce.r.*)
@@ -107,9 +107,9 @@ LOAD tmp/arm64-darwin.macho-main.o
.eh_frame_hdr
*(.eh_frame_hdr)
.eh_frame 0x0000000000401060 0x1c8
.eh_frame 0x0000000000401078 0x1c8
*(.eh_frame)
.eh_frame 0x0000000000401060 0x1c8 tmp/arm64-darwin.macho-main.o
.eh_frame 0x0000000000401078 0x1c8 tmp/arm64-darwin.macho-main.o
0x1b8 (size before relaxing)
.gcc_except_table
@@ -117,8 +117,8 @@ LOAD tmp/arm64-darwin.macho-main.o
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x0000000000401228 . = (ALIGN (0x10000) - ((0x10000 - .) & 0xffff))
0x0000000000411228 . = DATA_SEGMENT_ALIGN (0x10000, 0x1000)
0x0000000000401240 . = (ALIGN (0x10000) - ((0x10000 - .) & 0xffff))
0x0000000000411240 . = DATA_SEGMENT_ALIGN (0x10000, 0x1000)
.eh_frame
*(.eh_frame)
@@ -136,22 +136,22 @@ LOAD tmp/arm64-darwin.macho-main.o
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x0000000000411228 0x0
0x0000000000411228 PROVIDE (__preinit_array_start, .)
.preinit_array 0x0000000000411240 0x0
0x0000000000411240 PROVIDE (__preinit_array_start, .)
*(.preinit_array)
0x0000000000411228 PROVIDE (__preinit_array_end, .)
0x0000000000411240 PROVIDE (__preinit_array_end, .)
.init_array 0x0000000000411228 0x0
0x0000000000411228 PROVIDE (__init_array_start, .)
.init_array 0x0000000000411240 0x0
0x0000000000411240 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*))
*(.init_array)
0x0000000000411228 PROVIDE (__init_array_end, .)
0x0000000000411240 PROVIDE (__init_array_end, .)
.fini_array 0x0000000000411228 0x0
0x0000000000411228 PROVIDE (__fini_array_start, .)
.fini_array 0x0000000000411240 0x0
0x0000000000411240 PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*))
*(.fini_array)
0x0000000000411228 PROVIDE (__fini_array_end, .)
0x0000000000411240 PROVIDE (__fini_array_end, .)
.ctors
*crtbegin.o(.ctors)
@@ -180,43 +180,43 @@ LOAD tmp/arm64-darwin.macho-main.o
.got
*(.got)
*(.igot)
0x0000000000411228 . = DATA_SEGMENT_RELRO_END (., 0x18)
0x0000000000411240 . = DATA_SEGMENT_RELRO_END (., 0x18)
.got.plt 0x0000000000411228 0x0
.got.plt 0x0000000000411240 0x0
*(.got.plt)
*(.igot.plt)
.igot.plt 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.igot.plt 0x0000000000411240 0x0 tmp/arm64-darwin.macho-fold.o
.data 0x0000000000411228 0x0
0x0000000000411228 PROVIDE (__data_start, .)
.data 0x0000000000411240 0x0
0x0000000000411240 PROVIDE (__data_start, .)
*(.data .data.* .gnu.linkonce.d.*)
.data 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.data 0x0000000000411228 0x0 tmp/arm64-darwin.macho-main.o
.data 0x0000000000411240 0x0 tmp/arm64-darwin.macho-fold.o
.data 0x0000000000411240 0x0 tmp/arm64-darwin.macho-main.o
.data1
*(.data1)
0x0000000000411228 _edata = .
0x0000000000411228 PROVIDE (edata, .)
0x0000000000411228 . = .
0x0000000000411228 __bss_start = .
0x0000000000411228 __bss_start__ = .
0x0000000000411240 _edata = .
0x0000000000411240 PROVIDE (edata, .)
0x0000000000411240 . = .
0x0000000000411240 __bss_start = .
0x0000000000411240 __bss_start__ = .
.bss 0x0000000000411228 0x0
.bss 0x0000000000411240 0x0
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x0000000000411228 0x0 tmp/arm64-darwin.macho-fold.o
.bss 0x0000000000411228 0x0 tmp/arm64-darwin.macho-main.o
.bss 0x0000000000411240 0x0 tmp/arm64-darwin.macho-fold.o
.bss 0x0000000000411240 0x0 tmp/arm64-darwin.macho-main.o
*(COMMON)
0x0000000000411228 . = ALIGN ((. != 0x0)?0x8:0x1)
0x0000000000411228 _bss_end__ = .
0x0000000000411228 __bss_end__ = .
0x0000000000411228 . = ALIGN (0x8)
0x0000000000411228 . = SEGMENT_START ("ldata-segment", .)
0x0000000000411228 . = ALIGN (0x8)
0x0000000000411228 __end__ = .
0x0000000000411228 _end = .
0x0000000000411228 PROVIDE (end, .)
0x0000000000411228 . = DATA_SEGMENT_END (.)
0x0000000000411240 . = ALIGN ((. != 0x0)?0x8:0x1)
0x0000000000411240 _bss_end__ = .
0x0000000000411240 __bss_end__ = .
0x0000000000411240 . = ALIGN (0x8)
0x0000000000411240 . = SEGMENT_START ("ldata-segment", .)
0x0000000000411240 . = ALIGN (0x8)
0x0000000000411240 __end__ = .
0x0000000000411240 _end = .
0x0000000000411240 PROVIDE (end, .)
0x0000000000411240 . = DATA_SEGMENT_END (.)
.stab
*(.stab)