Dynamic crypting
-
I ran accross a protection tool called Ultraprotect. Here's something that caught my attention: www.ultraprotect.com/dynamiccode.htm[^]. There's a prolog / epilog style encryption decryption (most likely done in __asm blocks). This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. I'd like to learn how to implement something like this myself. If anyone has experience with this type of coding please give me some helpful links/pointers. Alex Korchemniy
-
I ran accross a protection tool called Ultraprotect. Here's something that caught my attention: www.ultraprotect.com/dynamiccode.htm[^]. There's a prolog / epilog style encryption decryption (most likely done in __asm blocks). This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. I'd like to learn how to implement something like this myself. If anyone has experience with this type of coding please give me some helpful links/pointers. Alex Korchemniy
Alex Korchemniy wrote: This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. Not really. All they have to do is extract the full code for the method into another application, delete the epilog part and run it. voila. Code cracked. It might take them an extra 5 minutes. It would be easy to write a tool to search through the executable for the prolog and epilog bits, decrypt the code and remove the prolog/epilog, thus defeating the encryption completely.
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
-
Alex Korchemniy wrote: This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. Not really. All they have to do is extract the full code for the method into another application, delete the epilog part and run it. voila. Code cracked. It might take them an extra 5 minutes. It would be easy to write a tool to search through the executable for the prolog and epilog bits, decrypt the code and remove the prolog/epilog, thus defeating the encryption completely.
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
I understand... I can do that myself. I'd just like some hints as to whats a good way to start implementing something like this. I'm planning to add on to it later(mingle code with encryption so that the entire block never shows) once I get the hang of how to do it properly. Any good article on writing good software protection are welcome. Alex Korchemniy
-
I understand... I can do that myself. I'd just like some hints as to whats a good way to start implementing something like this. I'm planning to add on to it later(mingle code with encryption so that the entire block never shows) once I get the hang of how to do it properly. Any good article on writing good software protection are welcome. Alex Korchemniy
Have a Look here :- http://www.codeproject.com/cpp/softprot.asp[^] http://www.codeproject.com/tools/opensrcprot.asp[^] http://www.codeproject.com/tools/opensrcprot_part2.asp[^]
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers, Alok Gupta