mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Factor out a common Packer::defineFilterSymbols(). Enable filters
0x49 and 0x49 for all i386-dos32.* formats. Needs testing.
This commit is contained in:
parent
de9dcc4ed6
commit
b21ce925fb
|
@ -68,7 +68,8 @@ const int *PackDjgpp2::getCompressionMethods(int method, int level) const
|
|||
const int *PackDjgpp2::getFilters() const
|
||||
{
|
||||
static const int filters[] = {
|
||||
0x26, 0x24, 0x16, 0x13, 0x14, 0x11, FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
0x26, 0x24, 0x49, 0x46, 0x16, 0x13, 0x14, 0x11,
|
||||
FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
@ -234,29 +235,6 @@ void PackDjgpp2::stripDebug()
|
|||
}
|
||||
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
return false;
|
||||
assert(ft->calls > 0);
|
||||
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
|
||||
#if 0
|
||||
if (0x80==(ft->id & 0xF0)) {
|
||||
int const mru = ph.n_mru ? 1+ ph.n_mru : 0;
|
||||
if (mru && mru!=256) {
|
||||
unsigned const is_pwr2 = (0==((mru -1) & mru));
|
||||
//patch_le32(0x80 + (char *)loader, lsize - 0x80, "NMRU", mru - is_pwr2);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
@ -350,7 +328,7 @@ void PackDjgpp2::pack(OutputFile *fo)
|
|||
linker->defineSymbol("stack_for_lzma", bss->vaddr + bss->size);
|
||||
linker->defineSymbol("start_of_uncompressed", text->vaddr - hdrsize);
|
||||
linker->defineSymbol("start_of_compressed", data->vaddr);
|
||||
defineFilterSymbols(linker, &ft);
|
||||
defineFilterSymbols(&ft);
|
||||
|
||||
// we should not overwrite our decompressor during unpacking
|
||||
// the original coff header (which is put just before the
|
||||
|
|
|
@ -121,7 +121,7 @@ void PackElks8086::pack(OutputFile *fo)
|
|||
patchPackHeader(loader, lsize);
|
||||
#if 0
|
||||
// FIXME
|
||||
defineFilterSymbols();
|
||||
defineFilterSymbols(&ft);
|
||||
defineDecompressorSymbols();
|
||||
//patch_le32(loader, lsize, "ESI1", zimage_offset + lsize);
|
||||
//patch_le32(loader, lsize, "KEIP", kernel_entry);
|
||||
|
|
|
@ -59,7 +59,8 @@ const int *PackTmt::getCompressionMethods(int method, int level) const
|
|||
const int *PackTmt::getFilters() const
|
||||
{
|
||||
static const int filters[] = {
|
||||
0x26, 0x24, 0x16, 0x13, 0x14, 0x11, FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
0x26, 0x24, 0x49, 0x46, 0x16, 0x13, 0x14, 0x11,
|
||||
FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
@ -186,19 +187,6 @@ bool PackTmt::canPack()
|
|||
}
|
||||
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
return false;
|
||||
assert(ft->calls > 0);
|
||||
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
@ -264,8 +252,8 @@ void PackTmt::pack(OutputFile *fo)
|
|||
|
||||
// patch loader
|
||||
linker->defineSymbol("original_entry", ih.entry);
|
||||
defineFilterSymbols(linker, &ft);
|
||||
defineDecompressorSymbols();
|
||||
defineFilterSymbols(&ft);
|
||||
|
||||
linker->defineSymbol("bytes_to_copy", ph.c_len + d_len);
|
||||
linker->defineSymbol("copy_dest", 0u - (ph.u_len + ph.overlap_overhead + d_len - 1));
|
||||
|
|
|
@ -199,26 +199,6 @@ bool PackVmlinuxBase<T>::canPack()
|
|||
return 0 < n_ptload;
|
||||
}
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0) {
|
||||
linker->defineSymbol("filter_length", 0);
|
||||
return false;
|
||||
}
|
||||
assert(ft->calls > 0);
|
||||
|
||||
if (0x50==(0xF0 & ft->id)) {
|
||||
linker->defineSymbol("FID", ft->id);
|
||||
linker->defineSymbol("CTO", ft->cto);
|
||||
}
|
||||
else {
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void PackVmlinuxBase<T>::pack(OutputFile *fo)
|
||||
|
@ -269,11 +249,7 @@ void PackVmlinuxBase<T>::pack(OutputFile *fo)
|
|||
const unsigned lsize = getLoaderSize();
|
||||
|
||||
defineDecompressorSymbols();
|
||||
defineFilterSymbols(linker, &ft);
|
||||
if (0x40==(0xf0 & ft.id)) {
|
||||
linker->defineSymbol("filter_length", ft.buf_len); // redefine
|
||||
assert(ft.buf_len == ph.u_len);
|
||||
}
|
||||
defineFilterSymbols(&ft);
|
||||
relocateLoader();
|
||||
|
||||
MemBuffer loader(lsize);
|
||||
|
|
|
@ -67,8 +67,8 @@ const int *PackVmlinuzI386::getCompressionMethods(int method, int level) const
|
|||
const int *PackVmlinuzI386::getFilters() const
|
||||
{
|
||||
static const int filters[] = {
|
||||
0x49,
|
||||
0x26, 0x24, 0x16, 0x13, 0x14, 0x11, FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
0x26, 0x24, 0x49, 0x46, 0x16, 0x13, 0x14, 0x11,
|
||||
FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
@ -291,19 +291,6 @@ void PackVmlinuzI386::buildLoader(const Filter *ft)
|
|||
}
|
||||
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
return false;
|
||||
assert(ft->calls > 0);
|
||||
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
void PackVmlinuzI386::pack(OutputFile *fo)
|
||||
{
|
||||
readKernel();
|
||||
|
@ -321,8 +308,8 @@ void PackVmlinuzI386::pack(OutputFile *fo)
|
|||
|
||||
const unsigned lsize = getLoaderSize();
|
||||
|
||||
defineFilterSymbols(linker, &ft);
|
||||
defineDecompressorSymbols();
|
||||
defineFilterSymbols(&ft);
|
||||
linker->defineSymbol("src_for_decompressor", zimage_offset + lsize);
|
||||
linker->defineSymbol("original_entry", physical_start);
|
||||
linker->defineSymbol("stack_offset", stack_offset_during_uncompression);
|
||||
|
@ -443,11 +430,7 @@ void PackBvmlinuzI386::pack(OutputFile *fo)
|
|||
linker->defineSymbol("copy_dest", physical_start + edi);
|
||||
linker->defineSymbol("copy_source", bzimage_offset + esi);
|
||||
|
||||
defineFilterSymbols(linker, &ft);
|
||||
if (0x40==(0xf0 & ft.id)) {
|
||||
linker->defineSymbol("filter_length", ft.buf_len); // redefine
|
||||
assert(ft.buf_len == ph.u_len);
|
||||
}
|
||||
defineFilterSymbols(&ft);
|
||||
defineDecompressorSymbols();
|
||||
linker->defineSymbol("original_entry", physical_start);
|
||||
linker->defineSymbol("stack_offset", stack_offset_during_uncompression);
|
||||
|
|
|
@ -169,20 +169,6 @@ int PackW32Pe::readFileHeader()
|
|||
}
|
||||
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
return false;
|
||||
assert(ft->calls > 0);
|
||||
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// import handling
|
||||
**************************************************************************/
|
||||
|
@ -892,12 +878,9 @@ void PackW32Pe::pack(OutputFile *fo)
|
|||
linker->defineSymbol("VirtualFree", myimport + get_le32(oimpdlls + 16) + 16);
|
||||
#endif
|
||||
|
||||
defineFilterSymbols(linker, &ft);
|
||||
linker->defineSymbol("filter_buffer_start", ih.codebase - rvamin);
|
||||
if (0x40==(0xf0 & ft.id)) {
|
||||
linker->defineSymbol("filter_length", ft.buf_len); // redefine
|
||||
}
|
||||
defineDecompressorSymbols();
|
||||
defineFilterSymbols(&ft);
|
||||
linker->defineSymbol("filter_buffer_start", ih.codebase - rvamin);
|
||||
|
||||
// in case of overlapping decompression, this hack is needed,
|
||||
// because windoze zeroes the word pointed by tlsindex before
|
||||
|
|
|
@ -76,7 +76,8 @@ const int *PackWcle::getCompressionMethods(int method, int level) const
|
|||
const int *PackWcle::getFilters() const
|
||||
{
|
||||
static const int filters[] = {
|
||||
0x26, 0x24, 0x16, 0x13, 0x14, 0x11, FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
0x26, 0x24, 0x49, 0x46, 0x16, 0x13, 0x14, 0x11,
|
||||
FT_ULTRA_BRUTE, 0x25, 0x15, 0x12,
|
||||
FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
@ -142,20 +143,6 @@ bool PackWcle::canPack()
|
|||
}
|
||||
|
||||
|
||||
static bool defineFilterSymbols(Linker *linker, const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
return false;
|
||||
assert(ft->calls > 0);
|
||||
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
linker->defineSymbol("filter_length",
|
||||
(ft->id & 0xf) % 3 == 0 ? ft->calls :
|
||||
ft->lastcall - ft->calls * 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
@ -548,9 +535,9 @@ void PackWcle::pack(OutputFile *fo)
|
|||
linker->defineSymbol("original_stack", ih.init_esp_offset +
|
||||
IOT(ih.init_ss_object - 1, my_base_address));
|
||||
linker->defineSymbol("start_of_relocs", mps*pages);
|
||||
defineFilterSymbols(linker, &ft);
|
||||
linker->defineSymbol("filter_buffer_start", text_vaddr);
|
||||
defineDecompressorSymbols();
|
||||
defineFilterSymbols(&ft);
|
||||
linker->defineSymbol("filter_buffer_start", text_vaddr);
|
||||
|
||||
unsigned jpos = (((ph.c_len + 3) &~ 3) + d_len + 3) / 4;
|
||||
linker->defineSymbol("words_to_copy", jpos);
|
||||
|
|
|
@ -247,9 +247,9 @@ protected:
|
|||
|
||||
// filter handling [see packer_f.cpp]
|
||||
virtual bool isValidFilter(int filter_id) const;
|
||||
virtual void optimizeFilter(Filter *, const upx_byte *, unsigned) const
|
||||
{ }
|
||||
virtual void optimizeFilter(Filter *, const upx_byte *, unsigned) const { }
|
||||
virtual void addFilter32(int filter_id);
|
||||
virtual void defineFilterSymbols(const Filter *ft);
|
||||
|
||||
// stub and overlay util
|
||||
static void handleStub(InputFile *fi, OutputFile *fo, long size);
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "conf.h"
|
||||
#include "packer.h"
|
||||
#include "filter.h"
|
||||
#include "linker.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -309,6 +310,54 @@ void Packer::addFilter32(int filter_id)
|
|||
#undef MRUFLT
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
void Packer::defineFilterSymbols(const Filter *ft)
|
||||
{
|
||||
if (ft->id == 0)
|
||||
{
|
||||
linker->defineSymbol("filter_length", 0);
|
||||
linker->defineSymbol("filter_cto", 0);
|
||||
return;
|
||||
}
|
||||
assert(ft->calls > 0);
|
||||
assert(ft->buf_len > 0);
|
||||
|
||||
if (ft->id >= 0x40 && ft->id <= 0x4f)
|
||||
{
|
||||
linker->defineSymbol("filter_length", ft->buf_len);
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
}
|
||||
else if (ft->id >= 0x50 && ft->id <= 0x5f)
|
||||
{
|
||||
linker->defineSymbol("filter_id", ft->id);
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
}
|
||||
else if ((ft->id & 0xf) % 3 == 0)
|
||||
{
|
||||
linker->defineSymbol("filter_length", ft->calls);
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
}
|
||||
else
|
||||
{
|
||||
linker->defineSymbol("filter_length", ft->lastcall - ft->calls * 4);
|
||||
linker->defineSymbol("filter_cto", ft->cto);
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (0x80==(ft->id & 0xF0)) {
|
||||
int const mru = ph.n_mru ? 1+ ph.n_mru : 0;
|
||||
if (mru && mru!=256) {
|
||||
unsigned const is_pwr2 = (0==((mru -1) & mru));
|
||||
//patch_le32(0x80 + (char *)loader, lsize - 0x80, "NMRU", mru - is_pwr2);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
vi:ts=4:et:nowrap
|
||||
*/
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -290,10 +290,8 @@ ctend:
|
|||
// 2nd param: where is cto8 (dl, bl, or literal)
|
||||
|
||||
section ctok32.00
|
||||
.ifnc \addvalue, 0
|
||||
.ifnc \addvalue, esi
|
||||
.ifc \addvalue, edi
|
||||
mov esi, \addvalue
|
||||
.endif
|
||||
.endif
|
||||
jmps ckstart
|
||||
ckloop3:
|
||||
|
|
|
@ -75,8 +75,8 @@ spin:
|
|||
section LINUX010
|
||||
ldr r0,[sp,#3*4] // &outdata
|
||||
ldr r1,[sp,#2*4] // outsize
|
||||
loadcon8 2,CTO // mov r2,#CTO
|
||||
loadcon8 3,FID // mov r3,#FID
|
||||
loadcon8 2,filter_cto // mov r2,#filter_cto
|
||||
loadcon8 3,filter_id // mov r3,#filter_id
|
||||
bl unfilter // unfilter(&outdata, outsize, cto, fid)
|
||||
|
||||
section LINUX020
|
||||
|
|
|
@ -79,8 +79,13 @@ section DJ2BSS00
|
|||
|
||||
section DJCALLT2
|
||||
pop edi
|
||||
|
||||
cjt32 0
|
||||
|
||||
section ctok32.00
|
||||
mov ecx, offset filter_length
|
||||
ctok32 0, (offset filter_cto)
|
||||
|
||||
section DJRETURN
|
||||
jmp original_entry
|
||||
|
||||
|
|
|
@ -84,8 +84,13 @@ section TMTMAIN5
|
|||
|
||||
section TMTCALT2
|
||||
pop edi
|
||||
|
||||
cjt32 ebp
|
||||
|
||||
section ctok32.00
|
||||
mov ecx, offset filter_length
|
||||
ctok32 ebp, (offset filter_cto)
|
||||
|
||||
// =============
|
||||
// ============= RELOCATION
|
||||
// =============
|
||||
|
|
|
@ -94,9 +94,13 @@ section WCCTTPOS
|
|||
lea edi, [ebp + filter_buffer_start]
|
||||
section WCCTTNUL
|
||||
mov edi, ebp
|
||||
section WCALLTR1
|
||||
|
||||
cjt32 ebp
|
||||
|
||||
section ctok32.00
|
||||
mov ecx, offset filter_length
|
||||
ctok32 ebp, (offset filter_cto)
|
||||
|
||||
// =============
|
||||
// ============= RELOCATION
|
||||
// =============
|
||||
|
|
|
@ -48,8 +48,8 @@ SYMBOL TABLE:
|
|||
00000000 *UND* 00000000 METHOD
|
||||
00000000 *UND* 00000000 COMPRESSED_LENGTH
|
||||
00000000 *UND* 00000000 UNCOMPRESSED_LENGTH
|
||||
00000000 *UND* 00000000 CTO
|
||||
00000000 *UND* 00000000 FID
|
||||
00000000 *UND* 00000000 filter_cto
|
||||
00000000 *UND* 00000000 filter_id
|
||||
00000000 g F NRV2B 000000c4 ucl_nrv2b_decompress_8
|
||||
00000000 g F NRV2D 00000100 ucl_nrv2d_decompress_8
|
||||
00000000 g F NRV2E 00000114 ucl_nrv2e_decompress_8
|
||||
|
@ -65,8 +65,8 @@ OFFSET TYPE VALUE
|
|||
|
||||
RELOCATION RECORDS FOR [LINUX010]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_ARM_ABS8 CTO
|
||||
0000000c R_ARM_ABS8 FID
|
||||
00000008 R_ARM_ABS8 filter_cto
|
||||
0000000c R_ARM_ABS8 filter_id
|
||||
00000010 R_ARM_PC24 ctok32.00
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.10]:
|
||||
|
|
|
@ -88,8 +88,13 @@ Idx Name Size VMA LMA File off Algn Flags
|
|||
83 CTBROR11 00000002 00000000 00000000 0000194b 2**0 CONTENTS, READONLY
|
||||
84 CTBSWA11 00000005 00000000 00000000 0000194d 2**0 CONTENTS, READONLY
|
||||
85 CALLTR13 00000005 00000000 00000000 00001952 2**0 CONTENTS, RELOC, READONLY
|
||||
86 DJRETURN 00000005 00000000 00000000 00001957 2**0 CONTENTS, RELOC, READONLY
|
||||
87 UPX1HEAD 00000020 00000000 00000000 0000195c 2**0 CONTENTS, READONLY
|
||||
86 ctok32.00 0000000c 00000000 00000000 00001957 2**0 CONTENTS, RELOC, READONLY
|
||||
87 ctok32.10 0000000e 00000000 00000000 00001963 2**0 CONTENTS, RELOC, READONLY
|
||||
88 ctok32.20 00000020 00000000 00000000 00001971 2**0 CONTENTS, RELOC, READONLY
|
||||
89 ctok32.30 00000007 00000000 00000000 00001991 2**0 CONTENTS, RELOC, READONLY
|
||||
90 ctok32.40 00000005 00000000 00000000 00001998 2**0 CONTENTS, RELOC, READONLY
|
||||
91 DJRETURN 00000005 00000000 00000000 0000199d 2**0 CONTENTS, RELOC, READONLY
|
||||
92 UPX1HEAD 00000020 00000000 00000000 000019a2 2**0 CONTENTS, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d N2BSMA10 00000000 N2BSMA10
|
||||
00000000 l d N2BFAS11 00000000 N2BFAS11
|
||||
|
@ -119,6 +124,10 @@ SYMBOL TABLE:
|
|||
00000000 l d CALLTR10 00000000 CALLTR10
|
||||
00000000 l d CALLTR11 00000000 CALLTR11
|
||||
00000000 l d CALLTR13 00000000 CALLTR13
|
||||
00000000 l d ctok32.00 00000000 ctok32.00
|
||||
00000000 l d ctok32.10 00000000 ctok32.10
|
||||
00000000 l d ctok32.20 00000000 ctok32.20
|
||||
00000000 l d ctok32.40 00000000 ctok32.40
|
||||
00000000 l d DJ2MAIN1 00000000 DJ2MAIN1
|
||||
00000000 l d DJCALLT1 00000000 DJCALLT1
|
||||
00000000 l d DJ2MAIN2 00000000 DJ2MAIN2
|
||||
|
@ -177,6 +186,7 @@ SYMBOL TABLE:
|
|||
00000000 l d CTBSHR11 00000000 CTBSHR11
|
||||
00000000 l d CTBROR11 00000000 CTBROR11
|
||||
00000000 l d CTBSWA11 00000000 CTBSWA11
|
||||
00000000 l d ctok32.30 00000000 ctok32.30
|
||||
00000000 l d DJRETURN 00000000 DJRETURN
|
||||
00000000 l d UPX1HEAD 00000000 UPX1HEAD
|
||||
00000000 *UND* 00000000 start_of_compressed
|
||||
|
@ -399,6 +409,29 @@ RELOCATION RECORDS FOR [CALLTR13]:
|
|||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 CALLTR10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 filter_length
|
||||
00000006 R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.10]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000d R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 ctok32.40
|
||||
00000008 R_386_8 filter_cto
|
||||
0000000a R_386_PC8 ctok32.40
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 ctok32.10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 ctok32.00
|
||||
|
||||
RELOCATION RECORDS FOR [DJRETURN]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC32 original_entry
|
||||
|
|
|
@ -90,12 +90,17 @@ Idx Name Size VMA LMA File off Algn Flags
|
|||
85 CTBROR11 00000002 00000000 00000000 0000196f 2**0 CONTENTS, READONLY
|
||||
86 CTBSWA11 00000005 00000000 00000000 00001971 2**0 CONTENTS, READONLY
|
||||
87 CALLTR13 00000007 00000000 00000000 00001976 2**0 CONTENTS, RELOC, READONLY
|
||||
88 TMTRELOC 00000003 00000000 00000000 0000197d 2**0 CONTENTS, READONLY
|
||||
89 RELOC320 00000029 00000000 00000000 00001980 2**0 CONTENTS, RELOC, READONLY
|
||||
90 REL32BIG 00000009 00000000 00000000 000019a9 2**0 CONTENTS, RELOC, READONLY
|
||||
91 RELOC32J 00000002 00000000 00000000 000019b2 2**0 CONTENTS, RELOC, READONLY
|
||||
92 REL32END 00000000 00000000 00000000 000019b4 2**0 CONTENTS, READONLY
|
||||
93 TMTJUMP1 00000005 00000000 00000000 000019b4 2**0 CONTENTS, RELOC, READONLY
|
||||
88 ctok32.00 0000000c 00000000 00000000 0000197d 2**0 CONTENTS, RELOC, READONLY
|
||||
89 ctok32.10 0000000e 00000000 00000000 00001989 2**0 CONTENTS, RELOC, READONLY
|
||||
90 ctok32.20 00000022 00000000 00000000 00001997 2**0 CONTENTS, RELOC, READONLY
|
||||
91 ctok32.30 00000007 00000000 00000000 000019b9 2**0 CONTENTS, RELOC, READONLY
|
||||
92 ctok32.40 00000005 00000000 00000000 000019c0 2**0 CONTENTS, RELOC, READONLY
|
||||
93 TMTRELOC 00000003 00000000 00000000 000019c5 2**0 CONTENTS, READONLY
|
||||
94 RELOC320 00000029 00000000 00000000 000019c8 2**0 CONTENTS, RELOC, READONLY
|
||||
95 REL32BIG 00000009 00000000 00000000 000019f1 2**0 CONTENTS, RELOC, READONLY
|
||||
96 RELOC32J 00000002 00000000 00000000 000019fa 2**0 CONTENTS, RELOC, READONLY
|
||||
97 REL32END 00000000 00000000 00000000 000019fc 2**0 CONTENTS, READONLY
|
||||
98 TMTJUMP1 00000005 00000000 00000000 000019fc 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d TMTCUTPO 00000000 TMTCUTPO
|
||||
00000000 l d N2BSMA10 00000000 N2BSMA10
|
||||
|
@ -126,6 +131,10 @@ SYMBOL TABLE:
|
|||
00000000 l d CALLTR10 00000000 CALLTR10
|
||||
00000000 l d CALLTR11 00000000 CALLTR11
|
||||
00000000 l d CALLTR13 00000000 CALLTR13
|
||||
00000000 l d ctok32.00 00000000 ctok32.00
|
||||
00000000 l d ctok32.10 00000000 ctok32.10
|
||||
00000000 l d ctok32.20 00000000 ctok32.20
|
||||
00000000 l d ctok32.40 00000000 ctok32.40
|
||||
00000000 l d RELOC320 00000000 RELOC320
|
||||
00000000 l d RELOC32J 00000000 RELOC32J
|
||||
00000000 l d TMTMAIN1 00000000 TMTMAIN1
|
||||
|
@ -187,6 +196,7 @@ SYMBOL TABLE:
|
|||
00000000 l d CTBSHR11 00000000 CTBSHR11
|
||||
00000000 l d CTBROR11 00000000 CTBROR11
|
||||
00000000 l d CTBSWA11 00000000 CTBSWA11
|
||||
00000000 l d ctok32.30 00000000 ctok32.30
|
||||
00000000 l d TMTRELOC 00000000 TMTRELOC
|
||||
00000000 l d REL32BIG 00000000 REL32BIG
|
||||
00000000 l d REL32END 00000000 REL32END
|
||||
|
@ -410,6 +420,29 @@ RELOCATION RECORDS FOR [CALLTR13]:
|
|||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 CALLTR10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 filter_length
|
||||
00000006 R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.10]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000d R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 ctok32.40
|
||||
00000008 R_386_8 filter_cto
|
||||
0000000a R_386_PC8 ctok32.40
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 ctok32.10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 ctok32.00
|
||||
|
||||
RELOCATION RECORDS FOR [RELOC320]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_386_PC8 RELOC32J
|
||||
|
|
|
@ -72,31 +72,35 @@ Idx Name Size VMA LMA File off Algn Flags
|
|||
67 WCLEMAI2 00000009 00000000 00000000 00001927 2**0 CONTENTS, RELOC, READONLY
|
||||
68 WCCTTPOS 00000006 00000000 00000000 00001930 2**0 CONTENTS, RELOC, READONLY
|
||||
69 WCCTTNUL 00000002 00000000 00000000 00001936 2**0 CONTENTS, READONLY
|
||||
70 WCALLTR1 00000000 00000000 00000000 00001938 2**0 CONTENTS, READONLY
|
||||
71 CALLTR00 0000000e 00000000 00000000 00001938 2**0 CONTENTS, RELOC, READONLY
|
||||
72 CTCLEVE1 00000005 00000000 00000000 00001946 2**0 CONTENTS, RELOC, READONLY
|
||||
73 CALLTR01 00000005 00000000 00000000 0000194b 2**0 CONTENTS, READONLY
|
||||
74 CTBSHR01 00000004 00000000 00000000 00001950 2**0 CONTENTS, READONLY
|
||||
75 CTBROR01 00000002 00000000 00000000 00001954 2**0 CONTENTS, READONLY
|
||||
76 CTBSWA01 00000005 00000000 00000000 00001956 2**0 CONTENTS, READONLY
|
||||
77 CALLTR02 00000010 00000000 00000000 0000195b 2**0 CONTENTS, RELOC, READONLY
|
||||
78 CALLTR10 00000005 00000000 00000000 0000196b 2**0 CONTENTS, RELOC, READONLY
|
||||
79 CALLTRE8 00000002 00000000 00000000 00001970 2**0 CONTENTS, READONLY
|
||||
80 CALLTRE9 00000002 00000000 00000000 00001972 2**0 CONTENTS, READONLY
|
||||
81 CALLTR11 00000004 00000000 00000000 00001974 2**0 CONTENTS, RELOC, READONLY
|
||||
82 CTCLEVE2 00000005 00000000 00000000 00001978 2**0 CONTENTS, RELOC, READONLY
|
||||
83 CALLTR12 00000002 00000000 00000000 0000197d 2**0 CONTENTS, READONLY
|
||||
84 CTBSHR11 00000004 00000000 00000000 0000197f 2**0 CONTENTS, READONLY
|
||||
85 CTBROR11 00000002 00000000 00000000 00001983 2**0 CONTENTS, READONLY
|
||||
86 CTBSWA11 00000005 00000000 00000000 00001985 2**0 CONTENTS, READONLY
|
||||
87 CALLTR13 00000007 00000000 00000000 0000198a 2**0 CONTENTS, RELOC, READONLY
|
||||
88 WCRELOC1 00000003 00000000 00000000 00001991 2**0 CONTENTS, READONLY
|
||||
89 RELOC320 00000029 00000000 00000000 00001994 2**0 CONTENTS, RELOC, READONLY
|
||||
90 REL32BIG 00000009 00000000 00000000 000019bd 2**0 CONTENTS, RELOC, READONLY
|
||||
91 RELOC32J 00000002 00000000 00000000 000019c6 2**0 CONTENTS, RELOC, READONLY
|
||||
92 REL32END 00000000 00000000 00000000 000019c8 2**0 CONTENTS, READONLY
|
||||
93 WCRELSEL 00000002 00000000 00000000 000019c8 2**0 CONTENTS, READONLY
|
||||
94 WCLEMAI4 00000015 00000000 00000000 000019ca 2**0 CONTENTS, RELOC, READONLY
|
||||
70 CALLTR00 0000000e 00000000 00000000 00001938 2**0 CONTENTS, RELOC, READONLY
|
||||
71 CTCLEVE1 00000005 00000000 00000000 00001946 2**0 CONTENTS, RELOC, READONLY
|
||||
72 CALLTR01 00000005 00000000 00000000 0000194b 2**0 CONTENTS, READONLY
|
||||
73 CTBSHR01 00000004 00000000 00000000 00001950 2**0 CONTENTS, READONLY
|
||||
74 CTBROR01 00000002 00000000 00000000 00001954 2**0 CONTENTS, READONLY
|
||||
75 CTBSWA01 00000005 00000000 00000000 00001956 2**0 CONTENTS, READONLY
|
||||
76 CALLTR02 00000010 00000000 00000000 0000195b 2**0 CONTENTS, RELOC, READONLY
|
||||
77 CALLTR10 00000005 00000000 00000000 0000196b 2**0 CONTENTS, RELOC, READONLY
|
||||
78 CALLTRE8 00000002 00000000 00000000 00001970 2**0 CONTENTS, READONLY
|
||||
79 CALLTRE9 00000002 00000000 00000000 00001972 2**0 CONTENTS, READONLY
|
||||
80 CALLTR11 00000004 00000000 00000000 00001974 2**0 CONTENTS, RELOC, READONLY
|
||||
81 CTCLEVE2 00000005 00000000 00000000 00001978 2**0 CONTENTS, RELOC, READONLY
|
||||
82 CALLTR12 00000002 00000000 00000000 0000197d 2**0 CONTENTS, READONLY
|
||||
83 CTBSHR11 00000004 00000000 00000000 0000197f 2**0 CONTENTS, READONLY
|
||||
84 CTBROR11 00000002 00000000 00000000 00001983 2**0 CONTENTS, READONLY
|
||||
85 CTBSWA11 00000005 00000000 00000000 00001985 2**0 CONTENTS, READONLY
|
||||
86 CALLTR13 00000007 00000000 00000000 0000198a 2**0 CONTENTS, RELOC, READONLY
|
||||
87 ctok32.00 0000000c 00000000 00000000 00001991 2**0 CONTENTS, RELOC, READONLY
|
||||
88 ctok32.10 0000000e 00000000 00000000 0000199d 2**0 CONTENTS, RELOC, READONLY
|
||||
89 ctok32.20 00000022 00000000 00000000 000019ab 2**0 CONTENTS, RELOC, READONLY
|
||||
90 ctok32.30 00000007 00000000 00000000 000019cd 2**0 CONTENTS, RELOC, READONLY
|
||||
91 ctok32.40 00000005 00000000 00000000 000019d4 2**0 CONTENTS, RELOC, READONLY
|
||||
92 WCRELOC1 00000003 00000000 00000000 000019d9 2**0 CONTENTS, READONLY
|
||||
93 RELOC320 00000029 00000000 00000000 000019dc 2**0 CONTENTS, RELOC, READONLY
|
||||
94 REL32BIG 00000009 00000000 00000000 00001a05 2**0 CONTENTS, RELOC, READONLY
|
||||
95 RELOC32J 00000002 00000000 00000000 00001a0e 2**0 CONTENTS, RELOC, READONLY
|
||||
96 REL32END 00000000 00000000 00000000 00001a10 2**0 CONTENTS, READONLY
|
||||
97 WCRELSEL 00000002 00000000 00000000 00001a10 2**0 CONTENTS, READONLY
|
||||
98 WCLEMAI4 00000015 00000000 00000000 00001a12 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d WCLECUTP 00000000 WCLECUTP
|
||||
00000000 l d N2BSMA10 00000000 N2BSMA10
|
||||
|
@ -127,6 +131,10 @@ SYMBOL TABLE:
|
|||
00000000 l d CALLTR10 00000000 CALLTR10
|
||||
00000000 l d CALLTR11 00000000 CALLTR11
|
||||
00000000 l d CALLTR13 00000000 CALLTR13
|
||||
00000000 l d ctok32.00 00000000 ctok32.00
|
||||
00000000 l d ctok32.10 00000000 ctok32.10
|
||||
00000000 l d ctok32.20 00000000 ctok32.20
|
||||
00000000 l d ctok32.40 00000000 ctok32.40
|
||||
00000000 l d RELOC320 00000000 RELOC320
|
||||
00000000 l d RELOC32J 00000000 RELOC32J
|
||||
00000000 l d WCLEMAIN 00000000 WCLEMAIN
|
||||
|
@ -174,7 +182,6 @@ SYMBOL TABLE:
|
|||
00000000 l d WCLEMAI2 00000000 WCLEMAI2
|
||||
00000000 l d WCCTTPOS 00000000 WCCTTPOS
|
||||
00000000 l d WCCTTNUL 00000000 WCCTTNUL
|
||||
00000000 l d WCALLTR1 00000000 WCALLTR1
|
||||
00000000 l d CTCLEVE1 00000000 CTCLEVE1
|
||||
00000000 l d CALLTR01 00000000 CALLTR01
|
||||
00000000 l d CTBSHR01 00000000 CTBSHR01
|
||||
|
@ -188,6 +195,7 @@ SYMBOL TABLE:
|
|||
00000000 l d CTBSHR11 00000000 CTBSHR11
|
||||
00000000 l d CTBROR11 00000000 CTBROR11
|
||||
00000000 l d CTBSWA11 00000000 CTBSWA11
|
||||
00000000 l d ctok32.30 00000000 ctok32.30
|
||||
00000000 l d WCRELOC1 00000000 WCRELOC1
|
||||
00000000 l d REL32BIG 00000000 REL32BIG
|
||||
00000000 l d REL32END 00000000 REL32END
|
||||
|
@ -420,6 +428,29 @@ RELOCATION RECORDS FOR [CALLTR13]:
|
|||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 CALLTR10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 filter_length
|
||||
00000006 R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.10]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000d R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 ctok32.40
|
||||
00000008 R_386_8 filter_cto
|
||||
0000000a R_386_PC8 ctok32.40
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 ctok32.10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 ctok32.00
|
||||
|
||||
RELOCATION RECORDS FOR [RELOC320]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_386_PC8 RELOC32J
|
||||
|
|
Loading…
Reference in New Issue
Block a user