POV-Ray : Newsgroups : povray.off-topic : A programmer's etymology : Re: A programmer's etymology Server Time
28 Jul 2024 16:26:49 EDT (-0400)
  Re: A programmer's etymology  
From: Warp
Date: 25 Jul 2014 01:17:40
Message: <53d1e874@news.povray.org>
scott <sco### [at] scottcom> wrote:
> bool DemoVersion;
> ...
> DemoVersion = !IsLicenseValid();
> ...
> if(!DemoVersion)
> {
>   ... stuff only allowed in the full version
> }

> ...is a really bad idea, as again it would be trivial to scan memory and 
> find the location of the DemoVersion variable and modify it. Or even 
> manually look at the machine code with a disassembler and look for the 
> "if(!DemoVersion)" instruction and bypass it.

The only way to obfuscate the usage of a boolean would be to put more
complex code everywhere that uses that boolean, instead making it do
more complicated operations.

This sounds like a difficult thing to do without breaking the program
(especially since in C++ you can use booleans in all sorts of funny ways).
Also, if the obfuscator blindly converts all the booleans and other
integrals this way, it will ostensibly make the program less efficient,
if it starts obfuscating tight inner loops doing heavy calculations.

Anyways, it seems a poor way to protect your compiled binary. A determined
hacker is going to hack it no matter what.

-- 
                                                          - Warp


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.