i386-linux.elf decompress does not need cto8
This commit is contained in:
parent
996a99ad75
commit
c19ffafd8d
@ -416,14 +416,8 @@ void PackLinuxElf32x86::addStubEntrySections(Filter const *ft)
|
||||
addLoader("FOLDEXEC", NULL);
|
||||
}
|
||||
|
||||
void PackLinuxElf32x86::addLinkerSymbols(Filter const *ft)
|
||||
void PackLinuxElf32x86::addLinkerSymbols(Filter const */*ft*/)
|
||||
{
|
||||
upx_byte *ptr_cto = getLoader();
|
||||
int sz_cto = getLoaderSize();
|
||||
if (0x20==(ft->id & 0xF0) || 0x30==(ft->id & 0xF0)) { // push byte '?' ; cto8
|
||||
patch_le16(ptr_cto, sz_cto, "\x6a?", 0x6a + (ft->cto << 8));
|
||||
checkPatch(NULL, 0, 0, 0); // reset
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -68,12 +68,12 @@ decompress:
|
||||
// // C callable decompressor
|
||||
// **************************************************************************/
|
||||
|
||||
// /* Offsets to parameters, allowing for {push + pusha + call} */
|
||||
#define O_INP (4+ 8*4 +1*4)
|
||||
#define O_INS (4+ 8*4 +2*4)
|
||||
#define O_OUTP (4+ 8*4 +3*4)
|
||||
#define O_OUTS (4+ 8*4 +4*4)
|
||||
#define O_PARAM (4+ 8*4 +5*4)
|
||||
// /* Offsets to parameters, allowing for {pusha + call} */
|
||||
#define O_INP (8*4 +1*4)
|
||||
#define O_INS (8*4 +2*4)
|
||||
#define O_OUTP (8*4 +3*4)
|
||||
#define O_OUTS (8*4 +4*4)
|
||||
#define O_PARAM (8*4 +5*4)
|
||||
|
||||
#define INP dword ptr [esp+O_INP]
|
||||
#define INS dword ptr [esp+O_INS]
|
||||
@ -85,7 +85,6 @@ section LEXEC009
|
||||
//; empty section for commonality with l_lx_exec86.asm
|
||||
section LEXEC010
|
||||
pusha
|
||||
push '?' // cto8 (sign extension does not matter)
|
||||
// cld
|
||||
|
||||
mov esi, INP
|
||||
@ -117,8 +116,6 @@ section LEXEC015
|
||||
mov edx, OUTS
|
||||
mov [edx], edi
|
||||
|
||||
pop edx // cto8
|
||||
|
||||
mov [7*4 + esp], eax
|
||||
popa
|
||||
ret
|
||||
|
||||
Loading…
Reference in New Issue
Block a user