Obfuscator alternatives


Author
Message
Jc Martinez
Jc Martinez
StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)
Group: Forum Members
Posts: 20, Visits: 59
By the way here is a book that may help those going through the same painful transition from MS Access to .Net.: Hehe

Programming Microsoft Visual Basic .NET for Microsoft Access Databases.

http://www.amazon.com/gp/product/0735618194

Greg McGuffey
Greg McGuffey
Strategic Support Team Member (3.4K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Nice find. In my case it wouldn't have been very helpful, as I was mostly using SQL Server databases with Access front ends. However, for anyone who is using Access databases (as opposed to the UI), this looks like a really good book. Thanks!



And yes, the pain in the beginning was quite extreme (about a year ago now). I can't really imagine going back anymore and don't miss Access at all. I believe Nietzsche said "That which does not kill us makes us stronger". I'm a lot 'stronger' than I was a year ago! w00t
Jc Martinez
Jc Martinez
StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)StrataFrame Beginner (24 reputation)
Group: Forum Members
Posts: 20, Visits: 59
My MS Access Apps are also just front ends to a SQL database.

Here is another book that can help someone in the transition from jet to SQL:

From Access to SQL Server
http://www.amazon.com/Access-SQL-Server-Russell-Sinclair/dp/1893115240/

With “Programming Microsoft Visual Basic .NET for Microsoft Access Databases” and “From Access to SQL Server” and SF’s framework one can definitely break away from the MS Access playpen Blush and play with the big boys…Cool

Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Greg McGuffey (12/10/2007)
I ended up using Xenocode's PostBuild. They also can do virtualization and they have a code profiler (which I haven't used yet).

Hi Greg,

It is time for me to get into the obfuscator stuff, I noticed you are using Xenocode's PostBuild, or where using it Smile I have Postbuild 2007, but I am not been able to make it work for me.  Could it be possible for you to list the steps needed to suscesfully protect an SF project with Postbuild?

Thanks!

Edhy Rijo

Greg McGuffey
Greg McGuffey
Strategic Support Team Member (3.4K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Edhy,



I was using PostBuild 2007Pro also. A while ago (many months) we stopped using it. In our case, there wasn't a compelling need to use it, verses the hassle of getting it right. However, here are some things I found.



First, be careful what you obfuscate! The important thing here is to know what SF serializes as text. It is pretty unsafe to obfuscate any BO or any enum as these are used to fill listbox/comboboxes and they serialize the names as text. Thus if you obfuscate the name or fill methods of the BO, it breaks.



I also was doing this with ClickOnce, so it was more complicated. I'm hoping you don't have that pain. Crazy



I believe the process I used was:

1. build a release version

2. Select the files to obfuscate

3. I used aggressive I think

4. I would then deselect BOs and Enums that were likely to end up serialized.

5. I seem to remember something about needing to allow IDLASM tools, but that was probably for ClickOnce.

6. Set flow control settings to 4 I think

7. I typically would encrypt strings also. I was encrypting any sql strings embedded within the app. If I was really concerned, I'd just use sprocs for all access to db though and have no sql embedded. This was a pain as you'd basically have to set this up every single time you do the build (i.e. your saved setting would likely need to be updated).

8. I don't remember much of the other options, except I did multiple assemblies (for ClickOnce).



I'd also recommend looking into using attributes to control the obfuscation process. I think you mark types that aren't obfuscated. This allows better control and simplifies the obfuscation process.



I would recommend that when you are coding to NEVER use a string to indicate a type. I.e. you'd never use something like MyBOType = "MyProject.BusinessObject.MyBO". Instead, you'd use MyBOType = GetType(MyProject.BusinessObject.MyBO).FullName (or whatever the property is that returns the fully qualified name of a type).



I made a request way back that SF consider changing how they serialize BO names and enum names because of this. I'd be nice if they stopped serializing the names as strings and instead serialized them as the GetType().FullName instead. Of course, this might not be possible. But is would sure be nice if it was (and not just for obfuscation, but for normal refactoring).



Let me know if you have more questions and I'll try to answer them... Blink
Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Thanks Greg, I will give this thing a try to see how it comes out. BigGrin

P.S.

I miss RexFox Cool

Edhy Rijo

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search