Click here to Skip to main content
15,902,275 members
Home / Discussions / C#
   

C#

 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
Pete O'Hanlon11-Mar-11 3:15
mvePete O'Hanlon11-Mar-11 3:15 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
Eddy Vluggen11-Mar-11 3:41
professionalEddy Vluggen11-Mar-11 3:41 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
Matty2221-Mar-11 23:46
Matty2221-Mar-11 23:46 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
devvvy12-Mar-11 12:53
devvvy12-Mar-11 12:53 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
devvvy12-Mar-11 12:50
devvvy12-Mar-11 12:50 
AnswerRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
bob1697211-Mar-11 1:38
bob1697211-Mar-11 1:38 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) [modified] Pin
devvvy12-Mar-11 13:04
devvvy12-Mar-11 13:04 
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
bob1697212-Mar-11 17:42
bob1697212-Mar-11 17:42 
For native executables, you can attach to the process with a debugger and if the application throws up a message box saying "you don't have a license", you've basically brought them very close to the code path they are looking for. Also, there are various techniques to creating breakpoints that will make the porcess of tracing through much easier since they will be in the vicinity of the code, even if you don't give many hints.

I had a licensing scheme that obfuscated all sensitive string literals, comparison keys, etc... using a blowfish encryption scheme and I dynamically generated the encryption key using a function. All it took to bypass my code was to open the executable in binary mode (using Visual Studio) going to the byte sequence I had narrowed it down to using a simple debug trace of the process, and I replaced the appropriate bytes in the executable with the opcode for "NOP" (0x90) to eliminate the branch statement path that would have exited the application if the license was not correct and saved my settings. I was able to run the executable with it bypassing all my licensing code. All my hard work trying to protect my app was basically useless.

This was with a native app. Someone trying to manipulate your managed code will probably have an easier time backward engineering your efforts (obfuscated or not) and will easily bypass any protective licensing mechanism. Every book I have on security basically states, "don't rely on hiding secrets in your code". I would have to agree with that statement but I would still say it's not a complete waste of time trying to discourage reverse enginerring to some degree. Just don't get too convinced that you'll be able to completely prevent it as it is an exercise in futility, unfortunately.

I'd just hate to see someone else spend too much time on this endeavor since no matter how complicated you make it, it will probably boil down to a simple if/else statement in the end and those are easily manipulated.

Some may scold me for talking about "how to" here as they will say it is giving ammunition to those who want to bypass our code protections but I would argue that every security book considers this "false sense of security 101" and usually talks about this within the first 100 pages anyway. I think we are stuck with this reality, as unfortunate as it is.

Anyway, I would still encourage you to obfuscate to some degree to help protect your intellectual property.
Good luck with your project.
GeneralRe: Simple .NET licensing mechanism - how to crack this (assuming exe is obfuscated?) Pin
devvvy14-Mar-11 19:25
devvvy14-Mar-11 19:25 
QuestionHow can i use my multi thread in multi core ? Pin
SungBae.Han10-Mar-11 14:31
SungBae.Han10-Mar-11 14:31 
AnswerRe: How can i use my multi thread in multi core ? Pin
Dalek Dave10-Mar-11 14:36
professionalDalek Dave10-Mar-11 14:36 
GeneralRe: How can i use my multi thread in multi core ? Pin
SungBae.Han10-Mar-11 14:50
SungBae.Han10-Mar-11 14:50 
GeneralRe: How can i use my multi thread in multi core ? .. hmm.... Pin
SungBae.Han10-Mar-11 15:08
SungBae.Han10-Mar-11 15:08 
AnswerRe: How can i use my multi thread in multi core ? Pin
Luc Pattyn10-Mar-11 15:10
sitebuilderLuc Pattyn10-Mar-11 15:10 
QuestionAny way to speed up ADO.NET performance? Pin
SledgeHammer0110-Mar-11 12:39
SledgeHammer0110-Mar-11 12:39 
AnswerRe: Any way to speed up ADO.NET performance? Pin
Dalek Dave10-Mar-11 12:49
professionalDalek Dave10-Mar-11 12:49 
GeneralRe: Any way to speed up ADO.NET performance? Pin
SledgeHammer0110-Mar-11 13:53
SledgeHammer0110-Mar-11 13:53 
AnswerRe: Any way to speed up ADO.NET performance? Pin
PIEBALDconsult10-Mar-11 13:24
mvePIEBALDconsult10-Mar-11 13:24 
AnswerRe: Any way to speed up ADO.NET performance? PinPopular
Luc Pattyn10-Mar-11 13:36
sitebuilderLuc Pattyn10-Mar-11 13:36 
GeneralRe: Any way to speed up ADO.NET performance? Pin
Dalek Dave10-Mar-11 13:42
professionalDalek Dave10-Mar-11 13:42 
AnswerRe: Any way to speed up ADO.NET performance? Pin
Luc Pattyn10-Mar-11 13:56
sitebuilderLuc Pattyn10-Mar-11 13:56 
GeneralRe: Any way to speed up ADO.NET performance? Pin
Dalek Dave10-Mar-11 14:00
professionalDalek Dave10-Mar-11 14:00 
GeneralRe: Any way to speed up ADO.NET performance? Pin
SledgeHammer0110-Mar-11 14:11
SledgeHammer0110-Mar-11 14:11 
GeneralRe: Any way to speed up ADO.NET performance? Pin
SledgeHammer0110-Mar-11 14:08
SledgeHammer0110-Mar-11 14:08 
AnswerRe: Any way to speed up ADO.NET performance? Pin
Luc Pattyn10-Mar-11 14:17
sitebuilderLuc Pattyn10-Mar-11 14:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.