1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

don't erase AT_SYSINFO* if no conflict with decompressed folded stub

This commit is contained in:
John Reiser 2010-07-17 08:19:50 -07:00
parent 3cb61402c2
commit e3cc5a63df
3 changed files with 1974 additions and 1968 deletions

File diff suppressed because it is too large Load Diff

View File

@ -127,7 +127,8 @@ section LEXEC017
section LEXEC020
#define PAGE_SIZE ( 1<<12)
#define PAGE_SHIFT 12
#define PAGE_SIZE ( 1 << PAGE_SHIFT)
#define MAP_FIXED 0x10
#define MAP_PRIVATE 0x02
@ -202,7 +203,11 @@ AT_SYSINFO_EHDR=33
subb al,AT_SYSINFO
cmpb al,AT_SYSINFO_EHDR - AT_SYSINFO
lodsd
ja 2b; movb [esi - 2*4],AT_IGNORE
ja 2b // not AT_SYSINFO*
xor eax,[esp]
shr eax,PAGE_SHIFT
jne 2b // no conflict with decompressed fold_elf86
movb [esi - 2*4],AT_IGNORE
jmp 2b
5:
pop eax

View File

@ -170,10 +170,10 @@ Idx Name Size VMA LMA File off Algn Flags
165 ctok32.40 00000005 00000000 00000000 00001ab1 2**0 CONTENTS, RELOC, READONLY
166 LEXEC017 00000002 00000000 00000000 00001ab6 2**0 CONTENTS, READONLY
167 LEXEC020 0000004c 00000000 00000000 00001ab8 2**0 CONTENTS, READONLY
168 LEXECDYN 00000021 00000000 00000000 00001b04 2**0 CONTENTS, READONLY
169 LUNMP000 00000002 00000000 00000000 00001b25 2**0 CONTENTS, READONLY
170 LUNMP001 00000002 00000000 00000000 00001b27 2**0 CONTENTS, READONLY
171 LEXEC025 0000003a 00000000 00000000 00001b29 2**0 CONTENTS, RELOC, READONLY
168 LEXECDYN 00000029 00000000 00000000 00001b04 2**0 CONTENTS, READONLY
169 LUNMP000 00000002 00000000 00000000 00001b2d 2**0 CONTENTS, READONLY
170 LUNMP001 00000002 00000000 00000000 00001b2f 2**0 CONTENTS, READONLY
171 LEXEC025 0000003a 00000000 00000000 00001b31 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d N2BSMA10 00000000 N2BSMA10
00000000 l d N2BFAS11 00000000 N2BFAS11