Third-party library developers: don't use UPX.

Everything else that doesn't fall into one of the other PB categories.
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Third-party library developers: don't use UPX.

Post by MachineCode »

I submitted one of my exes to both Jotti's Malware Scan and VirusTotal to check them for malware flags, and they both reported that my exe was packed with UPX, and therefore they both reported that my exe was "suspicious". :evil:

I did not pack it with UPX at all, but I am using 4 third-party libs. This leads me to the conclusion that one (or more) of them is either fully or partially packed with UPX.

Therefore, I'd like to ask that if you are the developer who has done this, can you please re-compile your libs to NOT be packed with UPX, and make them available again in that clean state for us. Thank you!

(PS. I don't know if any PureBasic native libs are packed with UPX, but Fred/Freak: if so, please remove such packing too for the next update).

Thank you for reading and your co-operation.
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Third-party library developers: don't use UPX.

Post by luis »

So the antivirus makers, wrongly detecting a virus where there is none, should determine if i can use a certain library / exe compressor or not ?

The question is purely rhetoric, I already have the answer.
"Have you tried turning it off and on again ?"
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Third-party library developers: don't use UPX.

Post by MachineCode »

luis wrote:So the antivirus makers, wrongly detecting a virus where there is none, should determine if i can use a certain library / exe compressor or not ?
For your own apps: of course not.
For sharing libs with others: yes.
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Third-party library developers: don't use UPX.

Post by luis »

I disagree.
"Have you tried turning it off and on again ?"
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Third-party library developers: don't use UPX.

Post by MachineCode »

BTW, I never said they detected a virus. I only said they flagged my app as "suspicious", and this was thanks to a third-party lib author. Now I'm forced to drop the lib, and probably stop development of my app, because of this problem. So disagree all you like, but it is a major problem.
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: Third-party library developers: don't use UPX.

Post by Shield »

Libraries should never be packed, exactly because of these problems.
The user of the library can always compress them later if he / she wishes to.

Then again I don't see any reason to pack an executable file if you're not trying to write an awesome 4k intro. :wink:

For the disagreeing part...check out my signature. :mrgreen:
Image
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Third-party library developers: don't use UPX.

Post by luis »

MachineCode wrote:BTW, I never said they detected a virus.
Yes, you are right, sorry. I thought the reasoning was the same.
Here is the correct version:

So the antivirus makers, erroneously flagging an executable as "suspicious" , should determine if I can use a certain library / exe compressor or not ?
MachineCode wrote:"and this was thanks to a third-party lib author."
No, this was thanks to the antivirus author.
MachineCode wrote:"Now I'm forced to drop the lib, and probably stop development of my app, because of this problem."
The problem is between you and your users, and within you and your users.

Not in the library just because a not particularly bright and totally extraneous software dislikes it.
MachineCode wrote: So disagree all you like, but it is a major problem.
Can I ? Thank you.

I disagree :)
"Have you tried turning it off and on again ?"
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Third-party library developers: don't use UPX.

Post by luis »

Shield wrote: Then again I don't see any reason to pack an executable file if you're not trying to write an awesome 4k intro.
The fact is not necessarily limited to packers. Any code fragment "out of the ordinary" can be marked as suspicious.
Antiviruses should be infallible to be kept in the high regards they are kept.
But they are wrong so many times the term "false positive" is known to anyone.

If I want to use a packer, if I want to put antidebug code, if I want to write self modifying code, if I want to use a particular sequence of API calls, I'll do it if I have reason to do so. Why I should care about their opinion especially when they are wrong ? I don't and I find incredible someone else do it.
"Have you tried turning it off and on again ?"
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Re: Third-party library developers: don't use UPX.

Post by LuCiFeR[SD] »

why drop the lib? just decompress it yourself :P
User avatar
Michael Vogel
Addict
Addict
Posts: 2867
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: Third-party library developers: don't use UPX.

Post by Michael Vogel »

UPX is a well known packer and each file can uncompressed on the fly which seems to be an easy job for all antivir programs I know. No reason to ban this packer, would think about avoiding an antivir program which is not able to handle such things...
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Third-party library developers: don't use UPX.

Post by luis »

BTW: with what I previously wrote I don't want to concentrate my criticism toward antiviruses exclusively.
They are a tool in the toolbox, and they (often) do the best they can. But if using signatures is fallible in a certain measure, using heuristic analysis or execution inside a virtual environment (for example for unknown packers) coupled with behavior analysis can only lead to more false positives. If a "suspicious" un-unpackable (for the AV) exe for example is virtually executed and observed to enumerate all the .exe in the current dir as the first thing it does, it's reasonable to give a warning to the user, and tell him "you should look into it (if you can) or submit to us for analysis (and hope will do something about it)".

The real problem is how this kind of "warning" are blindly, religiously interpreted by the general public (suspicios = virus). I know that for a shareware author one of this "warning" could mean a lost sale, and that's why they should try to educate their potential customers about this.

A reasonable person should be able to understand all this. If not, probably you better off without this kind of user if you also offer some kind of support.
"Have you tried turning it off and on again ?"
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Third-party library developers: don't use UPX.

Post by MachineCode »

It's not just 1 antivirus app flagging it, it's 4 with VirusTotal. So, it's a problem that 4 are wrong from 4 different vendors.

I will try to decompress the libs like Lucifer said. But I still think other people shouldn't compress them. :P
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Third-party library developers: don't use UPX.

Post by IdeasVacuum »

It's not just 1 antivirus app flagging it, it's 4 with VirusTotal. So, it's a problem that 4 are wrong from 4 different vendors.
That's actually a good score MachineCode! Anyway, the right thing to do is to contact the AV developers concerned and point-out their false-positive. You will find this is very easy to do, they all have a web page for such reports (because they know their engines cannot be perfect). In my experience, the AV developers are, on the whole, very quick to respond.
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Third-party library developers: don't use UPX.

Post by MachineCode »

IdeasVacuum wrote:the right thing to do is to contact the AV developers concerned and point-out their false-positive
I know I could do that, but then it becomes a band-aid solution and game of cat-and-mouse. They'll fix it for this particular exe's release, but the problem may occur again in future (as evidenced by PureBasic in the past, where Avira suddenly starts reporting a virus for our compiled exes over and over). It's simpler just to avoid UPX in the first place; a cure rather than a short-term fix.
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Third-party library developers: don't use UPX.

Post by IdeasVacuum »

Well no, it is your action that is the work-around. The libs may well be packed for a specific and sensible reason, that is the prerogative of the lib developer. It's simply the case that the four AVs do not 'know' UPX is safe. Virus total hit the jackpot on one of my exe files in the past, simply because it included the name of a CAD program - the name in question was 'VX', which unfortunately is also the name of a dangerous gas - so, several AV apps didn't like it. I could do two things - ask the CAD developer to change the name of their 10years plus app (like that would happen, although it actually did later as they got bought-out by another company) or ask the AV developers to remove their false positive, for the benefit of all, not just me and my app.
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Post Reply