|
|
|
@ -1745,10 +1745,14 @@ int cli_scanpe(int desc, cli_ctx *ctx) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(0 && cli_memstr(UPX_LZMA2, 20, epbuff + 0x2f, 20)) { |
|
|
|
|
uint32_t ndsize=cli_readint32(epbuff+0x21); |
|
|
|
|
if(ndsize<=dsize) |
|
|
|
|
upx_success = upx_inflatelzma(src, ssize, dest, &ndsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
|
|
|
if(cli_memstr(UPX_LZMA2, 20, epbuff + 0x2f, 20)) { |
|
|
|
|
uint32_t strictdsize=cli_readint32(epbuff+0x21); |
|
|
|
|
if(strictdsize<=dsize) |
|
|
|
|
upx_success = upx_inflatelzma(src, ssize, dest, &strictdsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
|
|
|
} else if (cli_memstr(UPX_LZMA1, 20, epbuff + 0x39, 20)) { |
|
|
|
|
uint32_t strictdsize=cli_readint32(epbuff+0x2b); |
|
|
|
|
if(strictdsize<=dsize) |
|
|
|
|
upx_success = upx_inflatelzma(src, ssize, dest, &strictdsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!upx_success) { |
|
|
|
|