Bvmlinuz fix filters
This commit is contained in:
+21
-7
@@ -73,6 +73,15 @@ const int *PackVmlinuzI386::getFilters() const
|
|||||||
return filters;
|
return filters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const int *PackBvmlinuzI386::getFilters() const
|
||||||
|
{
|
||||||
|
// The destination buffer might be relocated at runtime.
|
||||||
|
static const int filters[] = {
|
||||||
|
0x49, 0x46,
|
||||||
|
FT_END };
|
||||||
|
return filters;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool PackVmlinuzI386::canPack()
|
bool PackVmlinuzI386::canPack()
|
||||||
{
|
{
|
||||||
@@ -438,9 +447,11 @@ 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
|
||||||
|
assert(0==ft->id || 0x40==(0xf0 & ft->id)); // others assume fixed buffer address
|
||||||
addLoader("LINUZ000,LINUZVGA,LINUZ101,LINUZ110",
|
addLoader("LINUZ000,LINUZVGA,LINUZ101,LINUZ110",
|
||||||
((0!=config_physical_align) ? "LINUZ120" : "LINUZ130"),
|
((0!=config_physical_align) ? "LINUZ120" : "LINUZ130"),
|
||||||
"LINUZ140,LZCUTPOI",
|
"LINUZ140,LZCUTPOI,LINUZ141",
|
||||||
|
(ft->id ? "LINUZ145" : ""),
|
||||||
(ph.first_offset_found == 1 ? "LINUZ010" : ""),
|
(ph.first_offset_found == 1 ? "LINUZ010" : ""),
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
@@ -454,7 +465,7 @@ void PackBvmlinuzI386::buildLoader(const Filter *ft)
|
|||||||
"LZCUTPOI",
|
"LZCUTPOI",
|
||||||
NULL);
|
NULL);
|
||||||
// fake alignment for the start of the decompressor
|
// fake alignment for the start of the decompressor
|
||||||
linker->defineSymbol("LZCUTPOI", 0x1000);
|
//linker->defineSymbol("LZCUTPOI", 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
addLoader(getDecompressorSections(), NULL);
|
addLoader(getDecompressorSections(), NULL);
|
||||||
@@ -471,10 +482,10 @@ void PackBvmlinuzI386::buildLoader(const Filter *ft)
|
|||||||
addFilter32(ft->id);
|
addFilter32(ft->id);
|
||||||
}
|
}
|
||||||
if (0!=page_offset) {
|
if (0!=page_offset) {
|
||||||
addLoader("LINUZ150", NULL);
|
addLoader("LINUZ150,IDENTSTR,+40,UPX1HEAD", 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("LINUZ141") -
|
||||||
getLoaderSectionStart("LINUZ110");
|
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
|
||||||
@@ -487,7 +498,6 @@ void PackBvmlinuzI386::buildLoader(const Filter *ft)
|
|||||||
linker->defineSymbol("unc_length", ph.u_len);
|
linker->defineSymbol("unc_length", ph.u_len);
|
||||||
linker->defineSymbol("dec_offset", ph.overlap_overhead + e_len);
|
linker->defineSymbol("dec_offset", ph.overlap_overhead + e_len);
|
||||||
linker->defineSymbol("unc_offset", ph.overlap_overhead + ph.u_len - c_len);
|
linker->defineSymbol("unc_offset", ph.overlap_overhead + ph.u_len - c_len);
|
||||||
addLoader("IDENTSTR,+40,UPX1HEAD", NULL);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
addLoader("LINUZ990", NULL);
|
addLoader("LINUZ990", NULL);
|
||||||
@@ -502,11 +512,11 @@ void PackBvmlinuzI386::pack(OutputFile *fo)
|
|||||||
// prepare filter
|
// prepare filter
|
||||||
Filter ft(ph.level);
|
Filter ft(ph.level);
|
||||||
ft.buf_len = ph.u_len;
|
ft.buf_len = ph.u_len;
|
||||||
ft.addvalue = physical_start; // saves 4 bytes in unfilter code
|
ft.addvalue = 0; // The destination buffer might be relocated at runtime.
|
||||||
|
|
||||||
upx_compress_config_t cconf; cconf.reset();
|
upx_compress_config_t cconf; cconf.reset();
|
||||||
// limit stack size needed for runtime decompression
|
// limit stack size needed for runtime decompression
|
||||||
cconf.conf_lzma.max_num_probs = 1846 + (768 << 8); // ushort: ~28KB stack
|
cconf.conf_lzma.max_num_probs = 1846 + (768 << 4); // ushort: ~28KB stack
|
||||||
|
|
||||||
// FIXME: new stub allows most of low memory as stack for Bvmlinuz ?
|
// FIXME: new stub allows most of low memory as stack for Bvmlinuz ?
|
||||||
//cconf.conf_lzma.max_num_probs = (0x99000 - 0x10250)>>1; // ushort: 560560 stack
|
//cconf.conf_lzma.max_num_probs = (0x99000 - 0x10250)>>1; // ushort: 560560 stack
|
||||||
@@ -539,6 +549,7 @@ void PackBvmlinuzI386::pack(OutputFile *fo)
|
|||||||
const int e_len = getLoaderSectionStart("LZCUTPOI");
|
const int e_len = getLoaderSectionStart("LZCUTPOI");
|
||||||
assert(e_len > 0);
|
assert(e_len > 0);
|
||||||
|
|
||||||
|
if (0==page_offset) { // not relocatable kernel
|
||||||
const unsigned d_len4 = ALIGN_UP(lsize - e_len, 4u);
|
const unsigned d_len4 = ALIGN_UP(lsize - e_len, 4u);
|
||||||
const unsigned decompr_pos = ALIGN_UP(ph.u_len + ph.overlap_overhead, 16u);
|
const unsigned decompr_pos = ALIGN_UP(ph.u_len + ph.overlap_overhead, 16u);
|
||||||
const unsigned copy_size = c_len + d_len4;
|
const unsigned copy_size = c_len + d_len4;
|
||||||
@@ -550,10 +561,13 @@ void PackBvmlinuzI386::pack(OutputFile *fo)
|
|||||||
linker->defineSymbol("words_to_copy", copy_size / 4);
|
linker->defineSymbol("words_to_copy", copy_size / 4);
|
||||||
linker->defineSymbol("copy_dest", physical_start + edi);
|
linker->defineSymbol("copy_dest", physical_start + edi);
|
||||||
linker->defineSymbol("copy_source", bzimage_offset + esi);
|
linker->defineSymbol("copy_source", bzimage_offset + esi);
|
||||||
|
}
|
||||||
|
|
||||||
defineFilterSymbols(&ft);
|
defineFilterSymbols(&ft);
|
||||||
defineDecompressorSymbols();
|
defineDecompressorSymbols();
|
||||||
|
if (0==page_offset) {
|
||||||
linker->defineSymbol("original_entry", physical_start);
|
linker->defineSymbol("original_entry", physical_start);
|
||||||
|
}
|
||||||
linker->defineSymbol("stack_offset", stack_offset_during_uncompression);
|
linker->defineSymbol("stack_offset", stack_offset_during_uncompression);
|
||||||
relocateLoader();
|
relocateLoader();
|
||||||
|
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ public:
|
|||||||
virtual int getFormat() const { return UPX_F_BVMLINUZ_i386; }
|
virtual int getFormat() const { return UPX_F_BVMLINUZ_i386; }
|
||||||
virtual const char *getName() const { return "bvmlinuz/386"; }
|
virtual const char *getName() const { return "bvmlinuz/386"; }
|
||||||
virtual const char *getFullName(const options_t *) const { return "i386-linux.kernel.bvmlinuz"; }
|
virtual const char *getFullName(const options_t *) const { return "i386-linux.kernel.bvmlinuz"; }
|
||||||
|
virtual const int *getFilters() const;
|
||||||
|
|
||||||
virtual void pack(OutputFile *fo);
|
virtual void pack(OutputFile *fo);
|
||||||
|
|
||||||
|
|||||||
+1840
-1811
File diff suppressed because it is too large
Load Diff
@@ -49,7 +49,10 @@ si_lfb_height = 0x14
|
|||||||
si_lfb_depth = 0x16
|
si_lfb_depth = 0x16
|
||||||
si_lfb_base = 0x18
|
si_lfb_base = 0x18
|
||||||
si_lfb_size = 0x1c
|
si_lfb_size = 0x1c
|
||||||
//si_dontuse2, dontuse3 = 0x20 // CL_MAGIC and CL_OFFSET here
|
|
||||||
|
BP_cmd_line_magic = 0x20 // protocol < 2.02, or if null pointer
|
||||||
|
BP_cmd_line_offset = 0x22 // protocol < 2.02, or if null pointer
|
||||||
|
|
||||||
si_lfb_linelength = 0x24
|
si_lfb_linelength = 0x24
|
||||||
si_red_size = 0x26
|
si_red_size = 0x26
|
||||||
si_red_pos = 0x27
|
si_red_pos = 0x27
|
||||||
@@ -251,19 +254,30 @@ L03:
|
|||||||
// If the kernel command line ends below (0x99800 - cmd_exp), then move it up.
|
// 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
|
cmd_exp = 80 // allow kernel to expand command line "in place" by this much
|
||||||
|
|
||||||
cmpw [esi+ BP_version],0x202; jb nbp202 // boot protocol too old
|
|
||||||
mov ebp,esi // save register
|
mov ebp,esi // save register
|
||||||
mov esi,[esi+ BP_cmd_line_ptr]
|
cmpw [esi+ BP_version],0x202; jae cl_bp202
|
||||||
|
cl_nbp202: // use < 2.02 method. in: ebp= real_mode_ptr
|
||||||
|
mov esi,ebp // absolute worst case default
|
||||||
|
cmpw [ebp+ BP_cmd_line_magic],0xA33F; jne cl_move // nothing at all
|
||||||
|
movzwl esi,[ebp+ BP_cmd_line_offset]
|
||||||
|
add esi,ebp
|
||||||
|
jmp cl_move
|
||||||
|
cl_bp202: // try >= 2.02 method
|
||||||
|
mov esi,[esi+ BP_cmd_line_ptr] // supposed pointer
|
||||||
|
test esi,esi; jz cl_nbp202 // not really!
|
||||||
|
cl_move: // in: esi= cmd_line_ptr; ebp= real_mode_ptr
|
||||||
sub ecx,ecx // length
|
sub ecx,ecx // length
|
||||||
0:
|
0:
|
||||||
lodsb; inc ecx; cmpb al,0; jne 0b // find end and 1+strlen
|
lodsb; inc ecx; cmpb al,0; jne 0b // find end and 1+strlen
|
||||||
|
|
||||||
mov edx,edi // save register
|
mov edx,edi // save register
|
||||||
mov edi,0x99800 - cmd_exp -1; lea eax,[edi + cmd_exp]
|
mov edi,0x99800 - cmd_exp; lea eax,[edi + cmd_exp -1]
|
||||||
dec esi; cmp esi,edi; jae 8f
|
cmp esi,edi; jae 8f
|
||||||
std; rep movsb; cld // move command line bytes
|
dec edi; dec esi; std; rep movsb; cld // move command line bytes
|
||||||
inc edi; mov [ebp+ BP_cmd_line_ptr],edi
|
inc edi; mov [ebp+ BP_cmd_line_ptr],edi
|
||||||
sub eax,edi; mov [ebp+ BP_cmdline_size],eax // maximum strlen
|
sub eax,edi; mov [ebp+ BP_cmdline_size],eax // maximum strlen
|
||||||
|
mov eax,edi
|
||||||
|
sub eax,ebp; movw [ebp+ BP_cmd_line_offset],ax // backward compat
|
||||||
|
|
||||||
and edi,~3 // word align down
|
and edi,~3 // word align down
|
||||||
mov [edi-8],edi
|
mov [edi-8],edi
|
||||||
@@ -278,10 +292,11 @@ nbp202:
|
|||||||
|
|
||||||
// If the real mode segment is above the floor, then move it down.
|
// If the real mode segment is above the floor, then move it down.
|
||||||
// The default floor is 0x90000, but 0x10000 (64K) for confirmed bzImage.
|
// The default floor is 0x90000, but 0x10000 (64K) for confirmed bzImage.
|
||||||
|
// But due to possible complications with BP_cmd_line_offset, keep 0x90000.
|
||||||
push edi; mov edi,0x90000 // save register
|
push edi; mov edi,0x90000 // save register
|
||||||
cmpw [esi+ BP_version],0x200; jb 8f // boot protocol too old
|
cmpw [esi+ BP_version],0x200; jb 8f // boot protocol too old
|
||||||
testb [esi+ BP_loadflags],LOADED_HIGH; jz 8f // not bzImage
|
testb [esi+ BP_loadflags],LOADED_HIGH; jz 8f // not bzImage
|
||||||
mov edi,0x10000
|
mov edi,0x90000
|
||||||
8:
|
8:
|
||||||
push edi; mov ecx,0x250>>2; rep movsd
|
push edi; mov ecx,0x250>>2; rep movsd
|
||||||
pop esi // new real mode pointer
|
pop esi // new real mode pointer
|
||||||
@@ -341,19 +356,24 @@ 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)) // &decompressor (reloc)
|
add edx,offset dec_offset // &LZCUTPOI
|
||||||
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)
|
||||||
mov ecx,offset neg_length_mov
|
mov ecx,offset neg_length_mov
|
||||||
push edx // MATCH23 &decompressor (reloc)
|
push edx // MATCH23 &decompressor (reloc)
|
||||||
jmp eax // moveloop (reloc); MATCH23 return: &decompressor (reloc)
|
jmp eax // moveloop (reloc); MATCH23 return: &LINUZ141 (reloc)
|
||||||
L27:
|
// assumed location of LZCUTPOI >>here<< [0== length(LZCUTPOI)]
|
||||||
|
|
||||||
|
section LINUZ141 // one-time prolog to decompressor
|
||||||
pop esi // MATCH22 &compressed (reloc)
|
pop esi // MATCH22 &compressed (reloc)
|
||||||
pop edi // MATCH21 &uncompressed
|
pop edi // MATCH21 &uncompressed
|
||||||
push edi // MATCH24 runtime entry
|
push edi // MATCH24 runtime entry
|
||||||
|
section LINUZ145 // only if filter
|
||||||
push edi // MATCH03 src unfilter
|
push edi // MATCH03 src unfilter
|
||||||
L29: // assumed location of LZCUTPOI
|
//push offset filter_cto // MATCH04 cto unfilter
|
||||||
|
.byte 0x6a, filter_cto // MATCH04 cto unfilter
|
||||||
|
push offset filter_length // MATCH05 len unfilter
|
||||||
|
|
||||||
// decompressor and unfilter >>here<<
|
// decompressor and unfilter >>here<<
|
||||||
|
|
||||||
@@ -378,9 +398,9 @@ L40:
|
|||||||
xor ebx,ebx // processor 0
|
xor ebx,ebx // processor 0
|
||||||
jmp ebp // entry to decompressed
|
jmp ebp // entry to decompressed
|
||||||
|
|
||||||
section LZCALLT1
|
section LZCALLT1 // 0x40!=(0xf0 & ft->id)
|
||||||
push eax // MATCH03 src unfilter
|
push eax // MATCH03 src unfilter
|
||||||
section LZCKLLT1
|
section LZCKLLT1 // 0x40==(0xf0 & ft->id)
|
||||||
push eax // MATCH03 src unfilter
|
push eax // MATCH03 src unfilter
|
||||||
//push offset filter_cto // MATCH04 cto unfilter
|
//push offset filter_cto // MATCH04 cto unfilter
|
||||||
.byte 0x6a, filter_cto // MATCH04 cto unfilter
|
.byte 0x6a, filter_cto // MATCH04 cto unfilter
|
||||||
@@ -432,14 +452,7 @@ section LZCKLLT9
|
|||||||
pop edx // MATCH04 cto
|
pop edx // MATCH04 cto
|
||||||
pop edi // MATCH03 src
|
pop edi // MATCH03 src
|
||||||
|
|
||||||
ctok32 0, dl // dl has cto8
|
ctok32 edi, dl // dl has cto8
|
||||||
/*
|
|
||||||
;0: Filter.addvalue = kernel_entry already did the 'add' at filter time
|
|
||||||
;[the runtime address of the destination was known], so we save 4 bytes
|
|
||||||
;(plus 1 cycle per instance) by not doing the 'add' when unfiltering.
|
|
||||||
;If .addvalue was 0, then use 'edi' instead of 0 in call to ckt32,
|
|
||||||
;to compensate for difference in origin of buffer.
|
|
||||||
*/
|
|
||||||
|
|
||||||
section LZCALLT9
|
section LZCALLT9
|
||||||
pop edi // MATCH03 src
|
pop edi // MATCH03 src
|
||||||
|
|||||||
@@ -3,108 +3,110 @@ 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 0000008c 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
1 LINUZ000 000000ab 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||||
2 LINUZ001 00000009 00000000 00000000 000000c0 2**0 CONTENTS, RELOC, READONLY
|
2 LINUZ001 00000009 00000000 00000000 000000df 2**0 CONTENTS, RELOC, READONLY
|
||||||
3 LINUZ010 00000003 00000000 00000000 000000c9 2**0 CONTENTS, READONLY
|
3 LINUZ010 00000003 00000000 00000000 000000e8 2**0 CONTENTS, READONLY
|
||||||
4 LINUZ101 00000005 00000000 00000000 000000cc 2**0 CONTENTS, RELOC, READONLY
|
4 LINUZ101 00000005 00000000 00000000 000000eb 2**0 CONTENTS, RELOC, READONLY
|
||||||
5 LINUZ110 0000002d 00000000 00000000 000000d1 2**0 CONTENTS, READONLY
|
5 LINUZ110 0000002d 00000000 00000000 000000f0 2**0 CONTENTS, READONLY
|
||||||
6 LINUZ120 0000000c 00000000 00000000 000000fe 2**0 CONTENTS, RELOC, READONLY
|
6 LINUZ120 0000000c 00000000 00000000 0000011d 2**0 CONTENTS, RELOC, READONLY
|
||||||
7 LINUZ130 00000005 00000000 00000000 0000010a 2**0 CONTENTS, RELOC, READONLY
|
7 LINUZ130 00000005 00000000 00000000 00000129 2**0 CONTENTS, RELOC, READONLY
|
||||||
8 LINUZ140 00000026 00000000 00000000 0000010f 2**0 CONTENTS, RELOC, READONLY
|
8 LINUZ140 00000022 00000000 00000000 0000012e 2**0 CONTENTS, RELOC, READONLY
|
||||||
9 LINUZ150 00000022 00000000 00000000 00000135 2**0 CONTENTS, RELOC, READONLY
|
9 LINUZ141 00000003 00000000 00000000 00000150 2**0 CONTENTS, READONLY
|
||||||
10 LZCALLT1 00000001 00000000 00000000 00000157 2**0 CONTENTS, READONLY
|
10 LINUZ145 00000008 00000000 00000000 00000153 2**0 CONTENTS, RELOC, READONLY
|
||||||
11 LZCKLLT1 00000008 00000000 00000000 00000158 2**0 CONTENTS, RELOC, READONLY
|
11 LINUZ150 00000022 00000000 00000000 0000015b 2**0 CONTENTS, RELOC, READONLY
|
||||||
12 LBZIMAGE 0000001e 00000000 00000000 00000160 2**0 CONTENTS, RELOC, READONLY
|
12 LZCALLT1 00000001 00000000 00000000 0000017d 2**0 CONTENTS, READONLY
|
||||||
13 LZIMAGE0 0000000f 00000000 00000000 0000017e 2**0 CONTENTS, RELOC, READONLY
|
13 LZCKLLT1 00000008 00000000 00000000 0000017e 2**0 CONTENTS, RELOC, READONLY
|
||||||
14 LZCUTPOI 00000000 00000000 00000000 0000018d 2**0 CONTENTS, READONLY
|
14 LBZIMAGE 0000001e 00000000 00000000 00000186 2**0 CONTENTS, RELOC, READONLY
|
||||||
15 N2BSMA10 00000003 00000000 00000000 0000018d 2**0 CONTENTS, RELOC, READONLY
|
15 LZIMAGE0 0000000f 00000000 00000000 000001a4 2**0 CONTENTS, RELOC, READONLY
|
||||||
16 N2BFAS10 00000002 00000000 00000000 00000190 2**0 CONTENTS, RELOC, READONLY
|
16 LZCUTPOI 00000000 00000000 00000000 000001b3 2**0 CONTENTS, READONLY
|
||||||
17 N2BFAS11 00000006 00000000 00000000 00000192 2**0 CONTENTS, READONLY
|
17 N2BSMA10 00000003 00000000 00000000 000001b3 2**0 CONTENTS, RELOC, READONLY
|
||||||
18 N2BDEC10 0000000b 00000000 00000000 00000198 2**0 CONTENTS, READONLY
|
18 N2BFAS10 00000002 00000000 00000000 000001b6 2**0 CONTENTS, RELOC, READONLY
|
||||||
19 N2BSMA20 00000005 00000000 00000000 000001a3 2**0 CONTENTS, RELOC, READONLY
|
19 N2BFAS11 00000006 00000000 00000000 000001b8 2**0 CONTENTS, READONLY
|
||||||
20 N2BFAS20 00000009 00000000 00000000 000001a8 2**0 CONTENTS, RELOC, READONLY
|
20 N2BDEC10 0000000b 00000000 00000000 000001be 2**0 CONTENTS, READONLY
|
||||||
21 N2BDEC20 0000000d 00000000 00000000 000001b1 2**0 CONTENTS, READONLY
|
21 N2BSMA20 00000005 00000000 00000000 000001c9 2**0 CONTENTS, RELOC, READONLY
|
||||||
22 N2BSMA30 0000000d 00000000 00000000 000001be 2**0 CONTENTS, RELOC, READONLY
|
22 N2BFAS20 00000009 00000000 00000000 000001ce 2**0 CONTENTS, RELOC, READONLY
|
||||||
23 N2BFAS30 0000000f 00000000 00000000 000001cb 2**0 CONTENTS, RELOC, READONLY
|
23 N2BDEC20 0000000d 00000000 00000000 000001d7 2**0 CONTENTS, READONLY
|
||||||
24 N2BDEC30 0000003e 00000000 00000000 000001da 2**0 CONTENTS, RELOC, READONLY
|
24 N2BSMA30 0000000d 00000000 00000000 000001e4 2**0 CONTENTS, RELOC, READONLY
|
||||||
25 N2BSMA40 0000000d 00000000 00000000 00000218 2**0 CONTENTS, RELOC, READONLY
|
25 N2BFAS30 0000000f 00000000 00000000 000001f1 2**0 CONTENTS, RELOC, READONLY
|
||||||
26 N2BFAS40 0000000f 00000000 00000000 00000225 2**0 CONTENTS, RELOC, READONLY
|
26 N2BDEC30 0000003e 00000000 00000000 00000200 2**0 CONTENTS, RELOC, READONLY
|
||||||
27 N2BSMA50 00000002 00000000 00000000 00000234 2**0 CONTENTS, READONLY
|
27 N2BSMA40 0000000d 00000000 00000000 0000023e 2**0 CONTENTS, RELOC, READONLY
|
||||||
28 N2BFAS50 00000003 00000000 00000000 00000236 2**0 CONTENTS, READONLY
|
28 N2BFAS40 0000000f 00000000 00000000 0000024b 2**0 CONTENTS, RELOC, READONLY
|
||||||
29 N2BDEC50 00000009 00000000 00000000 00000239 2**0 CONTENTS, READONLY
|
29 N2BSMA50 00000002 00000000 00000000 0000025a 2**0 CONTENTS, READONLY
|
||||||
30 N2BSMA60 0000000c 00000000 00000000 00000242 2**0 CONTENTS, RELOC, READONLY
|
30 N2BFAS50 00000003 00000000 00000000 0000025c 2**0 CONTENTS, READONLY
|
||||||
31 N2BFAS60 00000019 00000000 00000000 0000024e 2**0 CONTENTS, RELOC, READONLY
|
31 N2BDEC50 00000009 00000000 00000000 0000025f 2**0 CONTENTS, READONLY
|
||||||
32 N2BFAS61 00000016 00000000 00000000 00000267 2**0 CONTENTS, RELOC, READONLY
|
32 N2BSMA60 0000000c 00000000 00000000 00000268 2**0 CONTENTS, RELOC, READONLY
|
||||||
33 N2BDEC60 00000000 00000000 00000000 0000027d 2**0 CONTENTS, READONLY
|
33 N2BFAS60 00000019 00000000 00000000 00000274 2**0 CONTENTS, RELOC, READONLY
|
||||||
34 N2DSMA10 00000003 00000000 00000000 0000027d 2**0 CONTENTS, RELOC, READONLY
|
34 N2BFAS61 00000016 00000000 00000000 0000028d 2**0 CONTENTS, RELOC, READONLY
|
||||||
35 N2DFAS10 00000002 00000000 00000000 00000280 2**0 CONTENTS, RELOC, READONLY
|
35 N2BDEC60 00000000 00000000 00000000 000002a3 2**0 CONTENTS, READONLY
|
||||||
36 N2DFAS11 00000006 00000000 00000000 00000282 2**0 CONTENTS, READONLY
|
36 N2DSMA10 00000003 00000000 00000000 000002a3 2**0 CONTENTS, RELOC, READONLY
|
||||||
37 N2DDEC10 0000000b 00000000 00000000 00000288 2**0 CONTENTS, READONLY
|
37 N2DFAS10 00000002 00000000 00000000 000002a6 2**0 CONTENTS, RELOC, READONLY
|
||||||
38 N2DSMA20 00000005 00000000 00000000 00000293 2**0 CONTENTS, RELOC, READONLY
|
38 N2DFAS11 00000006 00000000 00000000 000002a8 2**0 CONTENTS, READONLY
|
||||||
39 N2DFAS20 00000009 00000000 00000000 00000298 2**0 CONTENTS, RELOC, READONLY
|
39 N2DDEC10 0000000b 00000000 00000000 000002ae 2**0 CONTENTS, READONLY
|
||||||
40 N2DDEC20 0000000d 00000000 00000000 000002a1 2**0 CONTENTS, READONLY
|
40 N2DSMA20 00000005 00000000 00000000 000002b9 2**0 CONTENTS, RELOC, READONLY
|
||||||
41 N2DSMA30 0000000d 00000000 00000000 000002ae 2**0 CONTENTS, RELOC, READONLY
|
41 N2DFAS20 00000009 00000000 00000000 000002be 2**0 CONTENTS, RELOC, READONLY
|
||||||
42 N2DFAS30 0000000f 00000000 00000000 000002bb 2**0 CONTENTS, RELOC, READONLY
|
42 N2DDEC20 0000000d 00000000 00000000 000002c7 2**0 CONTENTS, READONLY
|
||||||
43 N2DDEC30 00000052 00000000 00000000 000002ca 2**0 CONTENTS, RELOC, READONLY
|
43 N2DSMA30 0000000d 00000000 00000000 000002d4 2**0 CONTENTS, RELOC, READONLY
|
||||||
44 N2DSMA40 0000000d 00000000 00000000 0000031c 2**0 CONTENTS, RELOC, READONLY
|
44 N2DFAS30 0000000f 00000000 00000000 000002e1 2**0 CONTENTS, RELOC, READONLY
|
||||||
45 N2DFAS40 0000000f 00000000 00000000 00000329 2**0 CONTENTS, RELOC, READONLY
|
45 N2DDEC30 00000052 00000000 00000000 000002f0 2**0 CONTENTS, RELOC, READONLY
|
||||||
46 N2DSMA50 00000002 00000000 00000000 00000338 2**0 CONTENTS, READONLY
|
46 N2DSMA40 0000000d 00000000 00000000 00000342 2**0 CONTENTS, RELOC, READONLY
|
||||||
47 N2DFAS50 00000003 00000000 00000000 0000033a 2**0 CONTENTS, READONLY
|
47 N2DFAS40 0000000f 00000000 00000000 0000034f 2**0 CONTENTS, RELOC, READONLY
|
||||||
48 N2DDEC50 00000009 00000000 00000000 0000033d 2**0 CONTENTS, READONLY
|
48 N2DSMA50 00000002 00000000 00000000 0000035e 2**0 CONTENTS, READONLY
|
||||||
49 N2DSMA60 0000000c 00000000 00000000 00000346 2**0 CONTENTS, RELOC, READONLY
|
49 N2DFAS50 00000003 00000000 00000000 00000360 2**0 CONTENTS, READONLY
|
||||||
50 N2DFAS60 00000019 00000000 00000000 00000352 2**0 CONTENTS, RELOC, READONLY
|
50 N2DDEC50 00000009 00000000 00000000 00000363 2**0 CONTENTS, READONLY
|
||||||
51 N2DFAS61 00000016 00000000 00000000 0000036b 2**0 CONTENTS, RELOC, READONLY
|
51 N2DSMA60 0000000c 00000000 00000000 0000036c 2**0 CONTENTS, RELOC, READONLY
|
||||||
52 N2DDEC60 00000000 00000000 00000000 00000381 2**0 CONTENTS, READONLY
|
52 N2DFAS60 00000019 00000000 00000000 00000378 2**0 CONTENTS, RELOC, READONLY
|
||||||
53 N2ESMA10 00000003 00000000 00000000 00000381 2**0 CONTENTS, RELOC, READONLY
|
53 N2DFAS61 00000016 00000000 00000000 00000391 2**0 CONTENTS, RELOC, READONLY
|
||||||
54 N2EFAS10 00000002 00000000 00000000 00000384 2**0 CONTENTS, RELOC, READONLY
|
54 N2DDEC60 00000000 00000000 00000000 000003a7 2**0 CONTENTS, READONLY
|
||||||
55 N2EFAS11 00000006 00000000 00000000 00000386 2**0 CONTENTS, READONLY
|
55 N2ESMA10 00000003 00000000 00000000 000003a7 2**0 CONTENTS, RELOC, READONLY
|
||||||
56 N2EDEC10 0000000b 00000000 00000000 0000038c 2**0 CONTENTS, READONLY
|
56 N2EFAS10 00000002 00000000 00000000 000003aa 2**0 CONTENTS, RELOC, READONLY
|
||||||
57 N2ESMA20 00000005 00000000 00000000 00000397 2**0 CONTENTS, RELOC, READONLY
|
57 N2EFAS11 00000006 00000000 00000000 000003ac 2**0 CONTENTS, READONLY
|
||||||
58 N2EFAS20 00000009 00000000 00000000 0000039c 2**0 CONTENTS, RELOC, READONLY
|
58 N2EDEC10 0000000b 00000000 00000000 000003b2 2**0 CONTENTS, READONLY
|
||||||
59 N2EDEC20 0000000d 00000000 00000000 000003a5 2**0 CONTENTS, READONLY
|
59 N2ESMA20 00000005 00000000 00000000 000003bd 2**0 CONTENTS, RELOC, READONLY
|
||||||
60 N2ESMA30 0000000d 00000000 00000000 000003b2 2**0 CONTENTS, RELOC, READONLY
|
60 N2EFAS20 00000009 00000000 00000000 000003c2 2**0 CONTENTS, RELOC, READONLY
|
||||||
61 N2EFAS30 0000000f 00000000 00000000 000003bf 2**0 CONTENTS, RELOC, READONLY
|
61 N2EDEC20 0000000d 00000000 00000000 000003cb 2**0 CONTENTS, READONLY
|
||||||
62 N2EDEC30 0000005f 00000000 00000000 000003ce 2**0 CONTENTS, RELOC, READONLY
|
62 N2ESMA30 0000000d 00000000 00000000 000003d8 2**0 CONTENTS, RELOC, READONLY
|
||||||
63 N2ESMA40 0000000d 00000000 00000000 0000042d 2**0 CONTENTS, RELOC, READONLY
|
63 N2EFAS30 0000000f 00000000 00000000 000003e5 2**0 CONTENTS, RELOC, READONLY
|
||||||
64 N2EFAS40 0000000f 00000000 00000000 0000043a 2**0 CONTENTS, RELOC, READONLY
|
64 N2EDEC30 0000005f 00000000 00000000 000003f4 2**0 CONTENTS, RELOC, READONLY
|
||||||
65 N2ESMA50 00000002 00000000 00000000 00000449 2**0 CONTENTS, READONLY
|
65 N2ESMA40 0000000d 00000000 00000000 00000453 2**0 CONTENTS, RELOC, READONLY
|
||||||
66 N2EFAS50 00000003 00000000 00000000 0000044b 2**0 CONTENTS, READONLY
|
66 N2EFAS40 0000000f 00000000 00000000 00000460 2**0 CONTENTS, RELOC, READONLY
|
||||||
67 N2EDEC50 00000009 00000000 00000000 0000044e 2**0 CONTENTS, READONLY
|
67 N2ESMA50 00000002 00000000 00000000 0000046f 2**0 CONTENTS, READONLY
|
||||||
68 N2ESMA60 0000000c 00000000 00000000 00000457 2**0 CONTENTS, RELOC, READONLY
|
68 N2EFAS50 00000003 00000000 00000000 00000471 2**0 CONTENTS, READONLY
|
||||||
69 N2EFAS60 00000019 00000000 00000000 00000463 2**0 CONTENTS, RELOC, READONLY
|
69 N2EDEC50 00000009 00000000 00000000 00000474 2**0 CONTENTS, READONLY
|
||||||
70 N2EFAS61 00000016 00000000 00000000 0000047c 2**0 CONTENTS, RELOC, READONLY
|
70 N2ESMA60 0000000c 00000000 00000000 0000047d 2**0 CONTENTS, RELOC, READONLY
|
||||||
71 N2EDEC60 00000000 00000000 00000000 00000492 2**0 CONTENTS, READONLY
|
71 N2EFAS60 00000019 00000000 00000000 00000489 2**0 CONTENTS, RELOC, READONLY
|
||||||
72 LZMA_DEC00 0000002e 00000000 00000000 00000492 2**0 CONTENTS, RELOC, READONLY
|
72 N2EFAS61 00000016 00000000 00000000 000004a2 2**0 CONTENTS, RELOC, READONLY
|
||||||
73 LZMA_ELF00 00000048 00000000 00000000 000004c0 2**0 CONTENTS, READONLY
|
73 N2EDEC60 00000000 00000000 00000000 000004b8 2**0 CONTENTS, READONLY
|
||||||
74 LZMA_DEC10 00000a86 00000000 00000000 00000508 2**0 CONTENTS, READONLY
|
74 LZMA_DEC00 0000002e 00000000 00000000 000004b8 2**0 CONTENTS, RELOC, READONLY
|
||||||
75 LZMA_DEC20 00000a86 00000000 00000000 00000f8e 2**0 CONTENTS, READONLY
|
75 LZMA_ELF00 00000048 00000000 00000000 000004e6 2**0 CONTENTS, READONLY
|
||||||
76 LZMA_DEC30 0000001a 00000000 00000000 00001a14 2**0 CONTENTS, READONLY
|
76 LZMA_DEC10 00000a86 00000000 00000000 0000052e 2**0 CONTENTS, READONLY
|
||||||
77 LZCKLLT9 00000003 00000000 00000000 00001a2e 2**0 CONTENTS, READONLY
|
77 LZMA_DEC20 00000a86 00000000 00000000 00000fb4 2**0 CONTENTS, READONLY
|
||||||
78 ctok32.00 00000007 00000000 00000000 00001a31 2**0 CONTENTS, RELOC, READONLY
|
78 LZMA_DEC30 0000001a 00000000 00000000 00001a3a 2**0 CONTENTS, READONLY
|
||||||
79 ctok32.10 0000000e 00000000 00000000 00001a38 2**0 CONTENTS, RELOC, READONLY
|
79 LZCKLLT9 00000003 00000000 00000000 00001a54 2**0 CONTENTS, READONLY
|
||||||
80 ctok32.20 0000001f 00000000 00000000 00001a46 2**0 CONTENTS, RELOC, READONLY
|
80 ctok32.00 00000009 00000000 00000000 00001a57 2**0 CONTENTS, RELOC, READONLY
|
||||||
81 ctok32.30 00000007 00000000 00000000 00001a65 2**0 CONTENTS, RELOC, READONLY
|
81 ctok32.10 0000000e 00000000 00000000 00001a60 2**0 CONTENTS, RELOC, READONLY
|
||||||
82 ctok32.40 00000005 00000000 00000000 00001a6c 2**0 CONTENTS, RELOC, READONLY
|
82 ctok32.20 00000021 00000000 00000000 00001a6e 2**0 CONTENTS, RELOC, READONLY
|
||||||
83 LZCALLT9 00000001 00000000 00000000 00001a71 2**0 CONTENTS, READONLY
|
83 ctok32.30 00000007 00000000 00000000 00001a8f 2**0 CONTENTS, RELOC, READONLY
|
||||||
84 CALLTR00 0000000e 00000000 00000000 00001a72 2**0 CONTENTS, RELOC, READONLY
|
84 ctok32.40 00000005 00000000 00000000 00001a96 2**0 CONTENTS, RELOC, READONLY
|
||||||
85 CTCLEVE1 00000005 00000000 00000000 00001a80 2**0 CONTENTS, RELOC, READONLY
|
85 LZCALLT9 00000001 00000000 00000000 00001a9b 2**0 CONTENTS, READONLY
|
||||||
86 CALLTR01 00000005 00000000 00000000 00001a85 2**0 CONTENTS, READONLY
|
86 CALLTR00 0000000e 00000000 00000000 00001a9c 2**0 CONTENTS, RELOC, READONLY
|
||||||
87 CTBSHR01 00000004 00000000 00000000 00001a8a 2**0 CONTENTS, READONLY
|
87 CTCLEVE1 00000005 00000000 00000000 00001aaa 2**0 CONTENTS, RELOC, READONLY
|
||||||
88 CTBROR01 00000002 00000000 00000000 00001a8e 2**0 CONTENTS, READONLY
|
88 CALLTR01 00000005 00000000 00000000 00001aaf 2**0 CONTENTS, READONLY
|
||||||
89 CTBSWA01 00000005 00000000 00000000 00001a90 2**0 CONTENTS, READONLY
|
89 CTBSHR01 00000004 00000000 00000000 00001ab4 2**0 CONTENTS, READONLY
|
||||||
90 CALLTR02 0000000e 00000000 00000000 00001a95 2**0 CONTENTS, RELOC, READONLY
|
90 CTBROR01 00000002 00000000 00000000 00001ab8 2**0 CONTENTS, READONLY
|
||||||
91 CALLTR10 00000005 00000000 00000000 00001aa3 2**0 CONTENTS, RELOC, READONLY
|
91 CTBSWA01 00000005 00000000 00000000 00001aba 2**0 CONTENTS, READONLY
|
||||||
92 CALLTRE8 00000002 00000000 00000000 00001aa8 2**0 CONTENTS, READONLY
|
92 CALLTR02 0000000e 00000000 00000000 00001abf 2**0 CONTENTS, RELOC, READONLY
|
||||||
93 CALLTRE9 00000002 00000000 00000000 00001aaa 2**0 CONTENTS, READONLY
|
93 CALLTR10 00000005 00000000 00000000 00001acd 2**0 CONTENTS, RELOC, READONLY
|
||||||
94 CALLTR11 00000004 00000000 00000000 00001aac 2**0 CONTENTS, RELOC, READONLY
|
94 CALLTRE8 00000002 00000000 00000000 00001ad2 2**0 CONTENTS, READONLY
|
||||||
95 CTCLEVE2 00000005 00000000 00000000 00001ab0 2**0 CONTENTS, RELOC, READONLY
|
95 CALLTRE9 00000002 00000000 00000000 00001ad4 2**0 CONTENTS, READONLY
|
||||||
96 CALLTR12 00000002 00000000 00000000 00001ab5 2**0 CONTENTS, READONLY
|
96 CALLTR11 00000004 00000000 00000000 00001ad6 2**0 CONTENTS, RELOC, READONLY
|
||||||
97 CTBSHR11 00000004 00000000 00000000 00001ab7 2**0 CONTENTS, READONLY
|
97 CTCLEVE2 00000005 00000000 00000000 00001ada 2**0 CONTENTS, RELOC, READONLY
|
||||||
98 CTBROR11 00000002 00000000 00000000 00001abb 2**0 CONTENTS, READONLY
|
98 CALLTR12 00000002 00000000 00000000 00001adf 2**0 CONTENTS, READONLY
|
||||||
99 CTBSWA11 00000005 00000000 00000000 00001abd 2**0 CONTENTS, READONLY
|
99 CTBSHR11 00000004 00000000 00000000 00001ae1 2**0 CONTENTS, READONLY
|
||||||
100 CALLTR13 00000005 00000000 00000000 00001ac2 2**0 CONTENTS, RELOC, READONLY
|
100 CTBROR11 00000002 00000000 00000000 00001ae5 2**0 CONTENTS, READONLY
|
||||||
101 LINUZ990 00000005 00000000 00000000 00001ac7 2**0 CONTENTS, READONLY
|
101 CTBSWA11 00000005 00000000 00000000 00001ae7 2**0 CONTENTS, READONLY
|
||||||
102 UPX1HEAD 00000020 00000000 00000000 00001acc 2**0 CONTENTS, READONLY
|
102 CALLTR13 00000005 00000000 00000000 00001aec 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
103 LINUZ990 00000005 00000000 00000000 00001af1 2**0 CONTENTS, READONLY
|
||||||
|
104 UPX1HEAD 00000020 00000000 00000000 00001af6 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
|
||||||
@@ -147,6 +149,8 @@ SYMBOL TABLE:
|
|||||||
00000000 l d LINUZ120 00000000 LINUZ120
|
00000000 l d LINUZ120 00000000 LINUZ120
|
||||||
00000000 l d LINUZ130 00000000 LINUZ130
|
00000000 l d LINUZ130 00000000 LINUZ130
|
||||||
00000000 l d LINUZ140 00000000 LINUZ140
|
00000000 l d LINUZ140 00000000 LINUZ140
|
||||||
|
00000000 l d LINUZ141 00000000 LINUZ141
|
||||||
|
00000000 l d LINUZ145 00000000 LINUZ145
|
||||||
00000000 l d LINUZ150 00000000 LINUZ150
|
00000000 l d LINUZ150 00000000 LINUZ150
|
||||||
00000000 l d LZCALLT1 00000000 LZCALLT1
|
00000000 l d LZCALLT1 00000000 LZCALLT1
|
||||||
00000000 l d LZCKLLT1 00000000 LZCKLLT1
|
00000000 l d LZCKLLT1 00000000 LZCKLLT1
|
||||||
@@ -218,9 +222,9 @@ SYMBOL TABLE:
|
|||||||
00000000 *UND* 00000000 dec_offset
|
00000000 *UND* 00000000 dec_offset
|
||||||
00000000 *UND* 00000000 unc_offset
|
00000000 *UND* 00000000 unc_offset
|
||||||
00000000 *UND* 00000000 neg_length_mov
|
00000000 *UND* 00000000 neg_length_mov
|
||||||
00000000 *UND* 00000000 neg_page_offset
|
|
||||||
00000000 *UND* 00000000 filter_cto
|
00000000 *UND* 00000000 filter_cto
|
||||||
00000000 *UND* 00000000 filter_length
|
00000000 *UND* 00000000 filter_length
|
||||||
|
00000000 *UND* 00000000 neg_page_offset
|
||||||
00000000 *UND* 00000000 copy_source
|
00000000 *UND* 00000000 copy_source
|
||||||
00000000 *UND* 00000000 copy_dest
|
00000000 *UND* 00000000 copy_dest
|
||||||
00000000 *UND* 00000000 words_to_copy
|
00000000 *UND* 00000000 words_to_copy
|
||||||
@@ -258,6 +262,11 @@ OFFSET TYPE VALUE
|
|||||||
00000015 R_386_32 unc_offset
|
00000015 R_386_32 unc_offset
|
||||||
0000001b R_386_32 neg_length_mov
|
0000001b R_386_32 neg_length_mov
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LINUZ145]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000002 R_386_8 filter_cto
|
||||||
|
00000004 R_386_32 filter_length
|
||||||
|
|
||||||
RELOCATION RECORDS FOR [LINUZ150]:
|
RELOCATION RECORDS FOR [LINUZ150]:
|
||||||
OFFSET TYPE VALUE
|
OFFSET TYPE VALUE
|
||||||
00000006 R_386_32 load_physical_address
|
00000006 R_386_32 load_physical_address
|
||||||
@@ -447,7 +456,7 @@ OFFSET TYPE VALUE
|
|||||||
|
|
||||||
RELOCATION RECORDS FOR [ctok32.00]:
|
RELOCATION RECORDS FOR [ctok32.00]:
|
||||||
OFFSET TYPE VALUE
|
OFFSET TYPE VALUE
|
||||||
00000001 R_386_PC8 ctok32.20
|
00000003 R_386_PC8 ctok32.20
|
||||||
|
|
||||||
RELOCATION RECORDS FOR [ctok32.10]:
|
RELOCATION RECORDS FOR [ctok32.10]:
|
||||||
OFFSET TYPE VALUE
|
OFFSET TYPE VALUE
|
||||||
|
|||||||
Reference in New Issue
Block a user