Software Protection Survey
-
IMO this guy is doing the best he can to tread softly in order to get people to participate in this survey, but I wonder - how effective do people think these products are ? I'd think such a product is a gold mine to crackers - ANY protection can be broken, and even though I'd presume they'd create something seriously hard to overcome, doesn't overcoming it mean you've cracked a whole swag of programs instead of just the one ? Christian The tragedy of cyberspace - that so much can travel so far, and yet mean so little. "I'm somewhat suspicious of STL though. My (test,experimental) program worked first time. Whats that all about??!?! - Jon Hulatt, 22/3/2002
My experience is not with cheap ($20 ~ $200), mass-selling software. I sell enterprise solutions for credit assessment, where you sell one or two copies a month. You could be surprised that even in this mature software market there is so much piracy. I'm using a HASP to protect my software. As a hardware lock, it's hard to overcome this kind of protection, specially when the lock really does something useful, not only a "is-hardlock-present" question. In my case, I use it for some computations, so, if the hardlock is not present, someone would have to write a device driver and a code that emulate that function. I believe that constant contact with my customer is an important "feature" of my software, that is disabled in case of piracy. My software needs constant upgrading, because it talks to a miriad of credit information bureaus, that change their protocol (to add more information) on a constant basis. This way, the software naturally "times-out", even if you break the hard lock. If I knew someone broke a protection scheme I bought, I could change it in no time, buying it from another vendor. Just buy a hardlock from another vendor. In fact, it's clever to do it even if someone did not break it. IMHO, it's very complicated to break good hardware-based protection schemes, but software-protection schemes are much simpler, does not matter how clever they are. There is a new kind of protection scheme starting to appear: network (internet) based, where there is a "virtual hardlock"; it is actually a Web Server (or another socket solution). This kind of protection is pretty good for .NET-like software and may become a common protection scheme in the near future. There are some issues like DNS, proxy and router-based attacks, but it's pretty strong. You could also relocate some important functionality of your software to your server, so the software only would work with a compatible Web Service. Crivo Automated Credit Assessment
-
My experience is not with cheap ($20 ~ $200), mass-selling software. I sell enterprise solutions for credit assessment, where you sell one or two copies a month. You could be surprised that even in this mature software market there is so much piracy. I'm using a HASP to protect my software. As a hardware lock, it's hard to overcome this kind of protection, specially when the lock really does something useful, not only a "is-hardlock-present" question. In my case, I use it for some computations, so, if the hardlock is not present, someone would have to write a device driver and a code that emulate that function. I believe that constant contact with my customer is an important "feature" of my software, that is disabled in case of piracy. My software needs constant upgrading, because it talks to a miriad of credit information bureaus, that change their protocol (to add more information) on a constant basis. This way, the software naturally "times-out", even if you break the hard lock. If I knew someone broke a protection scheme I bought, I could change it in no time, buying it from another vendor. Just buy a hardlock from another vendor. In fact, it's clever to do it even if someone did not break it. IMHO, it's very complicated to break good hardware-based protection schemes, but software-protection schemes are much simpler, does not matter how clever they are. There is a new kind of protection scheme starting to appear: network (internet) based, where there is a "virtual hardlock"; it is actually a Web Server (or another socket solution). This kind of protection is pretty good for .NET-like software and may become a common protection scheme in the near future. There are some issues like DNS, proxy and router-based attacks, but it's pretty strong. You could also relocate some important functionality of your software to your server, so the software only would work with a compatible Web Service. Crivo Automated Credit Assessment
Hmm, I'm not sure that hardware lock is better than anything else. Both side participates in hardware lock - hardware itself and your software. But why cracker should spend time on making that lock if he can find out how to make your program to "think" that it got needed response from hardware? Again, everything can be cracked, just comes out the question - is it worth? I'm deeply understand crackers and people who use cracked software. Soft is too expensive. Ok, I'm not talking about your system for example, have no clue in it. But think about games for example. If you'll sell your game for 5$, than cracker won't want to spend much time to remove the protection. Not worth, and you as a customer will want to buy a not-cracked one, because you'll get support, upgrades and whatever. But when you are selling for 200-300-500.... $. You think many people will buy it? I don't think so. So my thought that there is not much to do with protection itself, but review the prices for example... But I'm against this, since it will lower programmers' salary also :) Philip Patrick Web-site: www.saintopatrick.com "Two beer or not two beer?" Shakesbeer Need Web-based database administrator? You already have it!
-
Hmm, I'm not sure that hardware lock is better than anything else. Both side participates in hardware lock - hardware itself and your software. But why cracker should spend time on making that lock if he can find out how to make your program to "think" that it got needed response from hardware? Again, everything can be cracked, just comes out the question - is it worth? I'm deeply understand crackers and people who use cracked software. Soft is too expensive. Ok, I'm not talking about your system for example, have no clue in it. But think about games for example. If you'll sell your game for 5$, than cracker won't want to spend much time to remove the protection. Not worth, and you as a customer will want to buy a not-cracked one, because you'll get support, upgrades and whatever. But when you are selling for 200-300-500.... $. You think many people will buy it? I don't think so. So my thought that there is not much to do with protection itself, but review the prices for example... But I'm against this, since it will lower programmers' salary also :) Philip Patrick Web-site: www.saintopatrick.com "Two beer or not two beer?" Shakesbeer Need Web-based database administrator? You already have it!
Ok, here's my first post, and thoughts on the topic. Generic software protections are bad because they're generic (kinda obvious). If you want any kind of decent protection it really does need to be completely involved with the rest of your code. For example, TimeLock -- a protection that was contained within tl32v20.dll. Inside this there were I think two comparisons for the correct unlock code. By modifying a simple part, any software could be unlocked. If you visit astalavista.box.sk you can see the countless number of protections that have been broken, from the relatively inexpensive to the extremely expensive. Reversers and crackers hold software protection companies in fairly low regard, and as such there's probably a fairly high desire to obliterate any generic protections produced. Protection routines have to be interwoven with the rest of your application. A simple check like "If isRegistered Then EnableWindow Else DisableWindow" is easy to remove, since you can either change the parameter for enablewindow to true, and its enabled even with a wrong code, or, change the comparison so it checks the generated code, with the generated code etc. There are a few sites with good suggestions for coding protections, for example, whereby the protection routine is required to build a necessary structure. Thus, if the protection routine is removed the structure isn't built and thus renders the application unstable or useless. Alternatively, if the incorrect code is entered, likewise, the structure will be built incorrectly. Of course, if it was this simple then there would be masses of great protections. Some are better than others, but its really no substitute for creating one yourself. For example, a while ago while I was reading into this subject, a reverser had suggested using a grid of checkboxes. Instead of comparing a string with a string, a random sequence of checkboxes in an array were compared. Because its not a commonly used method it requires more thought than the regular serial number entry. Or, you could incorporate parts of the structures or code within pictures using steganography. Using a somewhat similar approach to passwords that MS Research recently demonstrated, by offering users a selection of pictures. Only if the correct combination is selected will the necessary code exist to run. Again, by using something a little unique, it makes the task of cracking it a little harder. (Bear in mind I've just had this thought off the top of my head, so it may be seriously flawe
-
Our company is in the process of releasing a system that will help you protect your software from piracy and help you manage your customer licensing. Would you participate in a survey to assist us in providing the right product to meet your needs? We realise your time is valuable, so we're giving you the opportunity to win a prize, just for participating. If you would like a product that properly protects your software, please complete our survey at dev.rootsoftware.com. Many thanks. (BTW, this is a genuine survey, not dressed-up advertising or hit generation.) Russell Robinson (russellr@rootsoftware.com) Author of TTMaker (Advanced Timetabling Software) http://www.rootsoftware.com
What software authors really need for piracy protection is OS and hardware support. The OS and the hardware needs to keep users from reading (in an editor) and writing (for patches) executable files. This would also require encryption of some kind, to keep EXEs from being modified on non-compliant OSes... But wait, that's Digital Rights Management stuff, and I don't like that. Hmm... -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
-
What software authors really need for piracy protection is OS and hardware support. The OS and the hardware needs to keep users from reading (in an editor) and writing (for patches) executable files. This would also require encryption of some kind, to keep EXEs from being modified on non-compliant OSes... But wait, that's Digital Rights Management stuff, and I don't like that. Hmm... -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
There are a number of programs around which encrypt and pack .EXE's and decrypt and unpack them when they are loaded. From the reseach I did about a year+ back I was led to the conclusion that these techniques can cause problems, so I haven't used them. I think a better technique is to use something like a one-way hash on the .EXE which is then used to detect if it has been modified. Theoretically and in practice I think it would be quite difficult for a hacker to work around this. Neville Franks, Author of ED for Windows. www.getsoft.com
-
IMO this guy is doing the best he can to tread softly in order to get people to participate in this survey, but I wonder - how effective do people think these products are ? I'd think such a product is a gold mine to crackers - ANY protection can be broken, and even though I'd presume they'd create something seriously hard to overcome, doesn't overcoming it mean you've cracked a whole swag of programs instead of just the one ? Christian The tragedy of cyberspace - that so much can travel so far, and yet mean so little. "I'm somewhat suspicious of STL though. My (test,experimental) program worked first time. Whats that all about??!?! - Jon Hulatt, 22/3/2002
I can't talk about buisness apps, but in the games industry copy protection is just a method of slowing the pirates down, rather than preventing them altogether. Most of the sales of videogames happen in the first couple of months after release, so if the copy protection on a title is cracked 3 months after release, it would be considered sucessful, since pirate copies wouldn't have been able to effect the main selling period. Also using a farmed out copy protection system, really depends on how it works. The best form of protection is to distribute the piracy checks throughout the whole codebase, thus making it very dificult for the cracker to know that they've all been removed. Something like that would have to be found and overcome on a per-title basis, even if the cracker knows what basic system is being used. -- Help me! I'm turning into a grapefruit!
-
There are a number of programs around which encrypt and pack .EXE's and decrypt and unpack them when they are loaded. From the reseach I did about a year+ back I was led to the conclusion that these techniques can cause problems, so I haven't used them. I think a better technique is to use something like a one-way hash on the .EXE which is then used to detect if it has been modified. Theoretically and in practice I think it would be quite difficult for a hacker to work around this. Neville Franks, Author of ED for Windows. www.getsoft.com
Neville Franks wrote: From the reseach I did about a year+ back I was led to the conclusion that these techniques can cause problems, so I haven't used them. I haven't had any problems using PE compression and encrypting, stuff, although advice everywhere suggests it is not good to do. :confused: Regardz Colin J Davies
Sonork ID 100.9197:Colin
I think it's interesting that we often qu-ote each other in our sigs and attribute the qu-otes to "The Lounge". --- Daniel Fergusson, "The Lounge"
-
Neville Franks wrote: From the reseach I did about a year+ back I was led to the conclusion that these techniques can cause problems, so I haven't used them. I haven't had any problems using PE compression and encrypting, stuff, although advice everywhere suggests it is not good to do. :confused: Regardz Colin J Davies
Sonork ID 100.9197:Colin
I think it's interesting that we often qu-ote each other in our sigs and attribute the qu-otes to "The Lounge". --- Daniel Fergusson, "The Lounge"
****Colin Davies wrote: I haven't had any problems using PE compression and encrypting, stuff, although advice everywhere suggests it is not good to do. I can't site any specific cases. For larger apps loading is slowed down, which could be a problem. This is a seperate issue again though. Neville Franks, Author of ED for Windows. www.getsoft.com
-
I can't talk about buisness apps, but in the games industry copy protection is just a method of slowing the pirates down, rather than preventing them altogether. Most of the sales of videogames happen in the first couple of months after release, so if the copy protection on a title is cracked 3 months after release, it would be considered sucessful, since pirate copies wouldn't have been able to effect the main selling period. Also using a farmed out copy protection system, really depends on how it works. The best form of protection is to distribute the piracy checks throughout the whole codebase, thus making it very dificult for the cracker to know that they've all been removed. Something like that would have to be found and overcome on a per-title basis, even if the cracker knows what basic system is being used. -- Help me! I'm turning into a grapefruit!
benjymous wrote: Also using a farmed out copy protection system, really depends on how it works. The best form of protection is to distribute the piracy checks throughout the whole codebase, thus making it very dificult for the cracker to know that they've all been removed. Something like that would have to be found and overcome on a per-title basis, even if the cracker knows what basic system is being used. Absolutely one of the keys (no pun intended) to achieving a better outcome. Also don't check the second the app starts, but some random time later, every nth use, or whatever. Lots of twists to make it more difficult. By using a range of techniques you can accomplish a lot. Neville Franks, Author of ED for Windows. www.getsoft.com
-
There are a number of programs around which encrypt and pack .EXE's and decrypt and unpack them when they are loaded. From the reseach I did about a year+ back I was led to the conclusion that these techniques can cause problems, so I haven't used them. I think a better technique is to use something like a one-way hash on the .EXE which is then used to detect if it has been modified. Theoretically and in practice I think it would be quite difficult for a hacker to work around this. Neville Franks, Author of ED for Windows. www.getsoft.com
Neville Franks wrote: Theoretically and in practice I think it would be quite difficult for a hacker to work around this.
if (dwCRC != dwGoodCRC)
{
badEXE();
}it's easy. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
-
Neville Franks wrote: Theoretically and in practice I think it would be quite difficult for a hacker to work around this.
if (dwCRC != dwGoodCRC)
{
badEXE();
}it's easy. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
Chris Losinger wrote: if (dwCRC != dwGoodCRC){ badEXE();} it's easy. If the hacker can find this test, and assuming it is done in only one place then yes it can be bypassed. But if you do something as simple as this then of course you won't have a very good protection system. Also the problem with a CRC is that a hacker can patch your code then calculate a new correct CRC and apply it. That is why I've suggested using a one way hash, and not a CRC. Neville Franks, Author of ED for Windows. www.getsoft.com
-
Chris Losinger wrote: if (dwCRC != dwGoodCRC){ badEXE();} it's easy. If the hacker can find this test, and assuming it is done in only one place then yes it can be bypassed. But if you do something as simple as this then of course you won't have a very good protection system. Also the problem with a CRC is that a hacker can patch your code then calculate a new correct CRC and apply it. That is why I've suggested using a one way hash, and not a CRC. Neville Franks, Author of ED for Windows. www.getsoft.com
how is a hash function more tamper proof than a crc function? they're both data-in, data-out. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
-
how is a hash function more tamper proof than a crc function? they're both data-in, data-out. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
When you generate the hash you use a key which only you know. The key never appears in the app, so it isn't possible for anyone else to generate a hash that will work. Neville Franks, Author of ED for Windows. www.getsoft.com
-
****Colin Davies wrote: I haven't had any problems using PE compression and encrypting, stuff, although advice everywhere suggests it is not good to do. I can't site any specific cases. For larger apps loading is slowed down, which could be a problem. This is a seperate issue again though. Neville Franks, Author of ED for Windows. www.getsoft.com
Neville Franks wrote: For larger apps loading is slowed down, Fair enough, most of my apps are "tiny" and are not Enterprise sized. Regardz Colin J Davies
Sonork ID 100.9197:Colin
I think it's interesting that we often qu-ote each other in our sigs and attribute the qu-otes to "The Lounge". --- Daniel Fergusson, "The Lounge"
-
My experience is not with cheap ($20 ~ $200), mass-selling software. I sell enterprise solutions for credit assessment, where you sell one or two copies a month. You could be surprised that even in this mature software market there is so much piracy. I'm using a HASP to protect my software. As a hardware lock, it's hard to overcome this kind of protection, specially when the lock really does something useful, not only a "is-hardlock-present" question. In my case, I use it for some computations, so, if the hardlock is not present, someone would have to write a device driver and a code that emulate that function. I believe that constant contact with my customer is an important "feature" of my software, that is disabled in case of piracy. My software needs constant upgrading, because it talks to a miriad of credit information bureaus, that change their protocol (to add more information) on a constant basis. This way, the software naturally "times-out", even if you break the hard lock. If I knew someone broke a protection scheme I bought, I could change it in no time, buying it from another vendor. Just buy a hardlock from another vendor. In fact, it's clever to do it even if someone did not break it. IMHO, it's very complicated to break good hardware-based protection schemes, but software-protection schemes are much simpler, does not matter how clever they are. There is a new kind of protection scheme starting to appear: network (internet) based, where there is a "virtual hardlock"; it is actually a Web Server (or another socket solution). This kind of protection is pretty good for .NET-like software and may become a common protection scheme in the near future. There are some issues like DNS, proxy and router-based attacks, but it's pretty strong. You could also relocate some important functionality of your software to your server, so the software only would work with a compatible Web Service. Crivo Automated Credit Assessment
Hardware protection is really good stuff. No argument from me. But it does have some drawbacks: 1. Can be inconvenient to the user when he/she buys 5 or 10 products that each require a dongle-like object. 2. Can be expensive - for each sale you have an extra expense. 3. Probably overkill for most software systems. 4. Inconvenient to the provider and the user - the user must wait until the physical dongle has been delivered to them. With more and more software being delivered electronically, this kind of defeats the whole concept. So, I think there's still room for a good software-only system. Hopefully, the survey will tell us (and everyone - we'll publish the results). Russell Robinson (russellr@rootsoftware.com) Author of TTMaker (Advanced Timetabling Software) http://www.rootsoftware.com
-
What software authors really need for piracy protection is OS and hardware support. The OS and the hardware needs to keep users from reading (in an editor) and writing (for patches) executable files. This would also require encryption of some kind, to keep EXEs from being modified on non-compliant OSes... But wait, that's Digital Rights Management stuff, and I don't like that. Hmm... -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
I have worries about OS support:
- I can't actually think of any way to stop an executable file from being read or written. The OS has to provide low level access to the disk in some way (e.g. for defragging and checking the disk), so even if the high level prevents access to the exe, you can still get to it at a lower level.
- If the OS supports protection, then breaking everyone's protection is easy because you just break the OS code. Does anyone know a good OS manufacturer?
- If it also relies on some hardware device (such as a dongle), I've already listed the problems with this in an earlier post.
- How are developers going to compile programs? If the OS has a "switch off protection - development in progress" mode, then that's pretty straightforward for anyone to use.
The two ends of this problem are:
- software can always be changed
- hardware is damned inconvenient to ship
So, it seems to me that most software products (excluding the really expensive stuff) need a cheap and simple but effective software protection solution. (PS does anyone know why using HTML list causes the post to go bold?) Russell Robinson (russellr@rootsoftware.com) Author of TTMaker (Advanced Timetabling Software) http://www.rootsoftware.com
-
Ok, here's my first post, and thoughts on the topic. Generic software protections are bad because they're generic (kinda obvious). If you want any kind of decent protection it really does need to be completely involved with the rest of your code. For example, TimeLock -- a protection that was contained within tl32v20.dll. Inside this there were I think two comparisons for the correct unlock code. By modifying a simple part, any software could be unlocked. If you visit astalavista.box.sk you can see the countless number of protections that have been broken, from the relatively inexpensive to the extremely expensive. Reversers and crackers hold software protection companies in fairly low regard, and as such there's probably a fairly high desire to obliterate any generic protections produced. Protection routines have to be interwoven with the rest of your application. A simple check like "If isRegistered Then EnableWindow Else DisableWindow" is easy to remove, since you can either change the parameter for enablewindow to true, and its enabled even with a wrong code, or, change the comparison so it checks the generated code, with the generated code etc. There are a few sites with good suggestions for coding protections, for example, whereby the protection routine is required to build a necessary structure. Thus, if the protection routine is removed the structure isn't built and thus renders the application unstable or useless. Alternatively, if the incorrect code is entered, likewise, the structure will be built incorrectly. Of course, if it was this simple then there would be masses of great protections. Some are better than others, but its really no substitute for creating one yourself. For example, a while ago while I was reading into this subject, a reverser had suggested using a grid of checkboxes. Instead of comparing a string with a string, a random sequence of checkboxes in an array were compared. Because its not a commonly used method it requires more thought than the regular serial number entry. Or, you could incorporate parts of the structures or code within pictures using steganography. Using a somewhat similar approach to passwords that MS Research recently demonstrated, by offering users a selection of pictures. Only if the correct combination is selected will the necessary code exist to run. Again, by using something a little unique, it makes the task of cracking it a little harder. (Bear in mind I've just had this thought off the top of my head, so it may be seriously flawe
Paul Ingles wrote: Protection routines have to be interwoven with the rest of your application. A simple check like "If isRegistered Then EnableWindow Else DisableWindow" is easy to remove, since you can either change the parameter for enablewindow to true, and its enabled even with a wrong code, or, change the comparison so it checks the generated code, with the generated code etc. Absolutely right. Paul Ingles wrote: Of course, if it was this simple then there would be masses of great protections. Some are better than others, but its really no substitute for creating one yourself. I'm not saying it is simple. I'm just saying it's possible. In fact, Paul, with respect, your second sentence contradicts your first one. If it isn't simple, why would you try to create one yourself? Everyone is basically saying "you can't sell a protection product that everyone can use without it being easily broken". I think this is based on these assumptions:
- a Software Protection System will have a single interface that can be targeted by crackers
- you can't spread the protection throughout your product
- coming up with your own solution will always be better
On this last point, what about cryptography? The best cryptographic systems are open source. Everyone gets to see how they work. But they are still difficult/impossible to break. We're still thinking about the source code issue, and we may well provide the source as part of our offering. In other words, we'll take the challenge that a cracker might say "I'll break it if I know how it works". Our system overcomes the first two assumptions. You *won't* have a single interface that can be targeted. You *will* be able to spread the protection throughout your product. I really like the idea of a collaborative area where we can test and discuss ideas. This will definitely be part of our offering. I'm simply asking whether developers would like a system that incorporates the good ideas, the ones that work, into a product they can purchase. Russell Robinson (russellr@rootsoftware.com) Author of TTMaker (Advanced Timetabling Software) http://www.rootsoftware.com
-
When you generate the hash you use a key which only you know. The key never appears in the app, so it isn't possible for anyone else to generate a hash that will work. Neville Franks, Author of ED for Windows. www.getsoft.com
i must be missing something... as i see it, CRC is equivalent to a hash :
hash_or_crc = fn(fileBytes)
. if you app has to calculate it, a crack can bypass it. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
-
i must be missing something... as i see it, CRC is equivalent to a hash :
hash_or_crc = fn(fileBytes)
. if you app has to calculate it, a crack can bypass it. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.
Chris Losinger wrote: i must be missing something... Yes. Go to Google and search for "one way hash". MD5 is a commonly used one way hash. This is all related to the wonderful world of Cryptography. "A hash function is an algorithm that takes a variable-length string as the input and produces a fixed-length binary value (hash) as the output. The tricky part is to make this process irreversible, that is, finding a string that produces a given hash value should be very hard (hence the word "one-way"). It should also be hard to find two arbitrary strings that produce the same hash value." have fun. Neville Franks, Author of ED for Windows. www.getsoft.com
-
I have worries about OS support:
- I can't actually think of any way to stop an executable file from being read or written. The OS has to provide low level access to the disk in some way (e.g. for defragging and checking the disk), so even if the high level prevents access to the exe, you can still get to it at a lower level.
- If the OS supports protection, then breaking everyone's protection is easy because you just break the OS code. Does anyone know a good OS manufacturer?
- If it also relies on some hardware device (such as a dongle), I've already listed the problems with this in an earlier post.
- How are developers going to compile programs? If the OS has a "switch off protection - development in progress" mode, then that's pretty straightforward for anyone to use.
The two ends of this problem are:
- software can always be changed
- hardware is damned inconvenient to ship
So, it seems to me that most software products (excluding the really expensive stuff) need a cheap and simple but effective software protection solution. (PS does anyone know why using HTML list causes the post to go bold?) Russell Robinson (russellr@rootsoftware.com) Author of TTMaker (Advanced Timetabling Software) http://www.rootsoftware.com
Russell Robinson wrote: I can't actually think of any way to stop an executable file from being read or written. the same way they'll make it impossible to read or write video and audio files: through a combination of software and compliant hardware. Russell Robinson wrote: How are developers going to compile programs? ahh... there's the true evil of DRM, and why every US citizen reading this should be sending letters to their congress people telling them to defeat the latest round of copyright nonsense. i am playing devil's advocate here. i don't want the OS to do anything like this. but, if the media people have their way, OSes will be required, by law, to prevent access and copying of copyrighted material - programs included. the only real way to do that is to combine software and smart hardware. then we're all screwed. -c
"Do you mind if I smoke?" "Madam, I don't care if you burn." -Oscar Wilde Smaller Animals Software, Inc.