Dotfuscator Questions

T

Tom Bean

I am using Dotfuscator Community Edition to obfuscate an application for
Pocket PC. When I made the first pass with Dotfuscator, the app threw a
MissingManifestResourceException. Of course, since the app has been
obfuscated, the only information I got about what caused the error pointed
to resource aq.

The Dotfuscator listing window had WARNINGs about all the forms in my app,
so I excluded them on the 'Rename' tab and reran Dotfuscator. This time the
app came up and ran on the Pocket PC, however, I noticed some custom
controls did not behave correctly. I continued to exclude controls and
methods in the controls until I got the app to run on a device running
Pocket PC 2002. When I tried the app on a device running Pocket PC 2003,
more of the custom controls exhibited problems, so I began the process of
excluding controls and methods again.

The decisions about what to exclude is very hit-and-miss but I am
speculating that to solve the problems, all event handler methods, like
OnPaint(), need to be excluded. Is that correct?

Is there any documentation available about how to decide what to exclude so
Dotfuscator does not break your application?

Thanks,
Tom
 
H

Hilton

Tom,

I had the exact same problem with Dotfuscator. I believe a representative
from preemptive has claimed that it works fine with the CF here on the NGs.
Clearly is does not. I have not tried the latest version (lack of time) so
that might do better. However, I was also getting the exceptions you are.
It would be great if preemptive fixed their problems related to this issue.

This is what I expect (at a minimum): I give an obfuscator an EXE with no
reflection, no funny stuff, just a plain old EXE with one or two images, an
icon etc (all contained in the EXE), and the obfuscator should be able to
work just fine.

BTW: Dotfuscator was causing peverify to report errors. Did you try that?

Hilton
 
P

Peter Foot [MVP]

Its my understanding that only the full version of Dotfuscator supports
..NETCF, the community edition which is bundled with Visual Studio does not.

Peter
 
T

Tom Bean

Peter,

According to a message from Dave Goebel, with Preemptive
(e-mail address removed), on July 9, 2003, Dotfuscator Community Edition works
with CF.

Tom
 
T

Tom Bean

Hilton,

I ran peverify on my app and got the following error: "Unable to
OpenScopeOnMemory for IMetaDataImport:80070003". Is that the kind of error
you were talking about?

Tom
 
T

Tom Bean

Hilton,

Sorry for my previous message, I got that error because I didn't have quotes
around my path so peverify couldn't find my app.

When I got the command line correct, I got this error: "[MD]: Error:
ManifestResource is not marked Public or Private. [token:0x2800000E]".

Is this the error you meant?

Tom
 
A

Alex Feinman [MVP]

I ran Dotfuscator CE on several small CF projects and did not see any
problems. Perhaps the trouble starts with more serious projects
 
M

Marc Ambrosius

Peter Foot said:
Its my understanding that only the full version of Dotfuscator supports
.NETCF, the community edition which is bundled with Visual Studio does
not.
Preemptives's Website (http://www.preemptive.com/dotfuscator/index.html)
says, only the Professional Edition has what they call "Comprehensive
support for the .NET Compact Framework". Maybe the Community Edition has
some kind of support that is not comprehensive?

Marc
 
T

Tom Bean

The following is the text from Dave Goebel's message posted to this
newsgroup on 2003-10-31:

"All versions of Dotfuscator work on the CF. Please go to
www.preemptive.com for more details or call with questions.
-Dave"

Dave Goebel works at Preemptive or at least that's what is indicated by his
e-mail address.

Tom
 
H

Hilton

Marc said:
not.
Preemptives's Website (http://www.preemptive.com/dotfuscator/index.html)
says, only the Professional Edition has what they call "Comprehensive
support for the .NET Compact Framework". Maybe the Community Edition has
some kind of support that is not comprehensive?

Per my discussions with Preemptive, "comprehensive" means it does
compression (i.e. makes identifiers smaller, shrinks EXE as a result) -
basically it's a marketing thing, not an engineering thing. Preemptive
claim that the Community Edition works with the CF - clearly it does not.

Yes, Dave Goebel works at Preemptive.

Disclaimer: I have not tried their most recent version.

Hilton
 
H

Hilton

Tom said:
Hilton,

Sorry for my previous message, I got that error because I didn't have quotes
around my path so peverify couldn't find my app.

When I got the command line correct, I got this error: "[MD]: Error:
ManifestResource is not marked Public or Private. [token:0x2800000E]".

Is this the error you meant?

It's been a few months, but this looks very similar to what I got; i.e. yes,
it's the same.

So, it's taking peverifiable code and making it non-peverifiable. I'm not
sure that their claim "We're running thousands of classes through
control-flow that won't decompile anymore but run and verify 100%." is
true - at least with the COmmunity Edition on CF.

BTW: IMHO they chose the wrong feature list for the Standard Edition. I
would have bought it if they had chosen the exact opposite of what they did.
:)

Hilton
 
T

Tom Bean

Hilton,

I am using their latest version and it exhibits the problems I've outlined.

Tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top