i386-linux.elf decompress does not need cto8
This commit is contained in:
+1
-7
@@ -416,14 +416,8 @@ void PackLinuxElf32x86::addStubEntrySections(Filter const *ft)
|
|||||||
addLoader("FOLDEXEC", NULL);
|
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
|
int
|
||||||
|
|||||||
+886
-886
File diff suppressed because it is too large
Load Diff
@@ -68,12 +68,12 @@ decompress:
|
|||||||
// // C callable decompressor
|
// // C callable decompressor
|
||||||
// **************************************************************************/
|
// **************************************************************************/
|
||||||
|
|
||||||
// /* Offsets to parameters, allowing for {push + pusha + call} */
|
// /* Offsets to parameters, allowing for {pusha + call} */
|
||||||
#define O_INP (4+ 8*4 +1*4)
|
#define O_INP (8*4 +1*4)
|
||||||
#define O_INS (4+ 8*4 +2*4)
|
#define O_INS (8*4 +2*4)
|
||||||
#define O_OUTP (4+ 8*4 +3*4)
|
#define O_OUTP (8*4 +3*4)
|
||||||
#define O_OUTS (4+ 8*4 +4*4)
|
#define O_OUTS (8*4 +4*4)
|
||||||
#define O_PARAM (4+ 8*4 +5*4)
|
#define O_PARAM (8*4 +5*4)
|
||||||
|
|
||||||
#define INP dword ptr [esp+O_INP]
|
#define INP dword ptr [esp+O_INP]
|
||||||
#define INS dword ptr [esp+O_INS]
|
#define INS dword ptr [esp+O_INS]
|
||||||
@@ -85,7 +85,6 @@ section LEXEC009
|
|||||||
//; empty section for commonality with l_lx_exec86.asm
|
//; empty section for commonality with l_lx_exec86.asm
|
||||||
section LEXEC010
|
section LEXEC010
|
||||||
pusha
|
pusha
|
||||||
push '?' // cto8 (sign extension does not matter)
|
|
||||||
// cld
|
// cld
|
||||||
|
|
||||||
mov esi, INP
|
mov esi, INP
|
||||||
@@ -117,8 +116,6 @@ section LEXEC015
|
|||||||
mov edx, OUTS
|
mov edx, OUTS
|
||||||
mov [edx], edi
|
mov [edx], edi
|
||||||
|
|
||||||
pop edx // cto8
|
|
||||||
|
|
||||||
mov [7*4 + esp], eax
|
mov [7*4 + esp], eax
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
|
|||||||
Reference in New Issue
Block a user