diff --git a/lib/contrib/upx/linux/upx b/lib/contrib/upx/linux/upx deleted file mode 100755 index 22424d92c..000000000 Binary files a/lib/contrib/upx/linux/upx and /dev/null differ diff --git a/lib/contrib/upx/linux/upx_ b/lib/contrib/upx/linux/upx_ new file mode 100644 index 000000000..13578b669 Binary files /dev/null and b/lib/contrib/upx/linux/upx_ differ diff --git a/lib/contrib/upx/macosx/upx b/lib/contrib/upx/macosx/upx deleted file mode 100755 index 7704e16c8..000000000 Binary files a/lib/contrib/upx/macosx/upx and /dev/null differ diff --git a/lib/contrib/upx/macosx/upx_ b/lib/contrib/upx/macosx/upx_ new file mode 100644 index 000000000..2c4e891c7 Binary files /dev/null and b/lib/contrib/upx/macosx/upx_ differ diff --git a/lib/takeover/upx.py b/lib/takeover/upx.py index 05734803d..20324619f 100644 --- a/lib/takeover/upx.py +++ b/lib/takeover/upx.py @@ -33,22 +33,23 @@ class UPX: def __initialize(self, srcFile, dstFile=None): if PLATFORM == "mac": - self.__upxPath = "%s/upx/macosx/upx" % paths.SQLMAP_CONTRIB_PATH + self.__upxTemp = decloakToMkstemp("%s/upx/macosx/upx_" % paths.SQLMAP_CONTRIB_PATH) elif PLATFORM in ( "ce", "nt" ): - self.__upxTempExe = decloakToMkstemp("%s\upx\windows\upx.exe_" % paths.SQLMAP_CONTRIB_PATH, suffix=".exe") - self.__upxPath = self.__upxTempExe.name - self.__upxTempExe.close() #needed for execution rights + self.__upxTemp = decloakToMkstemp("%s\upx\windows\upx.exe_" % paths.SQLMAP_CONTRIB_PATH, suffix=".exe") elif PLATFORM == "posix": - self.__upxPath = "%s/upx/linux/upx" % paths.SQLMAP_CONTRIB_PATH + self.__upxTemp = decloakToMkstemp("%s/upx/linux/upx_" % paths.SQLMAP_CONTRIB_PATH) else: warnMsg = "unsupported platform for the compression tool " warnMsg += "(upx), sqlmap will continue anyway" logger.warn(warnMsg) - self.__upxPath = "%s/upx/linux/upx" % paths.SQLMAP_CONTRIB_PATH + self.__upxTemp = decloakToMkstemp("%s/upx/linux/upx_" % paths.SQLMAP_CONTRIB_PATH) + + self.__upxPath = self.__upxTemp.name + self.__upxTemp.close() #needed for execution rights self.__upxCmd = "%s -9 -qq %s" % (self.__upxPath, srcFile) @@ -65,8 +66,8 @@ class UPX: pollProcess(process) upxStdout, upxStderr = process.communicate() - if hasattr(self, '__upxTempExe'): - os.remove(self.__upxTempExe.name) + if hasattr(self, '__upxTemp'): + os.remove(self.__upxTemp.name) msg = "failed to compress the file"