dos/exe: nrv2b compressed lzma decompressor added

This commit is contained in:
László Molnár
2007-02-23 13:34:12 +01:00
parent 12bcb09051
commit 816d882611
6 changed files with 2180 additions and 1656 deletions
+177 -67
View File
@@ -2,72 +2,103 @@ tmp/i086-dos16.exe.bin: file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 DEVICEENTRY 00000030 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
1 EXEENTRY 0000001c 00000000 00000000 00000064 2**0 CONTENTS, RELOC, READONLY
2 DEVICESUB 00000005 00000000 00000000 00000080 2**0 CONTENTS, RELOC, READONLY
3 EXESUB 00000005 00000000 00000000 00000085 2**0 CONTENTS, READONLY
4 JNCDOCOPY 00000005 00000000 00000000 0000008a 2**0 CONTENTS, RELOC, READONLY
5 EXERELPU 00000001 00000000 00000000 0000008f 2**0 CONTENTS, READONLY
6 EXEMAIN4 0000000e 00000000 00000000 00000090 2**0 CONTENTS, RELOC, READONLY
7 UPX1HEAD 0000001b 00000000 00000000 0000009e 2**0 CONTENTS, READONLY
8 EXECUTPO 00000000 00000000 00000000 000000b9 2**0 CONTENTS, READONLY
9 NRV2B16S 0000000d 00000000 00000000 000000b9 2**0 CONTENTS, RELOC, READONLY
10 N2B64K01 0000000b 00000000 00000000 000000c6 2**0 CONTENTS, READONLY
11 NRV2BEX1 0000000b 00000000 00000000 000000d1 2**0 CONTENTS, RELOC, READONLY
12 N2BX8601 00000008 00000000 00000000 000000dc 2**0 CONTENTS, READONLY
13 N2B28601 00000003 00000000 00000000 000000e4 2**0 CONTENTS, READONLY
14 NRV2BEX2 00000031 00000000 00000000 000000e7 2**0 CONTENTS, RELOC, READONLY
15 N2BX8602 0000000e 00000000 00000000 00000118 2**0 CONTENTS, READONLY
16 N2B28602 00000006 00000000 00000000 00000126 2**0 CONTENTS, READONLY
17 NRV2BEX3 00000015 00000000 00000000 0000012c 2**0 CONTENTS, RELOC, READONLY
18 N2B64K02 0000000b 00000000 00000000 00000141 2**0 CONTENTS, READONLY
19 NRV2BEX9 00000004 00000000 00000000 0000014c 2**0 CONTENTS, READONLY
20 NRV2D16S 0000000d 00000000 00000000 00000150 2**0 CONTENTS, RELOC, READONLY
21 N2D64K01 0000000b 00000000 00000000 0000015d 2**0 CONTENTS, READONLY
22 NRV2DEX1 00000013 00000000 00000000 00000168 2**0 CONTENTS, RELOC, READONLY
23 N2DX8601 00000006 00000000 00000000 0000017b 2**0 CONTENTS, READONLY
24 N2D28601 00000003 00000000 00000000 00000181 2**0 CONTENTS, READONLY
25 NRV2DEX2 00000039 00000000 00000000 00000184 2**0 CONTENTS, RELOC, READONLY
26 N2DX8602 0000000e 00000000 00000000 000001bd 2**0 CONTENTS, READONLY
27 N2D28602 00000006 00000000 00000000 000001cb 2**0 CONTENTS, READONLY
28 NRV2DEX3 00000015 00000000 00000000 000001d1 2**0 CONTENTS, RELOC, READONLY
29 N2D64K02 0000000b 00000000 00000000 000001e6 2**0 CONTENTS, READONLY
30 NRV2DEX9 00000004 00000000 00000000 000001f1 2**0 CONTENTS, READONLY
31 NRV2E16S 0000000d 00000000 00000000 000001f5 2**0 CONTENTS, RELOC, READONLY
32 N2E64K01 0000000b 00000000 00000000 00000202 2**0 CONTENTS, READONLY
33 NRV2EEX1 00000013 00000000 00000000 0000020d 2**0 CONTENTS, RELOC, READONLY
34 N2EX8601 00000006 00000000 00000000 00000220 2**0 CONTENTS, READONLY
35 N2E28601 00000003 00000000 00000000 00000226 2**0 CONTENTS, READONLY
36 NRV2EEX2 0000003e 00000000 00000000 00000229 2**0 CONTENTS, RELOC, READONLY
37 N2EX8602 0000000e 00000000 00000000 00000267 2**0 CONTENTS, READONLY
38 N2E28602 00000006 00000000 00000000 00000275 2**0 CONTENTS, READONLY
39 NRV2EEX3 00000015 00000000 00000000 0000027b 2**0 CONTENTS, RELOC, READONLY
40 N2E64K02 0000000b 00000000 00000000 00000290 2**0 CONTENTS, READONLY
41 NRV2EEX9 00000004 00000000 00000000 0000029b 2**0 CONTENTS, READONLY
42 LZMA_DEC99 00000000 00000000 00000000 0000029f 2**0 CONTENTS, READONLY
43 LZMA_DEC00 0000003b 00000000 00000000 0000029f 2**0 CONTENTS, RELOC, READONLY
44 ignore_reloc_overflow 00000008 00000000 00000000 000002da 2**0 CONTENTS, RELOC, READONLY
45 LZMA_DEC10 000011a4 00000000 00000000 000002e2 2**0 CONTENTS, READONLY
46 LZMA_DEC20 000011a4 00000000 00000000 00001486 2**0 CONTENTS, READONLY
47 LZMA_DEC30 00000006 00000000 00000000 0000262a 2**0 CONTENTS, RELOC, READONLY
48 LZMA_DEC31 00000007 00000000 00000000 00002630 2**0 CONTENTS, RELOC, READONLY
49 EXEMAIN5 00000001 00000000 00000000 00002637 2**0 CONTENTS, READONLY
50 EXEADJUS 00000007 00000000 00000000 00002638 2**0 CONTENTS, READONLY
51 EXENOADJ 00000002 00000000 00000000 0000263f 2**0 CONTENTS, READONLY
52 EXERELO1 0000001e 00000000 00000000 00002641 2**0 CONTENTS, RELOC, READONLY
53 EXEREL9A 00000012 00000000 00000000 0000265f 2**0 CONTENTS, RELOC, READONLY
54 EXERELO2 00000004 00000000 00000000 00002671 2**0 CONTENTS, READONLY
55 EXEREBIG 00000002 00000000 00000000 00002675 2**0 CONTENTS, RELOC, READONLY
56 EXERELO3 00000002 00000000 00000000 00002677 2**0 CONTENTS, RELOC, READONLY
57 EXEMAIN8 00000003 00000000 00000000 00002679 2**0 CONTENTS, READONLY
58 DEVICEEND 00000013 00000000 00000000 0000267c 2**0 CONTENTS, READONLY
59 EXESTACK 00000006 00000000 00000000 0000268f 2**0 CONTENTS, RELOC, READONLY
60 EXESTASP 00000003 00000000 00000000 00002695 2**0 CONTENTS, RELOC, READONLY
61 EXEJUMPF 00000005 00000000 00000000 00002698 2**0 CONTENTS, RELOC, READONLY
62 EXERCSPO 00000004 00000000 00000000 0000269d 2**0 CONTENTS, RELOC, READONLY
63 EXERETIP 00000006 00000000 00000000 000026a1 2**0 CONTENTS, RELOC, READONLY
0 DEVICEENTRY 0000002d 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
1 LZMADEVICE 00000005 00000000 00000000 00000061 2**0 CONTENTS, RELOC, READONLY
2 DEVICEENTRY2 00000003 00000000 00000000 00000066 2**0 CONTENTS, READONLY
3 LZMAENTRY 00000011 00000000 00000000 00000069 2**0 CONTENTS, RELOC, READONLY
4 NRV2B160 0000000a 00000000 00000000 0000007a 2**0 CONTENTS, RELOC, READONLY
5 NRVDDONE 00000002 00000000 00000000 00000084 2**0 CONTENTS, RELOC, READONLY
6 NRVDRETU 00000002 00000000 00000000 00000086 2**0 CONTENTS, RELOC, READONLY
7 NRVDECO1 0000001e 00000000 00000000 00000088 2**0 CONTENTS, RELOC, READONLY
8 NRVLED00 00000001 00000000 00000000 000000a6 2**0 CONTENTS, READONLY
9 NRVGTD00 00000007 00000000 00000000 000000a7 2**0 CONTENTS, READONLY
10 NRVDECO2 00000017 00000000 00000000 000000ae 2**0 CONTENTS, RELOC, READONLY
11 CALLTR16 0000000b 00000000 00000000 000000c5 2**0 CONTENTS, RELOC, READONLY
12 CT16I286 00000003 00000000 00000000 000000d0 2**0 CONTENTS, READONLY
13 CT16SUB0 00000002 00000000 00000000 000000d3 2**0 CONTENTS, READONLY
14 CT16I086 00000008 00000000 00000000 000000d5 2**0 CONTENTS, READONLY
15 CALLTRI2 00000003 00000000 00000000 000000dd 2**0 CONTENTS, RELOC, READONLY
16 CT16E800 00000002 00000000 00000000 000000e0 2**0 CONTENTS, READONLY
17 CT16E900 00000002 00000000 00000000 000000e2 2**0 CONTENTS, READONLY
18 CALLTRI5 00000006 00000000 00000000 000000e4 2**0 CONTENTS, RELOC, READONLY
19 CT16JEND 00000002 00000000 00000000 000000ea 2**0 CONTENTS, RELOC, READONLY
20 CT16JUL2 00000002 00000000 00000000 000000ec 2**0 CONTENTS, RELOC, READONLY
21 CT16I287 00000003 00000000 00000000 000000ee 2**0 CONTENTS, READONLY
22 CT16SUB1 00000002 00000000 00000000 000000f1 2**0 CONTENTS, READONLY
23 CT16I087 00000008 00000000 00000000 000000f3 2**0 CONTENTS, READONLY
24 CALLTRI6 00000003 00000000 00000000 000000fb 2**0 CONTENTS, RELOC, READONLY
25 EXEENTRY 0000001c 00000000 00000000 000000fe 2**0 CONTENTS, RELOC, READONLY
26 LONGSUB 00000006 00000000 00000000 0000011a 2**0 CONTENTS, RELOC, READONLY
27 SHORTSUB 00000005 00000000 00000000 00000120 2**0 CONTENTS, RELOC, READONLY
28 JNCDOCOPY 00000005 00000000 00000000 00000125 2**0 CONTENTS, RELOC, READONLY
29 EXERELPU 00000001 00000000 00000000 0000012a 2**0 CONTENTS, READONLY
30 EXEMAIN4 0000000e 00000000 00000000 0000012b 2**0 CONTENTS, RELOC, READONLY
31 COMPRESSED_LZMA_START 00000000 00000000 00000000 00000139 2**0 CONTENTS, READONLY
32 UPX1HEAD 0000001b 00000000 00000000 00000139 2**0 CONTENTS, READONLY
33 EXECUTPO 00000000 00000000 00000000 00000154 2**0 CONTENTS, READONLY
34 NRV2B16S 0000000d 00000000 00000000 00000154 2**0 CONTENTS, RELOC, READONLY
35 N2B64K01 0000000b 00000000 00000000 00000161 2**0 CONTENTS, READONLY
36 NRV2BEX1 0000000b 00000000 00000000 0000016c 2**0 CONTENTS, RELOC, READONLY
37 N2BX8601 00000008 00000000 00000000 00000177 2**0 CONTENTS, READONLY
38 N2B28601 00000003 00000000 00000000 0000017f 2**0 CONTENTS, READONLY
39 NRV2BEX2 00000031 00000000 00000000 00000182 2**0 CONTENTS, RELOC, READONLY
40 N2BX8602 0000000e 00000000 00000000 000001b3 2**0 CONTENTS, READONLY
41 N2B28602 00000006 00000000 00000000 000001c1 2**0 CONTENTS, READONLY
42 NRV2BEX3 00000015 00000000 00000000 000001c7 2**0 CONTENTS, RELOC, READONLY
43 N2B64K02 0000000b 00000000 00000000 000001dc 2**0 CONTENTS, READONLY
44 NRV2BEX9 00000004 00000000 00000000 000001e7 2**0 CONTENTS, READONLY
45 NRV2D16S 0000000d 00000000 00000000 000001eb 2**0 CONTENTS, RELOC, READONLY
46 N2D64K01 0000000b 00000000 00000000 000001f8 2**0 CONTENTS, READONLY
47 NRV2DEX1 00000013 00000000 00000000 00000203 2**0 CONTENTS, RELOC, READONLY
48 N2DX8601 00000006 00000000 00000000 00000216 2**0 CONTENTS, READONLY
49 N2D28601 00000003 00000000 00000000 0000021c 2**0 CONTENTS, READONLY
50 NRV2DEX2 00000039 00000000 00000000 0000021f 2**0 CONTENTS, RELOC, READONLY
51 N2DX8602 0000000e 00000000 00000000 00000258 2**0 CONTENTS, READONLY
52 N2D28602 00000006 00000000 00000000 00000266 2**0 CONTENTS, READONLY
53 NRV2DEX3 00000015 00000000 00000000 0000026c 2**0 CONTENTS, RELOC, READONLY
54 N2D64K02 0000000b 00000000 00000000 00000281 2**0 CONTENTS, READONLY
55 NRV2DEX9 00000004 00000000 00000000 0000028c 2**0 CONTENTS, READONLY
56 NRV2E16S 0000000d 00000000 00000000 00000290 2**0 CONTENTS, RELOC, READONLY
57 N2E64K01 0000000b 00000000 00000000 0000029d 2**0 CONTENTS, READONLY
58 NRV2EEX1 00000013 00000000 00000000 000002a8 2**0 CONTENTS, RELOC, READONLY
59 N2EX8601 00000006 00000000 00000000 000002bb 2**0 CONTENTS, READONLY
60 N2E28601 00000003 00000000 00000000 000002c1 2**0 CONTENTS, READONLY
61 NRV2EEX2 0000003e 00000000 00000000 000002c4 2**0 CONTENTS, RELOC, READONLY
62 N2EX8602 0000000e 00000000 00000000 00000302 2**0 CONTENTS, READONLY
63 N2E28602 00000006 00000000 00000000 00000310 2**0 CONTENTS, READONLY
64 NRV2EEX3 00000015 00000000 00000000 00000316 2**0 CONTENTS, RELOC, READONLY
65 N2E64K02 0000000b 00000000 00000000 0000032b 2**0 CONTENTS, READONLY
66 NRV2EEX9 00000004 00000000 00000000 00000336 2**0 CONTENTS, READONLY
67 LZMA_DEC99 00000000 00000000 00000000 0000033a 2**0 CONTENTS, READONLY
68 LZMA_DEC00 0000003b 00000000 00000000 0000033a 2**0 CONTENTS, RELOC, READONLY
69 ignore_reloc_overflow 00000008 00000000 00000000 00000375 2**0 CONTENTS, RELOC, READONLY
70 LZMA_DEC10 000011a4 00000000 00000000 0000037d 2**0 CONTENTS, READONLY
71 LZMA_DEC20 000011a4 00000000 00000000 00001521 2**0 CONTENTS, READONLY
72 LZMA_DEC30 00000006 00000000 00000000 000026c5 2**0 CONTENTS, RELOC, READONLY
73 LZMA_DEC31 00000007 00000000 00000000 000026cb 2**0 CONTENTS, RELOC, READONLY
74 EXEMAIN5 00000001 00000000 00000000 000026d2 2**0 CONTENTS, READONLY
75 EXEADJUS 00000007 00000000 00000000 000026d3 2**0 CONTENTS, READONLY
76 EXENOADJ 00000002 00000000 00000000 000026da 2**0 CONTENTS, READONLY
77 EXERELO1 0000001e 00000000 00000000 000026dc 2**0 CONTENTS, RELOC, READONLY
78 EXEREL9A 00000012 00000000 00000000 000026fa 2**0 CONTENTS, RELOC, READONLY
79 EXERELO2 00000004 00000000 00000000 0000270c 2**0 CONTENTS, READONLY
80 EXEREBIG 00000002 00000000 00000000 00002710 2**0 CONTENTS, RELOC, READONLY
81 EXERELO3 00000002 00000000 00000000 00002712 2**0 CONTENTS, RELOC, READONLY
82 EXEMAIN8 00000003 00000000 00000000 00002714 2**0 CONTENTS, READONLY
83 DEVICEEND 00000013 00000000 00000000 00002717 2**0 CONTENTS, READONLY
84 EXESTACK 00000006 00000000 00000000 0000272a 2**0 CONTENTS, RELOC, READONLY
85 EXESTASP 00000003 00000000 00000000 00002730 2**0 CONTENTS, RELOC, READONLY
86 EXEJUMPF 00000005 00000000 00000000 00002733 2**0 CONTENTS, RELOC, READONLY
87 EXERCSPO 00000004 00000000 00000000 00002738 2**0 CONTENTS, RELOC, READONLY
88 EXERETIP 00000006 00000000 00000000 0000273c 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
00000000 l d COMPRESSED_LZMA_START 00000000 COMPRESSED_LZMA_START
00000000 l d NRV2B160 00000000 NRV2B160
00000000 l d NRVDECO2 00000000 NRVDECO2
00000000 l d CALLTR16 00000000 CALLTR16
00000000 l d CALLTRI5 00000000 CALLTRI5
00000000 l d CALLTRI6 00000000 CALLTRI6
00000000 l d EXEENTRY 00000000 EXEENTRY
00000000 l d NRV2B16S 00000000 NRV2B16S
00000000 l d NRV2BEX2 00000000 NRV2BEX2
@@ -86,8 +117,27 @@ SYMBOL TABLE:
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d EXERELO1 00000000 EXERELO1
00000000 l d EXERELO2 00000000 EXERELO2
00000000 l d DEVICESUB 00000000 DEVICESUB
00000000 l d EXESUB 00000000 EXESUB
00000000 l d LZMADEVICE 00000000 LZMADEVICE
00000000 l d DEVICEENTRY2 00000000 DEVICEENTRY2
00000000 l d LZMAENTRY 00000000 LZMAENTRY
00000000 l d NRVDDONE 00000000 NRVDDONE
00000000 l d NRVDRETU 00000000 NRVDRETU
00000000 l d NRVDECO1 00000000 NRVDECO1
00000000 l d NRVLED00 00000000 NRVLED00
00000000 l d NRVGTD00 00000000 NRVGTD00
00000000 l d CT16I286 00000000 CT16I286
00000000 l d CT16SUB0 00000000 CT16SUB0
00000000 l d CT16I086 00000000 CT16I086
00000000 l d CALLTRI2 00000000 CALLTRI2
00000000 l d CT16E800 00000000 CT16E800
00000000 l d CT16E900 00000000 CT16E900
00000000 l d CT16JEND 00000000 CT16JEND
00000000 l d CT16JUL2 00000000 CT16JUL2
00000000 l d CT16I287 00000000 CT16I287
00000000 l d CT16SUB1 00000000 CT16SUB1
00000000 l d CT16I087 00000000 CT16I087
00000000 l d LONGSUB 00000000 LONGSUB
00000000 l d SHORTSUB 00000000 SHORTSUB
00000000 l d JNCDOCOPY 00000000 JNCDOCOPY
00000000 l d EXERELPU 00000000 EXERELPU
00000000 l d EXEMAIN4 00000000 EXEMAIN4
@@ -136,6 +186,7 @@ SYMBOL TABLE:
00000000 *UND* 00000000 orig_strategy
00000000 *UND* 00000000 exe_stack_ss
00000000 *UND* 00000000 exe_stack_sp
00000000 *UND* 00000000 calltrick_calls
00000000 *UND* 00000000 words_to_copy
00000000 *UND* 00000000 copy_offset
00000000 *UND* 00000000 source_segment
@@ -166,6 +217,61 @@ OFFSET TYPE VALUE
00000019 R_386_16 exe_stack_ss
0000001c R_386_16 exe_stack_sp
RELOCATION RECORDS FOR [LZMADEVICE]:
OFFSET TYPE VALUE
00000001 R_386_16 exe_stack_ss
RELOCATION RECORDS FOR [LZMAENTRY]:
OFFSET TYPE VALUE
00000008 R_386_16 COMPRESSED_LZMA_START
RELOCATION RECORDS FOR [NRV2B160]:
OFFSET TYPE VALUE
00000002 R_386_PC16 NRVDECO2
00000008 R_386_PC16 NRVDECO2
RELOCATION RECORDS FOR [NRVDDONE]:
OFFSET TYPE VALUE
00000001 R_386_PC8 NRVDECO2
RELOCATION RECORDS FOR [NRVDRETU]:
OFFSET TYPE VALUE
00000001 R_386_PC8 NRVDECO2
RELOCATION RECORDS FOR [NRVDECO1]:
OFFSET TYPE VALUE
00000001 R_386_PC8 NRV2B160
00000010 R_386_PC16 NRVDECO2
00000018 R_386_PC16 NRVDECO2
RELOCATION RECORDS FOR [NRVDECO2]:
OFFSET TYPE VALUE
00000008 R_386_PC8 NRV2B160
RELOCATION RECORDS FOR [CALLTR16]:
OFFSET TYPE VALUE
00000002 R_386_16 calltrick_calls
RELOCATION RECORDS FOR [CALLTRI2]:
OFFSET TYPE VALUE
00000002 R_386_PC8 CALLTR16
RELOCATION RECORDS FOR [CALLTRI5]:
OFFSET TYPE VALUE
00000002 R_386_16 calltrick_calls
RELOCATION RECORDS FOR [CT16JEND]:
OFFSET TYPE VALUE
00000001 R_386_PC8 NRVDECO2
RELOCATION RECORDS FOR [CT16JUL2]:
OFFSET TYPE VALUE
00000001 R_386_PC8 CALLTRI6
RELOCATION RECORDS FOR [CALLTRI6]:
OFFSET TYPE VALUE
00000002 R_386_PC8 CALLTRI5
RELOCATION RECORDS FOR [EXEENTRY]:
OFFSET TYPE VALUE
00000001 R_386_16 words_to_copy
@@ -173,7 +279,11 @@ OFFSET TYPE VALUE
0000000f R_386_16 source_segment
00000014 R_386_16 destination_segment
RELOCATION RECORDS FOR [DEVICESUB]:
RELOCATION RECORDS FOR [LONGSUB]:
OFFSET TYPE VALUE
00000003 R_386_16 EXEENTRY
RELOCATION RECORDS FOR [SHORTSUB]:
OFFSET TYPE VALUE
00000003 R_386_8 EXEENTRY