PC Review


Reply
Thread Tools Rate Thread

Code Obfuscation

 
 
Russell Stevens
Guest
Posts: n/a
 
      9th Sep 2003
I am binding a combo box to an arraylist with code such as

ComboBox(0).DataSource = TheArrayList
ComboBox(0).DisplayMember = "Text"
ComboBox(0).ValueMember = "Tag"
ComboBox(0).DataBindings.Add(New Binding("SelectedValue", dt, "DiscCat ID"))

Works fine on my development computer and on any other computer using the
raw exe file. However, after I obfuscate the code with the included
community edition (latest version available 1.2.1269), the above code
crashes with an error such as

"Could not bind to the new display member.
New Parameter name: newDisplayMember"

My app is shipping. To fix I either need to ship unobfuscated code or get a
fix from Preemptive Solutions for the community edition. It appears to be
impossible to get tech support - I can't even figure out how to report the
problem to them. I guess you have to buy the professional edition to get
support, but as far as I can tell, it probably doesn't work either.

I suspect the problem has something to do with the late binding I am trying
to do. Any suggestions on how to work around the problem or get Preemptive's
attention to tell them their product doesn't work.

Thanks
Russ Stevens


 
Reply With Quote
 
 
 
 
Huihong Luo
Guest
Posts: n/a
 
      10th Sep 2003
Russ,

You are hitting the wall that all current obfuscators
share in common - in theory obfusactors can not guarantee
runtime integrity. So you have to do manual configuration.

Find that type of TheArrayList element, and then preserve
those two properties: "Text", "Tag"

These two members must not be obfuscated, otherwise the
obfuscated code won't run. Different obfuscators have
different mechanism to preserve symbols.

I am the author of the salamander .NET obfuscator,

http://www.remotesoft.com/salamander/obfuscator.html
(free eval download is available, no registration, no exp
date)

and I fully believe the current way of doing obfuscation
is not right, it is way too time-consuming.

Hope this is useful,

Huihong

>-----Original Message-----
> I am binding a combo box to an arraylist with code

such as
>
>ComboBox(0).DataSource = TheArrayList
>ComboBox(0).DisplayMember = "Text"
>ComboBox(0).ValueMember = "Tag"
>ComboBox(0).DataBindings.Add(New Binding

("SelectedValue", dt, "DiscCat ID"))
>
>Works fine on my development computer and on any other

computer using the
>raw exe file. However, after I obfuscate the code with

the included
>community edition (latest version available 1.2.1269),

the above code
>crashes with an error such as
>
>"Could not bind to the new display member.
>New Parameter name: newDisplayMember"
>
>My app is shipping. To fix I either need to ship

unobfuscated code or get a
>fix from Preemptive Solutions for the community edition.

It appears to be
>impossible to get tech support - I can't even figure out

how to report the
>problem to them. I guess you have to buy the

professional edition to get
>support, but as far as I can tell, it probably doesn't

work either.
>
>I suspect the problem has something to do with the late

binding I am trying
>to do. Any suggestions on how to work around the problem

or get Preemptive's
>attention to tell them their product doesn't work.
>
>Thanks
>Russ Stevens
>
>
>.
>

 
Reply With Quote
 
Russell Stevens
Guest
Posts: n/a
 
      10th Sep 2003
Huihong,

Thank you for the feedback - I can probably find a way to fix this one
error - what scares me is how many more there may be that I am not even
aware of.

Thanks
Russ Stevens


 
Reply With Quote
 
Huihonh Luo
Guest
Posts: n/a
 
      10th Sep 2003
Russ,

I forgot one thing, you will have to also preserve the
type of those properties from obfuscation.

You can take a look of my documentation on some runtime
problems,

http://www.remotesoft.com/salamander...tor/manual/ind
ex.html#advanced_topics

You are 100% right, .NET uses lots of reflections
implicitly, e.g., data binding, serialization, remoting,
etc. Even this simple API: Application.ProductName
requires complicated configuration.

When this level of configuration is used, the UI needs to
be very easy to use, and source level debugging should be
available once exception is thrown. Our obfuscator
supports souce level debugging, e.g., the line # info is
not changed when the obfuscated image is used for
debugging, varibles can be watched, etc.

Huihong


>-----Original Message-----
>Huihong,
>
> Thank you for the feedback - I can probably find a way

to fix this one
>error - what scares me is how many more there may be

that I am not even
>aware of.
>
>Thanks
>Russ Stevens
>
>
>.
>

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Securing code in WM 5.0 (Obfuscation) =?Utf-8?B?c3luYw==?= Microsoft Dot NET Compact Framework 4 3rd Nov 2006 02:46 AM
Code Obfuscation Alex Glass Microsoft Dot NET Framework 6 23rd May 2005 08:06 PM
Obfuscation / code protection in .NET 2.0 Paul Aspinall Microsoft C# .NET 1 31st Mar 2005 07:21 PM
.NET Code Obfuscation. Vikram Microsoft C# .NET 2 3rd Jun 2004 07:52 PM
.NET Code Obfuscation. Vikram Microsoft Dot NET Framework 2 3rd Jun 2004 07:52 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 01:16 AM.