Article View: comp.lang.asm.x86
Article #39Re: Absolute addresses, relative addresses
From: Beth
Date: Sat, 06 Sep 2003 23:36
Date: Sat, 06 Sep 2003 23:36
166 lines
10597 bytes
10597 bytes
Alex McDonald wrote: > Eric Minso wrote: > > In fact, I don't have the source code of executables I want to > > protect. > > > > The company where I do my training period is a computer manufacturer : > > they assemble computers and install standard configurations (Windows > > XP + some softwares). They also give a CD-ROM with many application > > that the user can install. > > > > In order to lower the computer cost, the sofwares available on the > > CD-ROM are locked and the customer do not pay the licence for them. A > > serial number allows him to unlock only three or four softwares that > > he can choose. > > > > The interest for the customer is that he installs only softwares he > > wants. > > > > A few time ago, some software editors have claimed that the protection > > system is too easy to hack and asked to the company a better > > protection for their softwares. > > > > So I was asked to study a way to protect these executables. > > Unfortunately, I have only access to the executables - I can't > > recompile the softwares to protect. > > Are you making this up as you go along? For sure, somebody in your > company isn't thinking straight. > > Let's say you'd succeeded in writing your original idea. Each user > would need to be given a "key" to allow decryption and loading of the > program by your program. So they copy your CD and the key, give it to > their friends, and you're back where you are right now. Or am I > missing something here? > > What %age of purchasers come back to buy extra software? If it's not > significant, then my favoured solution for your problem is not to ship > the software on the CD in the first place. Send them the author's CD > when they order it, and save the company CD production/handling costs, > hassle from software authors etc. > > Or, what system is your company currently using? How are people > hacking it? Can it reasonably be beefed up? > > Or you encrypt the software on the CD using a strong key; there are > plenty of descriptions of DES encryption algorithms on the web. Give > the user another key that is "unscrambled" to the decryption key. Base > it on the date; allow, say, 5 days for the key to be valid. Then the > key is useless to anyone else outside that 5 day window. > > Now you could put an I/O error on the CD as well; that makes it more > difficult to copy the CD, and the "unscrambler" program can check for > that too. Joe Average now needs a valid key, the original CD and needs > to install in 5 days. Even then, he could still install it on a 100 > PCs in that period. So you could introduce a "machine key" so it only > works on his PC... and so on. > > Of course, once the software's installed on a PC it could be copied > off. But that's true of every piece of software I've ever seen that > doesn't have some form of extra check, such as a dongle (and even they > can be copied). That form of protection is the responsibility of the > software author, not your company. > > You'll never stop software theft, all you can do is make it more > difficult, but at a price. There's a balance between the cost of > deterrence and the loss you think you're incurring. Work that out > first, write code last. I agree with all your observations and comments here, Alex... Just I came up with a mad software piracy prevention idea the other day...the idea is pretty simple...encode the customer's details - including credit card number - into the executable...no, the executable itself does NOT ever decode it or crack it open so there's no way to reverse engineer how this code is stored or even where it might be stored...the only people who can read it need a special utility program that'll be able to see this "watermark"...the final ingredient is to prominently make clear in BOLD TEXT and suitable legalese that the executable contains _YOUR_ sensitive information...so, it's in your _OWN_ interests not to copy it or let unauthorised people at your copy...the legalese makes clear that in running the software you accept responsibility in keeping the software safe from piracy and that _should_ your copy be found on a Warez site then, legally, you're culpable... Not sure, though, that this scheme would actually be legal...although, I don't really see why not as you're not handing someone's private details to anyone but the individual themselves..._IF_ that individual then copies it up onto Warez sites, that's not your doing, that's their doing and the consequences that they're handing out their own credit card information is upon their own heads... Of course, you, as the software producer, have all these details and the corresponding "watermark" codes in your customer database...thus, when a Warez site shows up your software, you run the "watermark" utility, find out the guilty party and then start your legal proceedings against them...it was made perfectly clear all over the place that the software had been "watermarked" like this and, as the software producer, you did not send any sensitive, private information to _anyone but the actual owner of that information (who sent it to you to buy the software)_...goodness knows if this would actually pass the test of the courts...but as long as the first time does, they all will (legal precedent and all that :)... The idea is to turn the whole thing on its head...rather than the software producer being on the defensive all the time, you use the customer's information to put them on the defensive that they'll NOT pirate... Morally, there is the slight issue that, in a sense, this could be thought of as "blackmail" (look after my software on your computer or else...! ;) but fully responsible users will suffer no problem or penalty...you are only "blackmailing" them to keep within the bounds of law, which is a social obligation and duty on them, anyway...you can hardly complain: "they are unfairly making me comply with the law by sending my information, that I gave to them, back to me in an encoded form that no-one else but them can read, anyway!!"...like, yeah, where's the problem with that? ;) Mind you, I've only just thought of this and I've probably missed something crucial...like some Civil Liberty or law not permitting this kind of conduct...but, otherwise, it's a pretty sneaky way of stopping piracy, eh? Also, along the same lines, something else that could save a heck of a lot of problems with viruses and running processes and stuff is a similar "source" field, filled out by the OS indicating what program / URL started up something or where it was downloaded from...a "file history" attached to a file...hence, if something claiming to be a Windows component has a history that doesn't come from "WindowsUpdate.com" but some random IP address that whois's to somewhere in Denmark or Sweden then say hello to Mr.Trojan Horse...if one program tries to launch another legitimate program then the "source" field is specified with the program / command line / registry entry that launched it...so, at the very least, even if you were to get stung, at least you'd have the information to disable / delete the thing soonest possible...and, also, Email to Microsoft / McAfee and those sort of people to help them discover the source of the problem for them to take suitable actions (well, if they are just handed the information about where something is coming from or how it launches then, at the very least, it saves them all that time they must spend working it out themselves...and if MS insist on "patches" rather than good design, then, accepting that, we could at least get these "patches" ASAP...mind you, the flaw in that plan is MS themselves...they don't care sufficiently to make the effort, however encouraged...well, not unless you attach a few million dollars to it...they're just soulless mercenaries, after all, and always have been ;)... Beth :)
Technical Details
Message-ID:
<%cu6b.8810$Ci1.1518408@newsfep2-win.server.ntli.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sn-xit-03!sn-xit-06!sn-post-01!supernews.com!corp.supernews.com!news.crayne.org!clax86!robomod!not-for-mailReferences:
<7db38e60.0308250121.6135ebc1@posting.google.com> <bieiii$8dsqb$1@ID-165313.news.uni-berlin.de> <7db38e60.0308260511.4b9a371@posting.google.com> <bigi38$36e$1@titan.btinternet.com> <7db38e60.0308270023.1d3f4cf@posting.google.com> <9f459d85.0309020009.444d6027@posting.google.com> <7db38e60.0309020817.6e397ccd@posting.google.com> <b57b10b6.0309030411.42ec8620@posting.google.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: feaef,44f17f79ebe31523 X-Google-Attributes: gidfeaef,public X-Google-Thread: f7d8d,44f17f79ebe31523 X-Google-Attributes: gidf7d8d,public X-Google-Thread: 1093da,44f17f79ebe31523 X-Google-Attributes: gid1093da,public X-Google-Thread: 114917,44f17f79ebe31523 X-Google-Attributes: gid114917,public X-Google-ArrivalTime: 2003-09-06 18:05:23 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sn-xit-03!sn-xit-06!sn-post-01!supernews.com!corp.supernews.com!news.crayne.org!clax86!robomod!not-for-mail From: "Beth" <BethStone21@hotmail.NOSPICEDHAM.com> Newsgroups: comp.lang.asm.x86,alt.lang.asm,alt.os.assembly,borland.public.tasm Subject: Re: Absolute addresses, relative addresses Approved: CLAX86 Moderators <ccrayne@crayne.org> Date: Sun, 7 Sep 2003 00:36:04 +0100 Organization: ntl News Service Message-ID: <%cu6b.8810$Ci1.1518408@newsfep2-win.server.ntli.net> X-CLAX86-Policy: http://www.pacificsites.com/~ccrayne/clax86.html X-CLAX86-Faq: http://www.faqs.org/faqs/by-newsgroup/comp/comp.lang.asm.x86.html X-CLAX86-Info-1: Send submissions to comp-lang-asm-x86@moderators.isc.org X-CLAX86-Info-2: Send technical complaints to ccrayne@crayne.org X-CLAX86-Info-3: Send complaints about policy to ccrayne@crayne.org X-Comment: moderators do not necessarily agree or disagree with this article. Reply-To: "Beth" <BethStone21@hotmail.com> References: <7db38e60.0308250121.6135ebc1@posting.google.com> <bieiii$8dsqb$1@ID-165313.news.uni-berlin.de> <7db38e60.0308260511.4b9a371@posting.google.com> <bigi38$36e$1@titan.btinternet.com> <7db38e60.0308270023.1d3f4cf@posting.google.com> <9f459d85.0309020009.444d6027@posting.google.com> <7db38e60.0309020817.6e397ccd@posting.google.com> <b57b10b6.0309030411.42ec8620@posting.google.com> X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2720.3000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2727.1300 X-Inktomi-Trace: pc2-ptal1-5-cust28.swan.cable.ntl.com 1062891450 21476 81.97.227.28 (6 Sep 2003 23:37:30 GMT) X-MailScanner-Information: Please contact the ISP for more information X-MailScanner: Found to be clean X-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (score=-0.8, required 4, EMAIL_ATTRIBUTION -0.50, FROM_ENDS_IN_NUMS 0.74, PRIORITY_NO_NAME 0.46, QUOTED_EMAIL_TEXT -0.48, REFERENCES -0.50, REPLY_WITH_QUOTES -0.50) X-UIDL: Z8m"!;m7!!&3P"!6,f!! X-Complaints-To: abuse@supernews.com Lines: 168