Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Obfuscator functionality
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

CreatorCray
New Member

9 Posts

Posted - Dec 10 2007 :  6:47:38 PM  Show Profile  Reply with Quote
Since VAX have refactor rename obfuscation can be implemented quite easy, I think.

For example: rename all identifiers from current workspace to random names by one click.

Does it possible?

kevinsikes
Tomato Guru

USA
271 Posts

Posted - Dec 10 2007 :  11:08:44 PM  Show Profile  Reply with Quote
Hi CreatorCray,

Obfuscation is best applied to the IL created after compilation -- you wouldn't want to obfuscate your source code, since maintenance would be a nightmare.

We appreciate your feedback. Thank you for using Visual Assist X.

Kevin Sikes
Infotainment Platform Design Engineer
Ford Motor Company
Go to Top of Page

CreatorCray
New Member

9 Posts

Posted - Dec 11 2007 :  05:21:45 AM  Show Profile  Reply with Quote
Yes, but IL is .NET.
I need to obfuscate C++ code (part of library, templates inside .hpp). Sure I can use VAX Rename feature, but it's slow because I should call 'rename' to every identifier and type new name manually.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18947 Posts

Posted - Dec 11 2007 :  09:35:39 AM  Show Profile  Reply with Quote
But after you have done this how are you going to maintain your code? Surely this is going to become a nightmare?

zen is the art of being at one with the two'ness
Go to Top of Page

CreatorCray
New Member

9 Posts

Posted - Dec 14 2007 :  02:48:33 AM  Show Profile  Reply with Quote
Obfuscated code is not for maintaining. I need obfuscated copy for evaluation version of library (.h files + .lib). Obfuscation is needed to hide logic inside C++ template classes (~50 classes), which cannot be moved in .lib. Yes, it quite naive and doesn't really hide the code, but for eval version it's quite good.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18947 Posts

Posted - Dec 14 2007 :  09:40:35 AM  Show Profile  Reply with Quote
That makes sense.

The problem from VA's point of view is that Rename has to be triggered inside the IDE, on a given symbol. Without doing this VA does not know what you are trying to rename.

Do your current symbols have unique names? If so a simple find and replace in one file, or find and replace in all files might work well for quite a few of the symbols, leaving you with only a smaller number of cases to fix using VA's rename feature.

zen is the art of being at one with the two'ness
Go to Top of Page

CreatorCray
New Member

9 Posts

Posted - Dec 14 2007 :  11:59:13 AM  Show Profile  Reply with Quote
Understood.

Find and replace doesn't fit good. There's still a lot of hand work.
Let's obfuscate std::list for example. All private and protected definitions should be renamed. All local vars in all functions should be renamed.
We have public interface untouched - so class can be used. But everything inside is scrambled.
Sure there are more steps to complete obfuscation, but they are more simple and VA cannot help with.

Well, I think this question can be closed.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000