Hello Coders, id like to make my app running as trial soft. any ideas how i can do this ? how do you do this ? i think checking the systemtime is not a good idea. thanks
Posted on 2001-05-28 05:22:00 by EasyCode
Howdy EasyCode Basically there are two solutions to your problem: 1) Code the time-trialness yourself 2) Buy aspack and apply it to your program. IMO protecting requires a heavy background on de-protecting. That in case you want to make some decent protection :). So if you don't have the time or the experience to protect your own up, i'd suggest taking number two. With number two your app will also be cracked. But it'll take just more time :). Those are my two cents. Bye! Latigo
Posted on 2001-05-28 09:24:00 by latigo
Anything someone programs, someone else can decompile and reverse engineer. Period. All you can hope for is to make it morw painful to reverse then your app is worth. And even in that case, some clever 12 year old may take it as a pure challange and reverse it anyway. Serial number checks are notiriously simple to break. So are timed versions; all one has to do is figure out how you saved the time and adjust that to run your trialware forever. If you want to be fairly safe, only release a crippled version, say something that doesn't save the work, or doesn't print. Something that allows a client to test drive all your functions, fall in love with your app, but ultimately doesn't do anything usefull. Then you ship the full version only to registered users. This way, a serial number scheme could work, as the serial number could be a long key to decript the full .exe file. Just make sure you email the serial number, least someone reverse the S/N generator itself. And even if you do this, nothing will stop the first registered paying user from copying the full files and posting them somewhere.
Posted on 2001-05-28 11:48:00 by Ernie
2)latigo: Buy aspack and apply it to your program.
What? Do you think us Reverse Engineers do not have access to unpackers? Beleive me any type of packing you put on a file can be defeated by a good Reverse Engineer. Personaly as a Reverse Engineer the only thing I can see as a sure way that your program can not be cracked is to just create 2 versions, one the full and one the trial, in the trial make sure to pull out all the code conserning parts of the program you dont want to work, because if you only say dissable the function, i.e. a menu item but the code is there, it turns into a pretty easy Reversme and your program is gone. You can have them send you the cash and you can send them the program, but there's no way to keep them from spreading it around. What are some alternatives?? Encrytption, heavy encryption, so heavy it makes the reverse engineer go crazy trying to follow it, think of a very imagnitive protection, then again it helps to be a reverse engineer in order to do this.... but if you dont have the time to learn or want to learn stick w/ what i first told you, but im telling you if your prog sucks no one will be willing to pay money for it... -brad
Posted on 2001-05-28 13:05:00 by Rage9
Anyone can get an unpacker for free :) www.programmerstools.com has unpackers for aspack, pecompact, and upx So packing won't help you at all, like Rage said, go with encryption.
Posted on 2001-05-28 19:02:00 by Jon Richardson
Hi, You might want to check out FRAVIA'S "HOW TO PROTECT BETTER" at http://www.searchlores.org/protec/protec.htm for probably the best source of info from a reverser's point of view, as well as links to shareware protection sites. And yeah, everything said about how most schemes can be cracked is true. Crippleware with missing code is probably the best bet if you want to do all the coding yourself. Regards, Kayaker
Posted on 2001-05-28 23:26:00 by Kayaker
Hello Coders, thanks a lot for the answers :-) as i see,this is not so easy as i think first. at this time i dont know what i should make. possible i decrypt only the database for the submit engines or insert no protection. also i will read fravias page,thx for the link. happy coding :-)
Posted on 2001-05-29 02:12:00 by EasyCode
Hello Rage9 my dear comrade! It seems that your ugly, fat and unjustified ego don't let you read properly the posts in this board. Re read and check the last part of my original post: 'With number two your app will also be cracked. But it'll take just more time' And for your information my dear lame ass, reverse engineering means LOTS more than reversing a jump or patching shareware. Check the last flamewar between the HCU*nix and +Tseph's board to get some extra info. Byeeeee Latigo
Posted on 2001-05-29 09:50:00 by latigo
If you have two versions, to prevent someone from distributing the full version, you can create an app that you send to the user that gets the user's HDD serial and uses that to create a key. Of course, the user will get paranoid and annoyed, if you let him know what you are doing. But that can be defeated too.
Posted on 2001-05-29 09:54:00 by Hel
Hel, has the right idea: Two versions of the program. One version with crucial code missing (save feature). Second version (registered version), encoded with much personal information about the registerer. They could distribute the full version, but they'd have pointed a finger at themselves as a criminal. You could even post a list on your website of the people who have distributed your program illegally.
Posted on 2001-05-29 15:29:00 by bitRAKE
Hmm, one thing that would stop at least those 12-year-olds W32DASM Crackers to crack your software is a CRC Routine where you check your file (No Matter whether the EXE itself or some outer DLL) if it is patched in some way. Then you can use the way with some serial generation based on something inside the system and you prevent the small crackers from just setting

test eax,eax            -->     test eax,eax
je GoodGuy              -->     jmp GoodGuy
jmp BadGuy              -->     NOP
Ohh, and don't remember: Even though you include routines which you yourself aren't able to follow anymore you somehow annoy the cracker and this results in * several hundred sheets of paper for notes * a big stack of Deadlisting * thousands of cigaretts * about 50 instant pizza * .. * the cracked version of your proggy!!! Sad to know but there will always be this fight (or is it a game?) between the programmers and the crackers and noone will really win.
Posted on 2001-05-29 16:47:00 by Stefan Krause
er..
you can create an app that you send to the user that gets the user's HDD serial and uses that to create a key
Second version (registered version), encoded with much personal information about the registerer.
is this a good ideia? what if the user buy a new comp? he would need to re-send is personal info again to get a new key? when was the last time you bought a prog because the trial time ended? i buy software if has something i want or need(and is reasonably good).. (it happened once or twice :)) make it good and cheap :D
Posted on 2001-05-29 17:34:00 by ensein
WoW, thanks a lot for this great answers !!! i like the idea to get something from the user to make a key :-) i also want to use free updates for registered users. when the user changes the info i use ,i can get the new info with every update and set the new key. i can use a warning message if the user miss a update. im shure behind this idea is much more,thanks a lot ! happy coding :-)
Posted on 2001-05-29 18:21:00 by EasyCode
rage9, Latigo: keep it friendly guys :) in the future you'll get Private Messaging. Should you have any issues then, you can slug it out that way. Let's all respect each other.
Posted on 2001-05-29 18:42:00 by Hiroshimator
Hey, Stefan Krause, a CRC check can easily be patched and then the rest of the program can be altered as much as necessary. CRC's are useless. Bottom line is, anything can be cracked with enough skill.
Posted on 2001-05-30 09:41:00 by Hel
The only algorithm that ever gave me any problem was a section of code that unrolled as it executed. There were two interupts that it used as well: one was on a timer, and the other was triggered to decrypt the algo. I spent a week on it then gave up. :P This was ten years ago on an Atari ST. It was a fun way to learn assembly at the time - there was little documentation. I'm all for taking apart software to learn, but for the purpose of distribution is very wrong. I think that the only reason the distribution of cracked code began, was to prove that one had cracked it - not for the use of the software - that came about later. The reason perseverance is the answer to every question is that all things are equal as time approaches infinity. So, the only question one needs to ask: How long are we going to be around? I answer: perseverance. :)
Posted on 2001-05-30 10:51:00 by bitRAKE
Hey, Stefan Krause, a CRC check can easily be patched and then the rest of the program can be altered as much as necessary. CRC's are useless.
Hmm, no! I have to disagree with you there. There are some nice Programs just for this purpose (CrackMes) having a CRC and if you dared to patch the file the CRC is messed up, the proggy notices and deletes itself and the whole folder from the HDisk. Sure, for crackers being somehow advanced they notice what is going on and will try to remove it but the audience I named will have fu**ing probs with this. It will be harder for them if you just do it with ASM and no API (dunno how to do it exactly) and you can place your routine all over the code. Stefan
Posted on 2001-05-30 11:06:00 by Stefan Krause
Hiro, you are right. It's just that i had a rough day yesterday :) I apologize. Latigo
Posted on 2001-05-30 13:31:00 by latigo

 Rage9 is a friendly guy. as being a programmers, we tend to lack
 sleep due to our urge of learning the art of assembly. replying
 to this forum is everyone's urge indeed. not having enough sleep
 reduce our brain activity (it's not our fault) and thus, we all
 have a bad day once.

 misread others post is common to me (i misread people post all
 the time!) and the different between he and I is that he's
 more talkative, more into replying (which is good) and me
 on the other, just helping out newbie, therefore, i'm not
 an expert who fit into every group trying to help others.

 Rage9 and Latigo, let's shake hand and learn from our mistake.

:cool: This message was edited by disease_2000, on 5/30/2001 11:18:39 PM
Posted on 2001-05-30 23:02:00 by disease_2000
Hello, im happy to read that others have the same problems *bg* i work 8hours a day in my buisness and after eating,cleaning the room and feeding the cats i try to learn a bit asm. most i spend to much time and sleep not enough. this makes me often agressiv and i wonder some time later what i had written to others. youre smart people and understand this,im very happy ;) happy coding
Posted on 2001-05-31 03:50:00 by EasyCode