|
|
Home » Developing U++ » UppHub » Protect package - A starting copy protection system
Re: Protect package - A starting copy protection system [message #28854 is a reply to message #28850] |
Mon, 20 September 2010 00:50 |
|
Hi Max!
This is a very interesting package. I couldn't resist and played with it for a while My conclusions: It works very well and it would definitely stop me from stealing the app.
Few observations:
It works as well with flags "GUI .PROTECT" which cause less recompilation when switching between protected and unprotected mode. (If you want to have encrypted code in other packages than main and still use this trick, you can add PROTECT into 'Accepts' field in package manager.)
You can't declare variables inside the encrypted block, because 'jump to label __end crosses initialization of ...'. It is somewhat cryptic, so it should be probably mentioned in docs. Work around is to put another pair of '{}' between the calls to PROTECT_... macros to limit the scope of variables declared inside.
You can't have two encrypted blocks in one function, as it results into redeclaring variables. Even if the blocks are in different scopes, it fails on duplicate labels. This could be fixed easily, but it is probably not important for real-life usage.
The 'return' in PROTECT_END_FUNC prevents using the macro in functions returning a value. Omitting it causes runtime error, but ugly fix comes to my mind:#define
//only for posix here, for win it is similar
PROTECT_END_FUNC(RETURN) \
RETURN; \
__end: \
asm volatile ( \
"\t.ascii \""PROTECT_END_MARKER"\"\n" \
)
//and calling it like this (stupid example):
int testfn1(void){
int j=0;
PROTECT_START_FUNC(Decrypt);
PromptOK("testfn1 DECRYPTED SUCCESSFULLY!!!");
return j; // <- returning in between wouldn't hurt
PROTECT_END_FUNC(return j);
}
One question at the end: Do I understand it right, that the decryption is performed only on first call of the function? So it modifies only the program loaded in memory? If so, I'll seriously consider calling it a voodoo
Good job!
Honza
|
|
|
|
|
Protect package - A starting copy protection system
By: mdelfede on Sun, 19 September 2010 21:07
|
|
|
Re: Protect package - A starting copy protection system
By: dolik.rce on Mon, 20 September 2010 00:50
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Mon, 20 September 2010 10:02
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Mon, 20 September 2010 13:57
|
|
|
Re: Protect package - A starting copy protection system
By: dolik.rce on Mon, 20 September 2010 18:29
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Mon, 20 September 2010 21:38
|
|
|
Re: Protect package - A starting copy protection system
By: dolik.rce on Mon, 20 September 2010 23:21
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Mon, 20 September 2010 23:38
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Mon, 20 September 2010 08:14
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Wed, 22 September 2010 00:52
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Thu, 23 September 2010 17:05
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Thu, 23 September 2010 20:39
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 24 September 2010 10:13
|
|
|
Re: Protect package - A starting copy protection system
By: Zbych on Sat, 25 September 2010 13:36
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sat, 25 September 2010 15:37
|
|
|
Re: Protect package - A starting copy protection system
By: Zbych on Sat, 25 September 2010 18:03
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sat, 25 September 2010 18:59
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Wed, 29 September 2010 22:29
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Thu, 30 September 2010 21:30
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Thu, 30 September 2010 22:59
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Fri, 01 October 2010 08:11
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 01 October 2010 13:53
|
|
|
Re: Protect package - A starting copy protection system
By: 281264 on Fri, 01 October 2010 21:53
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 01 October 2010 22:36
|
|
|
Re: Protect package - A starting copy protection system
By: 281264 on Sat, 02 October 2010 16:00
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sat, 02 October 2010 18:08
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sun, 03 October 2010 22:49
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Fri, 08 October 2010 12:29
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 08 October 2010 14:10
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sun, 10 October 2010 14:35
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Wed, 13 October 2010 09:11
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Thu, 14 October 2010 01:42
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Thu, 14 October 2010 10:45
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Fri, 15 October 2010 10:54
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 15 October 2010 11:23
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Fri, 15 October 2010 12:05
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 15 October 2010 12:23
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Sun, 30 January 2011 19:24
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 04 February 2011 01:39
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Fri, 04 February 2011 12:04
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 April 2011 10:02
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Wed, 06 April 2011 13:49
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 April 2011 15:23
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Wed, 06 April 2011 23:18
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Thu, 07 April 2011 14:55
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 08 June 2011 10:08
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Mon, 17 October 2011 21:24
|
|
|
Re: Protect package - A starting copy protection system
By: ratah on Wed, 28 December 2011 10:54
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Wed, 28 December 2011 13:04
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Fri, 01 June 2018 15:43
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: koldo on Mon, 04 June 2018 08:53
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Tue, 05 June 2018 11:37
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Tue, 05 June 2018 19:10
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Tue, 05 June 2018 20:22
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: mdelfede on Wed, 13 October 2010 01:06
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Tue, 05 June 2018 21:08
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 08:31
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 09:30
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 10:12
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 12:16
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 12:34
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 12:42
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 13:32
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 15:30
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Thu, 07 June 2018 12:26
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Thu, 07 June 2018 13:16
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Fri, 08 June 2018 12:42
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Fri, 08 June 2018 13:00
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Fri, 08 June 2018 14:22
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Fri, 08 June 2018 14:41
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Sat, 09 June 2018 09:49
|
|
|
Re: Protect package - A starting copy protection system
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Tue, 12 June 2018 20:23
|
|
|
Re: Protect package - A starting copy protection system
By: Tom1 on Wed, 06 June 2018 12:32
|
|
|
Re: Protect package - A starting copy protection system
|
Goto Forum:
Current Time: Sat Apr 20 03:13:58 CEST 2024
Total time taken to generate the page: 0.06238 seconds
|
|
|