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

Bvmlinuz,Vmlinuz make room for largest possible decompression stack

by moving kernel command line up, and real mode area down
This commit is contained in:
John Reiser 2008-04-24 12:15:07 -07:00
parent 4a8e2e9ed4
commit 8d1192e832
4 changed files with 1986 additions and 1997 deletions

View File

@ -416,7 +416,7 @@ void PackBvmlinuzI386::buildLoader(const Filter *ft)
// prepare loader // prepare loader
initLoader(stub_i386_linux_kernel_vmlinuz, sizeof(stub_i386_linux_kernel_vmlinuz)); initLoader(stub_i386_linux_kernel_vmlinuz, sizeof(stub_i386_linux_kernel_vmlinuz));
if (0!=page_offset) { // relocatable kernel if (0!=page_offset) { // relocatable kernel
addLoader("LINUZ100,LINUZVGA,LINUZ101,LINUZ110", addLoader("LINUZ000,LINUZVGA,LINUZ101,LINUZ110",
((0!=config_physical_align) ? "LINUZ120" : "LINUZ130"), ((0!=config_physical_align) ? "LINUZ120" : "LINUZ130"),
"LINUZ140,LZCUTPOI", "LINUZ140,LZCUTPOI",
(ph.first_offset_found == 1 ? "LINUZ010" : ""), (ph.first_offset_found == 1 ? "LINUZ010" : ""),
@ -452,7 +452,8 @@ void PackBvmlinuzI386::buildLoader(const Filter *ft)
addLoader("LINUZ150", NULL); addLoader("LINUZ150", NULL);
unsigned const l_len = getLoaderSize(); unsigned const l_len = getLoaderSize();
unsigned const c_len = ALIGN_UP(ph.c_len, 4u); unsigned const c_len = ALIGN_UP(ph.c_len, 4u);
unsigned const e_len = getLoaderSectionStart("LZCUTPOI"); unsigned const e_len = getLoaderSectionStart("LZCUTPOI") -
getLoaderSectionStart("LINUZ110");
linker->defineSymbol("compressed_length", c_len); linker->defineSymbol("compressed_length", c_len);
linker->defineSymbol("load_physical_address", physical_start); // FIXME linker->defineSymbol("load_physical_address", physical_start); // FIXME
if (0!=config_physical_align) { if (0!=config_physical_align) {

File diff suppressed because it is too large Load Diff

View File

@ -67,13 +67,21 @@ si_capabilities = 0x36
si_vidmem = 0x3c // FIXME upx stealing si_vidmem = 0x3c // FIXME upx stealing
// linux/Documentation/i386/boot.txt
BP_version = 0x206 // boot protocol 2.00+ (kernel 1.3.73)
BP_loadflags = 0x211 // 2.00+
LOADED_HIGH = (1<<0)
KEEP_SEGMENTS = (1<<6)
BP_cmd_line_ptr = 0x228 // 2.02+ (kernel 2.4.0-test3-pre3)
BP_cmdline_size = 0x238
// ============= // =============
// ============= ENTRY POINT // ============= ENTRY POINT
// ============= // =============
/* /*
How to debug: run under qemu (http://fabrice.bellard.free.fr/qemu/) How to debug: run under qemu (http://fabrice.bellard.free.fr/qemu/)
after un-commenting the 0xf1 opcode below. That opcode forces qemu after un-commenting the 0xf1 opcode(s) below. That opcode forces qemu
to stop in gdb. You'll have to "set $pc+=1" by hand. to stop in gdb. You'll have to "set $pc+=1" by hand.
Example: Example:
$ qemu -S -s -kernel vmlinuz.upx -m 256 -nographic -hda <filesys_image> & $ qemu -S -s -kernel vmlinuz.upx -m 256 -nographic -hda <filesys_image> &
@ -85,7 +93,6 @@ si_vidmem = 0x3c // FIXME upx stealing
*/ */
section LINUZVGA // debug print to VGA console section LINUZVGA // debug print to VGA console
Lvga0:
#if 0 /*{*/ #if 0 /*{*/
////.byte 0xf1 // qemu In-Circuit-Emulator breakpoint ////.byte 0xf1 // qemu In-Circuit-Emulator breakpoint
// choose which VGA region and port, depending on video mode // choose which VGA region and port, depending on video mode
@ -119,8 +126,8 @@ putstr:
call newline call newline
jmp .L40 jmp .L40
.L49: .L49:
call setcursor pop edi; pop ebp
pop edi; leave; ret jmp setcursor
newline: newline:
movb [esi+ si_orig_x],0 movb [esi+ si_orig_x],0
@ -194,7 +201,7 @@ put_hex: // %eax in " %.8x"; clobbers edi,edx,ecx,eax
ret ret
print_stk8: print_stk8:
push ebp; mov ebp,esp; push ebx; push esi; push edi push ebp; mov ebp,esp; push ebx; push edi
push -8 // -(number of words to print) push -8 // -(number of words to print)
pop ecx pop ecx
@ -203,10 +210,8 @@ print_stk8:
push ecx; call put_hex; pop ecx push ecx; call put_hex; pop ecx
inc ecx inc ecx
jnz .L20 jnz .L20
call newline pop edi; pop ebx; pop ebp
jmp newline
pop edi; pop esi; pop ebx; pop ebp
ret
.L10: .L10:
// example of specific debugging // example of specific debugging
@ -218,55 +223,71 @@ print_stk8:
call print_stk8 call print_stk8
popa popa
#endif /*}*/ #endif /*}*/
Lvga9:
section LINUZ000 section LINUZ000
//cli // this must be true already ////.byte 0xf1 // qemu In-Circuit-Emulator breakpoint
//cli // this must be true now (else we already lost the race)
cld cld
#if 0 /*{ conflict: want to fetch memory, but might not have valid %ds */
cmpw [BP_version + esi],0x207
jb L01 // no KEEP_SEGMENTS in BP_loadflags
testb [BP_loadflags + esi],KEEP_SEGMENTS
jnz L03 // bootloader asked: no change in segments
L01:
#endif /*}*/
/* /*
; The only facts about segments here, that are true for all kernels: ; The only facts about segments here, that are true for all kernels:
; %cs is a valid "flat" code segment; no other segment reg is valid; ; %cs is a valid "flat" code segment; no other segment reg is valid;
; the next segment after %cs is a valid "flat" data segment, but ; the next segment after %cs is a valid "flat" data segment, but
; no segment register designates it yet. ; no segment register designates it yet.
*/ */
mov eax, cs mov eax,cs
add eax, 1<<3 // the next segment after %cs add eax, 1<<3 // the next segment after cs: __BOOT_DS
mov ds, eax mov ds,eax
mov es, eax mov es,eax
mov ss,eax
lea esp,[stack_offset + esi] // ancient default
L03:
// If the kernel command line ends below (0x99800 - cmd_exp), then move it up.
cmd_exp = 80 // allow kernel to expand command line "in place" by this much
section LINUZ001 cmpw [esi+ BP_version],0x202; jb nbp202 // boot protocol too old
/* mov ebp,esi // save register
; fs, gs set by startup_32 in arch/i386/kernel/head.S mov esi,[esi+ BP_cmd_line_ptr]
sub ecx,ecx // length
0:
lodsb; inc ecx; cmpb al,0; jne 0b // find end and 1+strlen
; Linux Documentation/i386/boot.txt "SAMPLE BOOT CONFIGURATION" says mov edx,edi // save register
; 0x8000-0x8FFF Stack and heap [inside the "real mode segment", mov edi,0x99800 - cmd_exp -1; lea eax,[edi + cmd_exp]
; just below the command line at offset 0x9000]. dec esi; cmp esi,edi; jae 8f
std; rep movsb; cld // move command line bytes
; arch/i386/boot/compressed/head.S "Do the decompression ..." says inc edi; mov [ebp+ BP_cmd_line_ptr],edi
; %esi contains the "real mode pointer" [as a 32-bit addr]. sub eax,edi; mov [ebp+ BP_cmdline_size],eax // maximum strlen
; In any case, avoid EBDA (Extended BIOS Data Area) below 0xA0000.
; boot.txt says 0x9A000 is the limit. LILO goes up to 0x9B000.
*/
lea ecx, [stack_offset + esi] // (0x9000 + 0x90000) typical
// Bootloaders such as grub-0.97-33.fc9.src.rpm (April 2008) are not leaving
// enough stack space for lzma: real mode segment esi=0x932b0, with
// cmdline at 0x99000 for 0x800. (0x99000 - 0x932b0) == 0x5d50 == 23888;
// lzma wants 28000.
mov ecx,0x20000
mov [-8 + ecx], ecx // 32-bit offset for stack pointer
mov [-4 + ecx], ds // segment for stack
lss esp, [-8 + ecx] // %ss:%esp= %ds:0x99000
and edi,~3 // word align down
mov [edi-8],edi
mov [edi-4],ds
lss esp,[edi-8] // stack ends at command line
8:
mov edi,edx // restore register
mov esi,ebp // restore register
nbp202:
push 0 push 0
popf // BIOS can leave random flags (such as NT) popf // BIOS can leave random flags (such as NT)
// do not clear .bss: at this point, .bss comes only from // If the real mode segment is above the floor, then move it down.
// arch/i386/boot/compressed/*.o which we are replacing entirely // The default floor is 0x90000, but 0x10000 (64K) for confirmed bzImage.
push edi; mov edi,0x90000 // save register
cmpw [esi+ BP_version],0x200; jb 8f // boot protocol too old
testb [esi+ BP_loadflags],LOADED_HIGH; jz 8f // not bzImage
mov edi,0x10000
8:
push edi; mov ecx,0x250>>2; rep movsd
pop esi // new real mode pointer
pop edi // restore register
section LINUZ001 // Bvmlinuz and not relocatable
mov eax, offset original_entry // 0x100000 : address of startup_32 mov eax, offset original_entry // 0x100000 : address of startup_32
push cs // MATCH00 push cs // MATCH00
push eax // MATCH00 entry address push eax // MATCH00 entry address
@ -276,33 +297,10 @@ section LINUZ001
section LINUZ010 section LINUZ010
or ebp, -1 // decompressor assumption or ebp, -1 // decompressor assumption
section LINUZ100 // relocatable, or not at 0x100000; linux-2.6.23 (summer 2007) section LINUZ101 // Bvmlinuz and relocatable
L00a:
//cli // this must be true now (else we already lost the race)
cld
BP_version = 0x206 // 518 include/asm/asm_offsets.h; Documentation/i386/boot.txt
cmpw [BP_version + esi],0x207
jb L01 // no KEEP_SEGMENTS in BP_loadflags
BP_loadflags = 0x211 // 529 include/asm/asm_offsets.h; Documentation/i386/boot.txt
KEEP_SEGMENTS = (1<<6)
testb [BP_loadflags + esi],KEEP_SEGMENTS
jnz L03 // bootloader asked: no change in segments
L01:
mov eax,cs
add eax, 1<<3 // the next segment after cs: __BOOT_DS
mov ds,eax
mov es,eax
mov ss,eax
lea esp,[stack_offset + esi] // FIXME: avoid commandline ??
mov esp,0x20000 // See comment on Bootloaders in section LINUZ001
L03:
L00b:
section LINUZ101
L05a:
.byte 0xe8 .byte 0xe8
.long compressed_length // MATCH10 call L10 .long compressed_length // MATCH10 call L10
L05b:
section LINUZ110 section LINUZ110
L10: L10:
pop ebp // MATCH10 &compressed pop ebp // MATCH10 &compressed
@ -343,7 +341,7 @@ section LINUZ140
lea edx,[unc_length + edi] lea edx,[unc_length + edi]
mov esi,ebp // src for move mov esi,ebp // src for move
push edx // MATCH20 end of relocation info push edx // MATCH20 end of relocation info
add edx,offset (dec_offset - (L29 - L27) - (L05b - L05a) - (L00b - L00a) - (Lvga9 - Lvga0)) // &decompressor (reloc) add edx,offset (dec_offset - (L29 - L27)) // &decompressor (reloc)
push edi // MATCH21 runtime entry push edi // MATCH21 runtime entry
add edi,offset unc_offset // dst for move ( + u_len - c_len ) add edi,offset unc_offset // dst for move ( + u_len - c_len )
push edi // MATCH22 &compressed (reloc) push edi // MATCH22 &compressed (reloc)

View File

@ -3,109 +3,108 @@ file format elf32-i386
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 LINUZVGA 00000000 00000000 00000000 00000034 2**0 CONTENTS, READONLY 0 LINUZVGA 00000000 00000000 00000000 00000034 2**0 CONTENTS, READONLY
1 LINUZ000 0000000a 00000000 00000000 00000034 2**0 CONTENTS, READONLY 1 LINUZ000 0000008c 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
2 LINUZ001 00000021 00000000 00000000 0000003e 2**0 CONTENTS, RELOC, READONLY 2 LINUZ001 00000009 00000000 00000000 000000c0 2**0 CONTENTS, RELOC, READONLY
3 LINUZ010 00000003 00000000 00000000 0000005f 2**0 CONTENTS, READONLY 3 LINUZ010 00000003 00000000 00000000 000000c9 2**0 CONTENTS, READONLY
4 LINUZ100 0000002b 00000000 00000000 00000062 2**0 CONTENTS, RELOC, READONLY 4 LINUZ101 00000005 00000000 00000000 000000cc 2**0 CONTENTS, RELOC, READONLY
5 LINUZ101 00000005 00000000 00000000 0000008d 2**0 CONTENTS, RELOC, READONLY 5 LINUZ110 0000002d 00000000 00000000 000000d1 2**0 CONTENTS, READONLY
6 LINUZ110 0000002d 00000000 00000000 00000092 2**0 CONTENTS, READONLY 6 LINUZ120 0000000c 00000000 00000000 000000fe 2**0 CONTENTS, RELOC, READONLY
7 LINUZ120 0000000c 00000000 00000000 000000bf 2**0 CONTENTS, RELOC, READONLY 7 LINUZ130 00000005 00000000 00000000 0000010a 2**0 CONTENTS, RELOC, READONLY
8 LINUZ130 00000005 00000000 00000000 000000cb 2**0 CONTENTS, RELOC, READONLY 8 LINUZ140 00000026 00000000 00000000 0000010f 2**0 CONTENTS, RELOC, READONLY
9 LINUZ140 00000026 00000000 00000000 000000d0 2**0 CONTENTS, RELOC, READONLY 9 LINUZ150 00000022 00000000 00000000 00000135 2**0 CONTENTS, RELOC, READONLY
10 LINUZ150 00000022 00000000 00000000 000000f6 2**0 CONTENTS, RELOC, READONLY 10 LZCALLT1 00000001 00000000 00000000 00000157 2**0 CONTENTS, READONLY
11 LZCALLT1 00000001 00000000 00000000 00000118 2**0 CONTENTS, READONLY 11 LZCKLLT1 00000008 00000000 00000000 00000158 2**0 CONTENTS, RELOC, READONLY
12 LZCKLLT1 00000008 00000000 00000000 00000119 2**0 CONTENTS, RELOC, READONLY 12 LBZIMAGE 0000001e 00000000 00000000 00000160 2**0 CONTENTS, RELOC, READONLY
13 LBZIMAGE 0000001e 00000000 00000000 00000121 2**0 CONTENTS, RELOC, READONLY 13 LZIMAGE0 0000000f 00000000 00000000 0000017e 2**0 CONTENTS, RELOC, READONLY
14 LZIMAGE0 0000000f 00000000 00000000 0000013f 2**0 CONTENTS, RELOC, READONLY 14 LZCUTPOI 00000000 00000000 00000000 0000018d 2**0 CONTENTS, READONLY
15 LZCUTPOI 00000000 00000000 00000000 0000014e 2**0 CONTENTS, READONLY 15 N2BSMA10 00000003 00000000 00000000 0000018d 2**0 CONTENTS, RELOC, READONLY
16 N2BSMA10 00000003 00000000 00000000 0000014e 2**0 CONTENTS, RELOC, READONLY 16 N2BFAS10 00000002 00000000 00000000 00000190 2**0 CONTENTS, RELOC, READONLY
17 N2BFAS10 00000002 00000000 00000000 00000151 2**0 CONTENTS, RELOC, READONLY 17 N2BFAS11 00000006 00000000 00000000 00000192 2**0 CONTENTS, READONLY
18 N2BFAS11 00000006 00000000 00000000 00000153 2**0 CONTENTS, READONLY 18 N2BDEC10 0000000b 00000000 00000000 00000198 2**0 CONTENTS, READONLY
19 N2BDEC10 0000000b 00000000 00000000 00000159 2**0 CONTENTS, READONLY 19 N2BSMA20 00000005 00000000 00000000 000001a3 2**0 CONTENTS, RELOC, READONLY
20 N2BSMA20 00000005 00000000 00000000 00000164 2**0 CONTENTS, RELOC, READONLY 20 N2BFAS20 00000009 00000000 00000000 000001a8 2**0 CONTENTS, RELOC, READONLY
21 N2BFAS20 00000009 00000000 00000000 00000169 2**0 CONTENTS, RELOC, READONLY 21 N2BDEC20 0000000d 00000000 00000000 000001b1 2**0 CONTENTS, READONLY
22 N2BDEC20 0000000d 00000000 00000000 00000172 2**0 CONTENTS, READONLY 22 N2BSMA30 0000000d 00000000 00000000 000001be 2**0 CONTENTS, RELOC, READONLY
23 N2BSMA30 0000000d 00000000 00000000 0000017f 2**0 CONTENTS, RELOC, READONLY 23 N2BFAS30 0000000f 00000000 00000000 000001cb 2**0 CONTENTS, RELOC, READONLY
24 N2BFAS30 0000000f 00000000 00000000 0000018c 2**0 CONTENTS, RELOC, READONLY 24 N2BDEC30 0000003e 00000000 00000000 000001da 2**0 CONTENTS, RELOC, READONLY
25 N2BDEC30 0000003e 00000000 00000000 0000019b 2**0 CONTENTS, RELOC, READONLY 25 N2BSMA40 0000000d 00000000 00000000 00000218 2**0 CONTENTS, RELOC, READONLY
26 N2BSMA40 0000000d 00000000 00000000 000001d9 2**0 CONTENTS, RELOC, READONLY 26 N2BFAS40 0000000f 00000000 00000000 00000225 2**0 CONTENTS, RELOC, READONLY
27 N2BFAS40 0000000f 00000000 00000000 000001e6 2**0 CONTENTS, RELOC, READONLY 27 N2BSMA50 00000002 00000000 00000000 00000234 2**0 CONTENTS, READONLY
28 N2BSMA50 00000002 00000000 00000000 000001f5 2**0 CONTENTS, READONLY 28 N2BFAS50 00000003 00000000 00000000 00000236 2**0 CONTENTS, READONLY
29 N2BFAS50 00000003 00000000 00000000 000001f7 2**0 CONTENTS, READONLY 29 N2BDEC50 00000009 00000000 00000000 00000239 2**0 CONTENTS, READONLY
30 N2BDEC50 00000009 00000000 00000000 000001fa 2**0 CONTENTS, READONLY 30 N2BSMA60 0000000c 00000000 00000000 00000242 2**0 CONTENTS, RELOC, READONLY
31 N2BSMA60 0000000c 00000000 00000000 00000203 2**0 CONTENTS, RELOC, READONLY 31 N2BFAS60 00000019 00000000 00000000 0000024e 2**0 CONTENTS, RELOC, READONLY
32 N2BFAS60 00000019 00000000 00000000 0000020f 2**0 CONTENTS, RELOC, READONLY 32 N2BFAS61 00000016 00000000 00000000 00000267 2**0 CONTENTS, RELOC, READONLY
33 N2BFAS61 00000016 00000000 00000000 00000228 2**0 CONTENTS, RELOC, READONLY 33 N2BDEC60 00000000 00000000 00000000 0000027d 2**0 CONTENTS, READONLY
34 N2BDEC60 00000000 00000000 00000000 0000023e 2**0 CONTENTS, READONLY 34 N2DSMA10 00000003 00000000 00000000 0000027d 2**0 CONTENTS, RELOC, READONLY
35 N2DSMA10 00000003 00000000 00000000 0000023e 2**0 CONTENTS, RELOC, READONLY 35 N2DFAS10 00000002 00000000 00000000 00000280 2**0 CONTENTS, RELOC, READONLY
36 N2DFAS10 00000002 00000000 00000000 00000241 2**0 CONTENTS, RELOC, READONLY 36 N2DFAS11 00000006 00000000 00000000 00000282 2**0 CONTENTS, READONLY
37 N2DFAS11 00000006 00000000 00000000 00000243 2**0 CONTENTS, READONLY 37 N2DDEC10 0000000b 00000000 00000000 00000288 2**0 CONTENTS, READONLY
38 N2DDEC10 0000000b 00000000 00000000 00000249 2**0 CONTENTS, READONLY 38 N2DSMA20 00000005 00000000 00000000 00000293 2**0 CONTENTS, RELOC, READONLY
39 N2DSMA20 00000005 00000000 00000000 00000254 2**0 CONTENTS, RELOC, READONLY 39 N2DFAS20 00000009 00000000 00000000 00000298 2**0 CONTENTS, RELOC, READONLY
40 N2DFAS20 00000009 00000000 00000000 00000259 2**0 CONTENTS, RELOC, READONLY 40 N2DDEC20 0000000d 00000000 00000000 000002a1 2**0 CONTENTS, READONLY
41 N2DDEC20 0000000d 00000000 00000000 00000262 2**0 CONTENTS, READONLY 41 N2DSMA30 0000000d 00000000 00000000 000002ae 2**0 CONTENTS, RELOC, READONLY
42 N2DSMA30 0000000d 00000000 00000000 0000026f 2**0 CONTENTS, RELOC, READONLY 42 N2DFAS30 0000000f 00000000 00000000 000002bb 2**0 CONTENTS, RELOC, READONLY
43 N2DFAS30 0000000f 00000000 00000000 0000027c 2**0 CONTENTS, RELOC, READONLY 43 N2DDEC30 00000052 00000000 00000000 000002ca 2**0 CONTENTS, RELOC, READONLY
44 N2DDEC30 00000052 00000000 00000000 0000028b 2**0 CONTENTS, RELOC, READONLY 44 N2DSMA40 0000000d 00000000 00000000 0000031c 2**0 CONTENTS, RELOC, READONLY
45 N2DSMA40 0000000d 00000000 00000000 000002dd 2**0 CONTENTS, RELOC, READONLY 45 N2DFAS40 0000000f 00000000 00000000 00000329 2**0 CONTENTS, RELOC, READONLY
46 N2DFAS40 0000000f 00000000 00000000 000002ea 2**0 CONTENTS, RELOC, READONLY 46 N2DSMA50 00000002 00000000 00000000 00000338 2**0 CONTENTS, READONLY
47 N2DSMA50 00000002 00000000 00000000 000002f9 2**0 CONTENTS, READONLY 47 N2DFAS50 00000003 00000000 00000000 0000033a 2**0 CONTENTS, READONLY
48 N2DFAS50 00000003 00000000 00000000 000002fb 2**0 CONTENTS, READONLY 48 N2DDEC50 00000009 00000000 00000000 0000033d 2**0 CONTENTS, READONLY
49 N2DDEC50 00000009 00000000 00000000 000002fe 2**0 CONTENTS, READONLY 49 N2DSMA60 0000000c 00000000 00000000 00000346 2**0 CONTENTS, RELOC, READONLY
50 N2DSMA60 0000000c 00000000 00000000 00000307 2**0 CONTENTS, RELOC, READONLY 50 N2DFAS60 00000019 00000000 00000000 00000352 2**0 CONTENTS, RELOC, READONLY
51 N2DFAS60 00000019 00000000 00000000 00000313 2**0 CONTENTS, RELOC, READONLY 51 N2DFAS61 00000016 00000000 00000000 0000036b 2**0 CONTENTS, RELOC, READONLY
52 N2DFAS61 00000016 00000000 00000000 0000032c 2**0 CONTENTS, RELOC, READONLY 52 N2DDEC60 00000000 00000000 00000000 00000381 2**0 CONTENTS, READONLY
53 N2DDEC60 00000000 00000000 00000000 00000342 2**0 CONTENTS, READONLY 53 N2ESMA10 00000003 00000000 00000000 00000381 2**0 CONTENTS, RELOC, READONLY
54 N2ESMA10 00000003 00000000 00000000 00000342 2**0 CONTENTS, RELOC, READONLY 54 N2EFAS10 00000002 00000000 00000000 00000384 2**0 CONTENTS, RELOC, READONLY
55 N2EFAS10 00000002 00000000 00000000 00000345 2**0 CONTENTS, RELOC, READONLY 55 N2EFAS11 00000006 00000000 00000000 00000386 2**0 CONTENTS, READONLY
56 N2EFAS11 00000006 00000000 00000000 00000347 2**0 CONTENTS, READONLY 56 N2EDEC10 0000000b 00000000 00000000 0000038c 2**0 CONTENTS, READONLY
57 N2EDEC10 0000000b 00000000 00000000 0000034d 2**0 CONTENTS, READONLY 57 N2ESMA20 00000005 00000000 00000000 00000397 2**0 CONTENTS, RELOC, READONLY
58 N2ESMA20 00000005 00000000 00000000 00000358 2**0 CONTENTS, RELOC, READONLY 58 N2EFAS20 00000009 00000000 00000000 0000039c 2**0 CONTENTS, RELOC, READONLY
59 N2EFAS20 00000009 00000000 00000000 0000035d 2**0 CONTENTS, RELOC, READONLY 59 N2EDEC20 0000000d 00000000 00000000 000003a5 2**0 CONTENTS, READONLY
60 N2EDEC20 0000000d 00000000 00000000 00000366 2**0 CONTENTS, READONLY 60 N2ESMA30 0000000d 00000000 00000000 000003b2 2**0 CONTENTS, RELOC, READONLY
61 N2ESMA30 0000000d 00000000 00000000 00000373 2**0 CONTENTS, RELOC, READONLY 61 N2EFAS30 0000000f 00000000 00000000 000003bf 2**0 CONTENTS, RELOC, READONLY
62 N2EFAS30 0000000f 00000000 00000000 00000380 2**0 CONTENTS, RELOC, READONLY 62 N2EDEC30 0000005f 00000000 00000000 000003ce 2**0 CONTENTS, RELOC, READONLY
63 N2EDEC30 0000005f 00000000 00000000 0000038f 2**0 CONTENTS, RELOC, READONLY 63 N2ESMA40 0000000d 00000000 00000000 0000042d 2**0 CONTENTS, RELOC, READONLY
64 N2ESMA40 0000000d 00000000 00000000 000003ee 2**0 CONTENTS, RELOC, READONLY 64 N2EFAS40 0000000f 00000000 00000000 0000043a 2**0 CONTENTS, RELOC, READONLY
65 N2EFAS40 0000000f 00000000 00000000 000003fb 2**0 CONTENTS, RELOC, READONLY 65 N2ESMA50 00000002 00000000 00000000 00000449 2**0 CONTENTS, READONLY
66 N2ESMA50 00000002 00000000 00000000 0000040a 2**0 CONTENTS, READONLY 66 N2EFAS50 00000003 00000000 00000000 0000044b 2**0 CONTENTS, READONLY
67 N2EFAS50 00000003 00000000 00000000 0000040c 2**0 CONTENTS, READONLY 67 N2EDEC50 00000009 00000000 00000000 0000044e 2**0 CONTENTS, READONLY
68 N2EDEC50 00000009 00000000 00000000 0000040f 2**0 CONTENTS, READONLY 68 N2ESMA60 0000000c 00000000 00000000 00000457 2**0 CONTENTS, RELOC, READONLY
69 N2ESMA60 0000000c 00000000 00000000 00000418 2**0 CONTENTS, RELOC, READONLY 69 N2EFAS60 00000019 00000000 00000000 00000463 2**0 CONTENTS, RELOC, READONLY
70 N2EFAS60 00000019 00000000 00000000 00000424 2**0 CONTENTS, RELOC, READONLY 70 N2EFAS61 00000016 00000000 00000000 0000047c 2**0 CONTENTS, RELOC, READONLY
71 N2EFAS61 00000016 00000000 00000000 0000043d 2**0 CONTENTS, RELOC, READONLY 71 N2EDEC60 00000000 00000000 00000000 00000492 2**0 CONTENTS, READONLY
72 N2EDEC60 00000000 00000000 00000000 00000453 2**0 CONTENTS, READONLY 72 LZMA_DEC00 0000002e 00000000 00000000 00000492 2**0 CONTENTS, RELOC, READONLY
73 LZMA_DEC00 0000002e 00000000 00000000 00000453 2**0 CONTENTS, RELOC, READONLY 73 LZMA_ELF00 00000048 00000000 00000000 000004c0 2**0 CONTENTS, READONLY
74 LZMA_ELF00 00000048 00000000 00000000 00000481 2**0 CONTENTS, READONLY 74 LZMA_DEC10 00000a86 00000000 00000000 00000508 2**0 CONTENTS, READONLY
75 LZMA_DEC10 00000a86 00000000 00000000 000004c9 2**0 CONTENTS, READONLY 75 LZMA_DEC20 00000a86 00000000 00000000 00000f8e 2**0 CONTENTS, READONLY
76 LZMA_DEC20 00000a86 00000000 00000000 00000f4f 2**0 CONTENTS, READONLY 76 LZMA_DEC30 0000001a 00000000 00000000 00001a14 2**0 CONTENTS, READONLY
77 LZMA_DEC30 0000001a 00000000 00000000 000019d5 2**0 CONTENTS, READONLY 77 LZCKLLT9 00000003 00000000 00000000 00001a2e 2**0 CONTENTS, READONLY
78 LZCKLLT9 00000003 00000000 00000000 000019ef 2**0 CONTENTS, READONLY 78 ctok32.00 00000007 00000000 00000000 00001a31 2**0 CONTENTS, RELOC, READONLY
79 ctok32.00 00000007 00000000 00000000 000019f2 2**0 CONTENTS, RELOC, READONLY 79 ctok32.10 0000000e 00000000 00000000 00001a38 2**0 CONTENTS, RELOC, READONLY
80 ctok32.10 0000000e 00000000 00000000 000019f9 2**0 CONTENTS, RELOC, READONLY 80 ctok32.20 0000001f 00000000 00000000 00001a46 2**0 CONTENTS, RELOC, READONLY
81 ctok32.20 0000001f 00000000 00000000 00001a07 2**0 CONTENTS, RELOC, READONLY 81 ctok32.30 00000007 00000000 00000000 00001a65 2**0 CONTENTS, RELOC, READONLY
82 ctok32.30 00000007 00000000 00000000 00001a26 2**0 CONTENTS, RELOC, READONLY 82 ctok32.40 00000005 00000000 00000000 00001a6c 2**0 CONTENTS, RELOC, READONLY
83 ctok32.40 00000005 00000000 00000000 00001a2d 2**0 CONTENTS, RELOC, READONLY 83 LZCALLT9 00000001 00000000 00000000 00001a71 2**0 CONTENTS, READONLY
84 LZCALLT9 00000001 00000000 00000000 00001a32 2**0 CONTENTS, READONLY 84 CALLTR00 0000000e 00000000 00000000 00001a72 2**0 CONTENTS, RELOC, READONLY
85 CALLTR00 0000000e 00000000 00000000 00001a33 2**0 CONTENTS, RELOC, READONLY 85 CTCLEVE1 00000005 00000000 00000000 00001a80 2**0 CONTENTS, RELOC, READONLY
86 CTCLEVE1 00000005 00000000 00000000 00001a41 2**0 CONTENTS, RELOC, READONLY 86 CALLTR01 00000005 00000000 00000000 00001a85 2**0 CONTENTS, READONLY
87 CALLTR01 00000005 00000000 00000000 00001a46 2**0 CONTENTS, READONLY 87 CTBSHR01 00000004 00000000 00000000 00001a8a 2**0 CONTENTS, READONLY
88 CTBSHR01 00000004 00000000 00000000 00001a4b 2**0 CONTENTS, READONLY 88 CTBROR01 00000002 00000000 00000000 00001a8e 2**0 CONTENTS, READONLY
89 CTBROR01 00000002 00000000 00000000 00001a4f 2**0 CONTENTS, READONLY 89 CTBSWA01 00000005 00000000 00000000 00001a90 2**0 CONTENTS, READONLY
90 CTBSWA01 00000005 00000000 00000000 00001a51 2**0 CONTENTS, READONLY 90 CALLTR02 0000000e 00000000 00000000 00001a95 2**0 CONTENTS, RELOC, READONLY
91 CALLTR02 0000000e 00000000 00000000 00001a56 2**0 CONTENTS, RELOC, READONLY 91 CALLTR10 00000005 00000000 00000000 00001aa3 2**0 CONTENTS, RELOC, READONLY
92 CALLTR10 00000005 00000000 00000000 00001a64 2**0 CONTENTS, RELOC, READONLY 92 CALLTRE8 00000002 00000000 00000000 00001aa8 2**0 CONTENTS, READONLY
93 CALLTRE8 00000002 00000000 00000000 00001a69 2**0 CONTENTS, READONLY 93 CALLTRE9 00000002 00000000 00000000 00001aaa 2**0 CONTENTS, READONLY
94 CALLTRE9 00000002 00000000 00000000 00001a6b 2**0 CONTENTS, READONLY 94 CALLTR11 00000004 00000000 00000000 00001aac 2**0 CONTENTS, RELOC, READONLY
95 CALLTR11 00000004 00000000 00000000 00001a6d 2**0 CONTENTS, RELOC, READONLY 95 CTCLEVE2 00000005 00000000 00000000 00001ab0 2**0 CONTENTS, RELOC, READONLY
96 CTCLEVE2 00000005 00000000 00000000 00001a71 2**0 CONTENTS, RELOC, READONLY 96 CALLTR12 00000002 00000000 00000000 00001ab5 2**0 CONTENTS, READONLY
97 CALLTR12 00000002 00000000 00000000 00001a76 2**0 CONTENTS, READONLY 97 CTBSHR11 00000004 00000000 00000000 00001ab7 2**0 CONTENTS, READONLY
98 CTBSHR11 00000004 00000000 00000000 00001a78 2**0 CONTENTS, READONLY 98 CTBROR11 00000002 00000000 00000000 00001abb 2**0 CONTENTS, READONLY
99 CTBROR11 00000002 00000000 00000000 00001a7c 2**0 CONTENTS, READONLY 99 CTBSWA11 00000005 00000000 00000000 00001abd 2**0 CONTENTS, READONLY
100 CTBSWA11 00000005 00000000 00000000 00001a7e 2**0 CONTENTS, READONLY 100 CALLTR13 00000005 00000000 00000000 00001ac2 2**0 CONTENTS, RELOC, READONLY
101 CALLTR13 00000005 00000000 00000000 00001a83 2**0 CONTENTS, RELOC, READONLY 101 LINUZ990 00000005 00000000 00000000 00001ac7 2**0 CONTENTS, READONLY
102 LINUZ990 00000005 00000000 00000000 00001a88 2**0 CONTENTS, READONLY 102 UPX1HEAD 00000020 00000000 00000000 00001acc 2**0 CONTENTS, READONLY
103 UPX1HEAD 00000020 00000000 00000000 00001a8d 2**0 CONTENTS, READONLY
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d N2BSMA10 00000000 N2BSMA10 00000000 l d N2BSMA10 00000000 N2BSMA10
00000000 l d N2BFAS11 00000000 N2BFAS11 00000000 l d N2BFAS11 00000000 N2BFAS11
@ -143,7 +142,6 @@ SYMBOL TABLE:
00000000 l d LINUZ000 00000000 LINUZ000 00000000 l d LINUZ000 00000000 LINUZ000
00000000 l d LINUZ001 00000000 LINUZ001 00000000 l d LINUZ001 00000000 LINUZ001
00000000 l d LINUZ010 00000000 LINUZ010 00000000 l d LINUZ010 00000000 LINUZ010
00000000 l d LINUZ100 00000000 LINUZ100
00000000 l d LINUZ101 00000000 LINUZ101 00000000 l d LINUZ101 00000000 LINUZ101
00000000 l d LINUZ110 00000000 LINUZ110 00000000 l d LINUZ110 00000000 LINUZ110
00000000 l d LINUZ120 00000000 LINUZ120 00000000 l d LINUZ120 00000000 LINUZ120
@ -233,14 +231,13 @@ SYMBOL TABLE:
00000000 *UND* 00000000 lzma_c_len 00000000 *UND* 00000000 lzma_c_len
00000000 *UND* 00000000 lzma_properties 00000000 *UND* 00000000 lzma_properties
RELOCATION RECORDS FOR [LINUZ000]:
OFFSET TYPE VALUE
0000000e R_386_32 stack_offset
RELOCATION RECORDS FOR [LINUZ001]: RELOCATION RECORDS FOR [LINUZ001]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000002 R_386_32 stack_offset 00000001 R_386_32 original_entry
00000019 R_386_32 original_entry
RELOCATION RECORDS FOR [LINUZ100]:
OFFSET TYPE VALUE
00000022 R_386_32 stack_offset
RELOCATION RECORDS FOR [LINUZ101]: RELOCATION RECORDS FOR [LINUZ101]:
OFFSET TYPE VALUE OFFSET TYPE VALUE