Register to post in forums, or Log in to your existing account
 

Post new topic  Reply to topic     Home » Forums » General zApp Discussion
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Thu Aug 04, 2005 8:56 pm   

File size/compression annoyance
 
I started doing detailed work with Armadillo/SoftwarePassport as a replacement for eLicense today. Unfortunately I ran across a huge problem...

eLicense didn't do any compression. So I was using ASPack to compress zApp and then applying eLicense. This resulted in the 3.5MB zapp.exe file. ASPack was the only compression program that seemed to work with eLicense.

SoftwarePassport has built in compression. But it can't compress very well, so the resulting zapp.exe file is 5.8MB. If I try to compress first, it doesn't work with either ASPack nor PECompact2. It *does* work with UPX, but the resulting filesize is still 5.5MB, which isn't much better.

I've emailed the SoftwarePassport people about this, but I'm not sure there is any way around this. In order to get the benefit for Lite/Normal/Pro versions of software, it won't work with any external compression program. So I might be stuck with the 5.8MB size if I go this route.

I guess I'll still be able to get the smaller size for zAppLite (and any linked projects for developers) since it doesn't need any copy protection. And then the full version of zApp would end up being 5.8MB.

It's annoying though...if both ASPack and PECompact2 can achieve such good compression ratios, you'd think that Armadillo could too.
Reply with quote
Rainchild
Wizard


Joined: 10 Oct 2000
Posts: 1551
Location: Australia

PostPosted: Thu Aug 04, 2005 10:09 pm   
 
I'm still wary about the whole one .exe with codes to unlock the features... seems like it's giving the hackers one target to break... the 'pro' keygen.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Thu Aug 04, 2005 10:18 pm   
 
As you know, the copy protection programs encrypt the EXE and then decrypt it into memory for Windows to execute. One of the features in Armadillo is the ability to mark "sections" of code, and if you don't have a valid certificate (like for the Pro version), then these sections are never decrypted and are just loaded as NOOPs for Windows. There is no way to activate this code because the code doesn't exist in memory. And there is no way to get the code from the encrypted version because of the very strong encryption algorithms being used. So I feel pretty safe and secure with this.

There essentially isn't any way at all to create a Keygen for Armadillo anymore. It's using Public/Private key encryption with lots and lots of bits. I mean, a reg code in the new system looks something like this:

000GHJ-ZEFXB4-EANCXQ-ZUDZFE-HH8YVD-GQZXRZ

(don't worry, that's a fake code). The only way to crack this stuff is to try and dump the program from memory once it's decrypted and get around all of the tricks that Armadillo (or eLicense) put into place. And that's as good as any other protection method available. We know it's impossible to completely protect software, but this is as good as anything I've seen.
Reply with quote
Rainchild
Wizard


Joined: 10 Oct 2000
Posts: 1551
Location: Australia

PostPosted: Thu Aug 04, 2005 10:31 pm   
 
I'm more referring to the one point of weakness, the registration code... with eLicense it knows which codes have actually been purchased, so if you try and sign up using a generated one the server rejects it. On the other hand if you look at, say, Starcraft... you could get a keygen for it and install it and play it because it never checked to see if the key was one of the ones sold, just if it was a potentially valid key (btw I own Starcraft).

Also, what's to stop someone who's stopped using zApp from posting their key on a web page saying "use this key for free". Or someone from giving it to a friend, who gives it to a friend, who puts it in their shared directory in some university dorm, and everyone gets a copy?
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Fri Aug 05, 2005 1:10 am   
 
The codes expire within 7 days. You have that long from the time you purchase the code to the time you enter it into the program. After that it doesn't work anymore. If you are a legal purchaser and need a code again in the future, then you log into the zuggsoft.com site, enter your registration name and email, and a new 7-day is emailed to you. This makes it impossible to share codes.

I could also enable hardware checking that ties the reg code to the hardware of your system, but I don't really want to do that since then you couldn't use it on more that one computer.

Don't worry, I've thought about this a lot.
Reply with quote
Darker
GURU


Joined: 24 Sep 2000
Posts: 1237
Location: USA

PostPosted: Fri Aug 05, 2005 3:24 pm   
 
The percentage of users connected via broadband is continually growing, and due to market competition, 'pipe-size' on those broadband connections is also continually growing. I'm up to 7mbps with my comcast connection now - started at 3.

I don't think a 5.8mb download (2 minutes at most, for me) will be an issue.
_________________
Darker
New and Improved, for your Safety.
Reply with quote
theNerd
Adept


Joined: 01 Mar 2005
Posts: 277

PostPosted: Fri Aug 05, 2005 5:36 pm   
 
Zugg, what if a developer wanted to use Armadillo/SoftwarePassport on a bundled zAppLite and ZXL file (as created through zApp Pro)?
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Fri Aug 05, 2005 5:40 pm   
 
The battle we are fighting isn't really download size...it's the deaded "runtime size". zApp is perceived by some as a runtime. At <4MB, the "runtime" is the same as a lot of actual programs (anything with a decent GUI interface is that size these days). When you start getting up to the 6MB range, you start getting close to the old Visual Basic runtime sizes. And I don't want zApp compared to VB like that in terms of runtime size.

Also, keep in mind that zApp still has a bunch of stuff to be added, such as the sprite and sound systems. This will continue to increase the size of zApp. I really don't want to end up with something that is 10MB in size.

So, it's not a technical issue with download speed...it's more of a psychological and marketing issue I think.

I've talked with the SoftwarePassport people about this issue. They use simple zlib compression. I'm trying to talk them into using something more sophisticated such as LZMA. I'll let you know what happens with this.

But it turns out that compressing a program and then wrapping it is a bad idea. It might have been a mistake to do this with the latest zMUD version, as it might be easier to hack. Using the built-in compression in SoftwarePassport allows it to be much more secure. So for now I'm just going to use their built-in compression and deal with the larger file size. Then we'll just hope that they improve their compression algorithm in the future. Since a *lot* of products are starting to use LZMA compression, it seems like a no-brainer to me, but we'll see what they say.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Fri Aug 05, 2005 5:44 pm   
 
theNerd, when you protect a 3rd party zApp program, remember that you are not wrapping the EXE (the zAppLite program), but you need to wrap some sort of DLL file that provides the protected functions for your application. In that regard, you can still protect your DLL with Armadillo, and in fact it has more options for handling that than the eLicense system did.

In fact, since Armadillo has a callable API that is quite nice, my guess is that 3rd party developers will call this API directly within their DLL to implement any special needs that they have. It's quite flexible.

I'll be experimenting with this myself this week with zAppPro. My goal is to release a version of zApp and zAppPro that uses the new Armadillo system with RegNow as the new ecommerce provider. But it's a whole new learning curve for these new systems, so it's taking me a while to figure it all out.
Reply with quote
theNerd
Adept


Joined: 01 Mar 2005
Posts: 277

PostPosted: Fri Aug 05, 2005 5:57 pm   
 
Zugg wrote:
theNerd, when you protect a 3rd party zApp program, remember that you are not wrapping the EXE (the zAppLite program), but you need to wrap some sort of DLL file that provides the protected functions for your application. In that regard, you can still protect your DLL with Armadillo, and in fact it has more options for handling that than the eLicense system did.


I was wondering if the licensing technique would be the same. I was also curious if it works well with ActiveX DLL's.

Does it have a built-in purchase form so the user can directly order through RegNow (or an equivilant) and unlock the application? Sorry, I don't know much about Armidillo. I have heard it's pretty good, though.
Reply with quote
theNerd
Adept


Joined: 01 Mar 2005
Posts: 277

PostPosted: Fri Aug 05, 2005 5:59 pm   
 
Also, I don't mind a 6-10MB file as long as I can bundle the ZXL code with it (so it *looks* like a single EXE - perception is everything. Very Happy )
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » General zApp Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
© 2009 Zugg Software. Hosted on Wolfpaw.net