Factor out a common Packer::defineFilterSymbols(). Enable filters
0x49 and 0x49 for all i386-dos32.* formats. Needs testing.
This commit is contained in:
+3
-25
@@ -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
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
+3
-15
@@ -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));
|
||||
|
||||
+1
-25
@@ -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);
|
||||
|
||||
+4
-21
@@ -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);
|
||||
|
||||
+2
-19
@@ -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
|
||||
|
||||
+4
-17
@@ -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);
|
||||
|
||||
+2
-2
@@ -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
|
||||
*/
|
||||
|
||||
+556
-554
File diff suppressed because it is too large
Load Diff
+1223
-1135
File diff suppressed because it is too large
Load Diff
+1290
-1202
File diff suppressed because it is too large
Load Diff
+1313
-1233
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
|
||||
|
||||
Reference in New Issue
Block a user