pe64: saved a few bytes in the nrv decompressors
This commit is contained in:
+1304
-1316
File diff suppressed because it is too large
Load Diff
@@ -177,13 +177,24 @@ setup:
|
||||
#define NO_METHOD_CHECK
|
||||
|
||||
section NRV2B
|
||||
#define eof eofb
|
||||
#include "arch/amd64/nrv2b_d.S"
|
||||
section NRV2D
|
||||
#include "arch/amd64/nrv2d_d.S"
|
||||
section NRV2E
|
||||
#include "arch/amd64/nrv2e_d.S"
|
||||
#undef len
|
||||
eofb:
|
||||
|
||||
section NRV2D
|
||||
#undef eof
|
||||
#define eof eofd
|
||||
#include "arch/amd64/nrv2d_d.S"
|
||||
eofd:
|
||||
|
||||
section NRV2E
|
||||
#undef eof
|
||||
#define eof eofe
|
||||
#include "arch/amd64/nrv2e_d.S"
|
||||
eofe:
|
||||
|
||||
#undef eof
|
||||
#undef len
|
||||
.intel_syntax noprefix
|
||||
section LZMA_HEAD
|
||||
mov eax, IMM32(lzma_u_len)
|
||||
@@ -203,7 +214,6 @@ section LZMA_TAIL
|
||||
pop rax
|
||||
// =============
|
||||
section PEMAIN10
|
||||
eof:
|
||||
pop rsi // load vaddr
|
||||
|
||||
section PETLSHAK2 // restore the TLS index
|
||||
@@ -383,6 +393,7 @@ section PEDEPHAK
|
||||
|
||||
push rax // provide 8 bytes stack
|
||||
mov r9, rsp
|
||||
// FIXME push 4; pop r8
|
||||
mov r8d, 4 // PAGE_READWRITE
|
||||
mov rdx, rbx // size
|
||||
mov rcx, rdi // address
|
||||
|
||||
@@ -12,49 +12,48 @@ Idx Name Size VMA LMA File off Algn
|
||||
7 PEMAIN02 00000001 0000000000000000 0000000000000000 0000008a 2**0 CONTENTS, READONLY
|
||||
8 PEMAIN03 00000000 0000000000000000 0000000000000000 0000008b 2**0 CONTENTS, READONLY
|
||||
9 NRV_HEAD 00000060 0000000000000000 0000000000000000 0000008b 2**0 CONTENTS, READONLY
|
||||
10 NRV2B 00000087 0000000000000000 0000000000000000 000000eb 2**0 CONTENTS, RELOC, READONLY
|
||||
11 NRV2D 00000095 0000000000000000 0000000000000000 00000172 2**0 CONTENTS, RELOC, READONLY
|
||||
12 NRV2E 000000ae 0000000000000000 0000000000000000 00000207 2**0 CONTENTS, RELOC, READONLY
|
||||
13 LZMA_HEAD 00000014 0000000000000000 0000000000000000 000002b5 2**0 CONTENTS, RELOC, READONLY
|
||||
14 LZMA_ELF00 0000005a 0000000000000000 0000000000000000 000002c9 2**0 CONTENTS, READONLY
|
||||
15 LZMA_DEC10 000009f7 0000000000000000 0000000000000000 00000323 2**0 CONTENTS, READONLY
|
||||
16 LZMA_DEC20 000009f7 0000000000000000 0000000000000000 00000d1a 2**0 CONTENTS, READONLY
|
||||
17 LZMA_DEC30 00000014 0000000000000000 0000000000000000 00001711 2**0 CONTENTS, READONLY
|
||||
18 LZMA_TAIL 00000002 0000000000000000 0000000000000000 00001725 2**0 CONTENTS, READONLY
|
||||
19 PEMAIN10 00000001 0000000000000000 0000000000000000 00001727 2**0 CONTENTS, READONLY
|
||||
20 PETLSHAK2 00000004 0000000000000000 0000000000000000 00001728 2**0 CONTENTS, READONLY
|
||||
21 PECTTPOS 00000007 0000000000000000 0000000000000000 0000172c 2**0 CONTENTS, RELOC, READONLY
|
||||
22 PECTTNUL 00000003 0000000000000000 0000000000000000 00001733 2**0 CONTENTS, READONLY
|
||||
23 PEFILTER49 0000004e 0000000000000000 0000000000000000 00001736 2**0 CONTENTS, RELOC, READONLY
|
||||
24 PEIMPORT 00000034 0000000000000000 0000000000000000 00001784 2**0 CONTENTS, RELOC, READONLY
|
||||
25 PEIBYORD 00000002 0000000000000000 0000000000000000 000017b8 2**0 CONTENTS, RELOC, READONLY
|
||||
26 PEK32ORD 00000012 0000000000000000 0000000000000000 000017ba 2**0 CONTENTS, RELOC, READONLY
|
||||
27 PEIMORD1 0000000a 0000000000000000 0000000000000000 000017cc 2**0 CONTENTS, RELOC, READONLY
|
||||
28 PEIMPOR2 00000021 0000000000000000 0000000000000000 000017d6 2**0 CONTENTS, RELOC, READONLY
|
||||
29 PEIERDLL 0000000b 0000000000000000 0000000000000000 000017f7 2**0 CONTENTS, READONLY
|
||||
30 PEIEREXE 00000006 0000000000000000 0000000000000000 00001802 2**0 CONTENTS, RELOC, READONLY
|
||||
31 PEIMDONE 00000004 0000000000000000 0000000000000000 00001808 2**0 CONTENTS, READONLY
|
||||
32 PERELOC1 00000007 0000000000000000 0000000000000000 0000180c 2**0 CONTENTS, RELOC, READONLY
|
||||
33 PERELOC2 00000004 0000000000000000 0000000000000000 00001813 2**0 CONTENTS, READONLY
|
||||
34 PERELOC3 00000030 0000000000000000 0000000000000000 00001817 2**0 CONTENTS, RELOC, READONLY
|
||||
35 REL64BIG 0000000a 0000000000000000 0000000000000000 00001847 2**0 CONTENTS, RELOC, READONLY
|
||||
36 RELOC64J 00000002 0000000000000000 0000000000000000 00001851 2**0 CONTENTS, RELOC, READONLY
|
||||
37 PERLOHI0 0000000a 0000000000000000 0000000000000000 00001853 2**0 CONTENTS, RELOC, READONLY
|
||||
38 PERELLO0 0000000b 0000000000000000 0000000000000000 0000185d 2**0 CONTENTS, READONLY
|
||||
39 PERELHI0 0000000e 0000000000000000 0000000000000000 00001868 2**0 CONTENTS, READONLY
|
||||
40 PEDEPHAK 0000004b 0000000000000000 0000000000000000 00001876 2**0 CONTENTS, RELOC, READONLY
|
||||
41 PETLSC 0000001b 0000000000000000 0000000000000000 000018c1 2**0 CONTENTS, RELOC, READONLY
|
||||
42 PEMAIN20 00000004 0000000000000000 0000000000000000 000018dc 2**0 CONTENTS, READONLY
|
||||
43 CLEARSTACK 00000010 0000000000000000 0000000000000000 000018e0 2**0 CONTENTS, READONLY
|
||||
44 PEMAIN21 00000000 0000000000000000 0000000000000000 000018f0 2**0 CONTENTS, READONLY
|
||||
45 PEISDLL9 0000000f 0000000000000000 0000000000000000 000018f0 2**0 CONTENTS, READONLY
|
||||
46 PERETURN 00000004 0000000000000000 0000000000000000 000018ff 2**0 CONTENTS, READONLY
|
||||
47 PEDOJUMP 00000005 0000000000000000 0000000000000000 00001903 2**0 CONTENTS, RELOC, READONLY
|
||||
48 PETLSC2 00000026 0000000000000000 0000000000000000 00001908 2**0 CONTENTS, RELOC, READONLY
|
||||
49 UPX1HEAD 00000020 0000000000000000 0000000000000000 0000192e 2**0 CONTENTS, READONLY
|
||||
10 NRV2B 00000083 0000000000000000 0000000000000000 000000eb 2**0 CONTENTS, RELOC, READONLY
|
||||
11 NRV2D 00000091 0000000000000000 0000000000000000 0000016e 2**0 CONTENTS, RELOC, READONLY
|
||||
12 NRV2E 000000aa 0000000000000000 0000000000000000 000001ff 2**0 CONTENTS, RELOC, READONLY
|
||||
13 LZMA_HEAD 00000014 0000000000000000 0000000000000000 000002a9 2**0 CONTENTS, RELOC, READONLY
|
||||
14 LZMA_ELF00 0000005a 0000000000000000 0000000000000000 000002bd 2**0 CONTENTS, READONLY
|
||||
15 LZMA_DEC10 000009f7 0000000000000000 0000000000000000 00000317 2**0 CONTENTS, READONLY
|
||||
16 LZMA_DEC20 000009f7 0000000000000000 0000000000000000 00000d0e 2**0 CONTENTS, READONLY
|
||||
17 LZMA_DEC30 00000014 0000000000000000 0000000000000000 00001705 2**0 CONTENTS, READONLY
|
||||
18 LZMA_TAIL 00000002 0000000000000000 0000000000000000 00001719 2**0 CONTENTS, READONLY
|
||||
19 PEMAIN10 00000001 0000000000000000 0000000000000000 0000171b 2**0 CONTENTS, READONLY
|
||||
20 PETLSHAK2 00000004 0000000000000000 0000000000000000 0000171c 2**0 CONTENTS, READONLY
|
||||
21 PECTTPOS 00000007 0000000000000000 0000000000000000 00001720 2**0 CONTENTS, RELOC, READONLY
|
||||
22 PECTTNUL 00000003 0000000000000000 0000000000000000 00001727 2**0 CONTENTS, READONLY
|
||||
23 PEFILTER49 0000004e 0000000000000000 0000000000000000 0000172a 2**0 CONTENTS, RELOC, READONLY
|
||||
24 PEIMPORT 00000034 0000000000000000 0000000000000000 00001778 2**0 CONTENTS, RELOC, READONLY
|
||||
25 PEIBYORD 00000002 0000000000000000 0000000000000000 000017ac 2**0 CONTENTS, RELOC, READONLY
|
||||
26 PEK32ORD 00000012 0000000000000000 0000000000000000 000017ae 2**0 CONTENTS, RELOC, READONLY
|
||||
27 PEIMORD1 0000000a 0000000000000000 0000000000000000 000017c0 2**0 CONTENTS, RELOC, READONLY
|
||||
28 PEIMPOR2 00000021 0000000000000000 0000000000000000 000017ca 2**0 CONTENTS, RELOC, READONLY
|
||||
29 PEIERDLL 0000000b 0000000000000000 0000000000000000 000017eb 2**0 CONTENTS, READONLY
|
||||
30 PEIEREXE 00000006 0000000000000000 0000000000000000 000017f6 2**0 CONTENTS, RELOC, READONLY
|
||||
31 PEIMDONE 00000004 0000000000000000 0000000000000000 000017fc 2**0 CONTENTS, READONLY
|
||||
32 PERELOC1 00000007 0000000000000000 0000000000000000 00001800 2**0 CONTENTS, RELOC, READONLY
|
||||
33 PERELOC2 00000004 0000000000000000 0000000000000000 00001807 2**0 CONTENTS, READONLY
|
||||
34 PERELOC3 00000030 0000000000000000 0000000000000000 0000180b 2**0 CONTENTS, RELOC, READONLY
|
||||
35 REL64BIG 0000000a 0000000000000000 0000000000000000 0000183b 2**0 CONTENTS, RELOC, READONLY
|
||||
36 RELOC64J 00000002 0000000000000000 0000000000000000 00001845 2**0 CONTENTS, RELOC, READONLY
|
||||
37 PERLOHI0 0000000a 0000000000000000 0000000000000000 00001847 2**0 CONTENTS, RELOC, READONLY
|
||||
38 PERELLO0 0000000b 0000000000000000 0000000000000000 00001851 2**0 CONTENTS, READONLY
|
||||
39 PERELHI0 0000000e 0000000000000000 0000000000000000 0000185c 2**0 CONTENTS, READONLY
|
||||
40 PEDEPHAK 0000004b 0000000000000000 0000000000000000 0000186a 2**0 CONTENTS, RELOC, READONLY
|
||||
41 PETLSC 0000001b 0000000000000000 0000000000000000 000018b5 2**0 CONTENTS, RELOC, READONLY
|
||||
42 PEMAIN20 00000004 0000000000000000 0000000000000000 000018d0 2**0 CONTENTS, READONLY
|
||||
43 CLEARSTACK 00000010 0000000000000000 0000000000000000 000018d4 2**0 CONTENTS, READONLY
|
||||
44 PEMAIN21 00000000 0000000000000000 0000000000000000 000018e4 2**0 CONTENTS, READONLY
|
||||
45 PEISDLL9 0000000f 0000000000000000 0000000000000000 000018e4 2**0 CONTENTS, READONLY
|
||||
46 PERETURN 00000004 0000000000000000 0000000000000000 000018f3 2**0 CONTENTS, READONLY
|
||||
47 PEDOJUMP 00000005 0000000000000000 0000000000000000 000018f7 2**0 CONTENTS, RELOC, READONLY
|
||||
48 PETLSC2 00000026 0000000000000000 0000000000000000 000018fc 2**0 CONTENTS, RELOC, READONLY
|
||||
49 UPX1HEAD 00000020 0000000000000000 0000000000000000 00001922 2**0 CONTENTS, READONLY
|
||||
SYMBOL TABLE:
|
||||
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
|
||||
0000000000000000 l d PEMAIN10 0000000000000000 PEMAIN10
|
||||
0000000000000000 l PEIMDONE 0000000000000000 imports_done
|
||||
000000000000002b l PEIMPORT 0000000000000000 next_func
|
||||
000000000000000a l PEIMORD1 0000000000000000 byname
|
||||
@@ -82,6 +81,7 @@ SYMBOL TABLE:
|
||||
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
|
||||
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
|
||||
0000000000000000 l d LZMA_TAIL 0000000000000000 LZMA_TAIL
|
||||
0000000000000000 l d PEMAIN10 0000000000000000 PEMAIN10
|
||||
0000000000000000 l d PETLSHAK2 0000000000000000 PETLSHAK2
|
||||
0000000000000000 l d PECTTPOS 0000000000000000 PECTTPOS
|
||||
0000000000000000 l d PECTTNUL 0000000000000000 PECTTNUL
|
||||
@@ -162,18 +162,15 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2B]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000081 R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
0000000000000049 R_X86_64_PC32 PEMAIN10-0x0000000000000004
|
||||
000000000000007d R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2D]:
|
||||
OFFSET TYPE VALUE
|
||||
000000000000008c R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
0000000000000052 R_X86_64_PC32 PEMAIN10-0x0000000000000004
|
||||
0000000000000088 R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000a5 R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
0000000000000052 R_X86_64_PC32 PEMAIN10-0x0000000000000004
|
||||
00000000000000a1 R_X86_64_PC32 NRV_HEAD+0x000000000000001b
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_HEAD]:
|
||||
OFFSET TYPE VALUE
|
||||
|
||||
Reference in New Issue
Block a user