git-svn: trunk@4048
aCaB authored on 2008/08/01 09:31:29... | ... |
@@ -1745,10 +1745,14 @@ int cli_scanpe(int desc, cli_ctx *ctx) |
1745 | 1745 |
} |
1746 | 1746 |
} |
1747 | 1747 |
|
1748 |
- if(0 && cli_memstr(UPX_LZMA2, 20, epbuff + 0x2f, 20)) { |
|
1749 |
- uint32_t ndsize=cli_readint32(epbuff+0x21); |
|
1750 |
- if(ndsize<=dsize) |
|
1751 |
- upx_success = upx_inflatelzma(src, ssize, dest, &ndsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
1748 |
+ if(cli_memstr(UPX_LZMA2, 20, epbuff + 0x2f, 20)) { |
|
1749 |
+ uint32_t strictdsize=cli_readint32(epbuff+0x21); |
|
1750 |
+ if(strictdsize<=dsize) |
|
1751 |
+ upx_success = upx_inflatelzma(src, ssize, dest, &strictdsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
1752 |
+ } else if (cli_memstr(UPX_LZMA1, 20, epbuff + 0x39, 20)) { |
|
1753 |
+ uint32_t strictdsize=cli_readint32(epbuff+0x2b); |
|
1754 |
+ if(strictdsize<=dsize) |
|
1755 |
+ upx_success = upx_inflatelzma(src, ssize, dest, &strictdsize, exe_sections[i].rva, exe_sections[i + 1].rva, vep) >=0; |
|
1752 | 1756 |
} |
1753 | 1757 |
|
1754 | 1758 |
if(!upx_success) { |