Decompiler.NET reverse engineers your CLS compliant code

  • Thread starter Thread starter Vortex Soft
  • Start date Start date
Notice that the best decompiler
will not be able to reproduce local variable names

The local variable names are available in the pdb symbol file
generated by debug builds. Most vendors don't ship pdb files with
their products.

For code that you have compiled yourself or when you have the pdb
files, our Decompiler.NET product will retain the local variable names
from the original assembly pdb file.

Jonathan
 
Cor,
You should realize that I programmed my fair share of both COBOL & RPG
programs.

Jay
 
* (e-mail address removed) (Jonathan Pierce) scripsit:
The local variable names are available in the pdb symbol file
generated by debug builds. Most vendors don't ship pdb files with
their products.

That will be the case for almost every released software.
For code that you have compiled yourself or when you have the pdb
files, our Decompiler.NET product will retain the local variable names
from the original assembly pdb file.

Tell me a reason why I should decompile an application if I already have its
source code.
 
OHM,
I should add that I will occasionally use the #Region label for my comments.

For example if a class implements the Singleton pattern, I will normally
include the members that support the Singleton pattern in a region that is
labeled. " Singleton pattern support ".

Likewise if a class has the concept of comparability & equality, I will
include the Equals & IComparable methods in a region call " IComparable
support ".

Which allows at a glance to see that the class supports or is.

Hope this helps
Jay

One Handed Man ( OHM - Terry Burns ) said:
My view is that in essence, comments should serve to explain code which
either has some quirk in it to compensate for an inadequacy or issue with
classes which it interacts with or is dealing with some particularly
complex
or intricate algorithm.

Otherwise, my beleif is the same as yours, well written code needs little
explaination when being read by someone competent.

--

OHM ( Terry Burns )
. . . One-Handed-Man . . .
If U Need My Email ,Ask Me

Time flies when you don't know what you're doing

Jay B. Harlow said:
Hm, yeah, that doesn't even count. It's all throw-away stuff.
Anyone that thinks "comments" are optional, Is optional. But
it's your mess so what I think doesn't matter.
You miss understood my statement! I did not intend to imply that comments
are optional. I actually meant that a lot of comments are redundant. If you
label (name) the code for what it does, then I (in addition to Fowler &
Kerievsky below) don't see a real need for the comment. Fowler also suggests
that if you have a block of code with a comment preceding it, that you
should move the block of code to its own method, with the comment as the
name of the method.

Another example is putting a comment on a variable or parameter declaration.
If you simply pick a fuller name for the variable or parameter, do you
really need a comment on it?

For example, I have a routine that needs two date variables:

' with comments
Dim d1 As DateTime ' the start date
Dim d2 As DateTime ' the ending date

' without comments
Dim theStartDate As DateTime
Dim theEndingDate As DateTime

If you simply name the first variable as theStartDate do you really need
a
comment suggesting the value is the start date?

Consider seeing d1 & d2 used 5 times in your routine, would the code be
as
readable as using theStartDate & theEndingDate?

Would you need comments when you use d1 & d2?

Would you need comments when you use theStartDate & theEndingDate?

In other words "Human-Readable Code" or as Fowler states in Refactoring "Any
fool can write code that a computer can understand. Good programmers
write
code that humans can understand".

You may want to read (& apply the ideas in) Martin Fowler's book
"Refactoring" and Joshua Kerievsky's book "Refactoring to Patterns" both
from Addison Wesley to have a better understanding of my statement.

Hope this helps
Jay

Mr X.
comments. Code without comments is rather worthless.

JH [Mon, 13 Sep 2004 15:30:37 -0500]:
In my experience well written code shouldn't need comments!

Well, see, that's in your experience, which obviously has never
had to deal with SOMEONE ELSE's "well-written code" (haha).

' adopted to VB.NET
Public Shared Sub Main()

Hm, yeah, that doesn't even count. It's all throw-away stuff.
Anyone that thinks "comments" are optional, Is optional. But
it's your mess so what I think doesn't matter.
--
40th Floor - Software @ http://40th.com/
iPlay : the ultimate audio player for iPAQs
mp3, ogg, mp4, m4a, aac, wav, and then some
w/surround, xfeed, reverb - all on your ppc
 
LOL
I see that you are an honest person with a wide knowledge.
Could you help the ignorant people like me and millions others to protect
their work in a satisfactory way?

Go away! You are so obviously in league with jungle creatures, your probably
one of his colleagues! You put on a little play and advertise his crap
overpriced product and now try a different tactic in an attempt to save
face!

Well sir, you have no face!

Nick.
 
I noticed that you are an MPV, I don't know you, it is the first time I
see your nick name, so you should not understand the following question as
any sort of attack to you.
Can you explain as clear as the post I read from you, what checks does
Microsoft do when nomeating MVPs? Being more clear: is Microsoft ready to
put its hand on Bible to say that each of MVPs are not hackers or malware
people?

(I am not talking about you, I repeat to avoid misunderstandings)

Ooooohhh!!!!!!

Hisssss, booooooo!!!

.....
 
Herfried,
I normally use TODO for items that are yet to be done. I use (try to use)
TODO comments & the task list as the to do list identified in Kent Beck's
"Test-Driven Development - By Example" from Addison Wesley. For example I
thought of a new feature I need to add to a class, however I don't currently
have time to add it, I will add a TODO in that class. However if I thought
of an entirely new class I will use the task list itself...

I normally use HACK comments for code that shouldn't be, but its the
"easiest" way to do it right now. Such as your Optimize algorithm comment.
Or the problem we had at work, that we had to introduce a hack to work
around a bug in a recent Crystal Reports update.

So HACK I consider "done" however I probably want to visit & Refactor how I
did it. While TODO are not finished yet, possible not even started.


If you come up with a firmer metric we may be able to come up with a tool to
measure. Such as TODO/HACK per file, TODO/HACK per project.

Hope this helps
Jay
 
Herfried K. Wagner said:
* (e-mail address removed) (Jonathan Pierce) scripsit:

That will be the case for almost every released software.


Tell me a reason why I should decompile an application if I already have its
source code.

False sense of knowledge regarding programming?
 
Try this. Obfuscate with XenoCode on conservative or high setting and with
control flow obfuscations. Then run that dll or exe passed Jungle. In most
cases, you can't make heads or tails from the resulting code (I just tried
it.) once you get passed all the errors that are thrown. That said, looks
like they put some work into the product. Cheers.
 
And the enums can't be changed!!!
You are correct that enum values can't directly be obfuscated since
they are implemented as public literal fields. Since they are literal,
references to their values can substituted at compile time.

On obfuscator can replace them with a corresponding class definitition
with const fields that can be obfuscated.

For example:

private enum Direction
{
North = 0,
South = 1,
East = 2,
West = 3,
}
}
can be replaced with:

private struct a

{
internal const int a1 = 0;
internal const int a2 = 1;
internal const int a3 = 2;
internal const int a4 = 3;
}
 
Hey... Celebrity Allstar...

All of us here.... hackers...

MVP's..... hackers....

which is the reason they became MVP's...

I believe the word your looking for is "cracker" or "a$$ bandit"
 
Herfried,
reconstructing. Complex algorithms are worth stealing, and these
algorithms are often heavily commented or documented. If comments,
I would agree documented yes, I'm not sure if they are always commented.

Based on the millions of lines of code at the 3 large companies I have
worked on over the last 20 years. We always had standards to comment code,
however in practice it never really worked. The original author would
comment the code, a major change would be done and the comments would remain
the same.

I may be misinterpreting, however I get the impression that Extreme
Programming places less emphasis on comments, as the code should be
"Human-Readable Code" as evidenced by my interpretation of the two
Refactoring books previously mentioned.

Just a thought
Jay
 
Not that would be handy. Take some source and output UMLs (ms kinda does
this in vs2005), pseudo code, and logic flow diagrams, and text comments
derived from the code.

--
William Stacey, MVP

Jay B. Harlow said:
Herfried,
I would agree documented yes, I'm not sure if they are always commented.

Based on the millions of lines of code at the 3 large companies I have
worked on over the last 20 years. We always had standards to comment code,
however in practice it never really worked. The original author would
comment the code, a major change would be done and the comments would remain
the same.

I may be misinterpreting, however I get the impression that Extreme
Programming places less emphasis on comments, as the code should be
"Human-Readable Code" as evidenced by my interpretation of the two
Refactoring books previously mentioned.
....
 
Jonathan,
Nick,
Yup?

Please clarify what you are trying to say here. Our Decompiler.NET
product is an application, not an "aplette". The version we ship is
protected both with encryption and obfuscation.

LOL, get off your high horse, put your sandwich board down and shut the f*ck
up! You are starting to sound very irritating indeed! I will call your
application an "aplette" until I am blue in the face, this is not a
violation of anything other than your pride!
Attempts to decompile
it or bypass our license enforcement strategy are also a violation of
our license agreement and we utilize the legal system to protect our
proprietary intellectual property. The product was written entirely at
Jungle Creatures, Inc. aside from the 3rd party libraries licensed and
fully credited in the application About Box.

Refer to my previous statement you paranoid little man,
I would *never* do that! nope nope nope.

What part of that do you not understand? Secondly why the heck would I
*want* to look at your code? I have far more pressing matters at hand than
to care about anyone elses source code, obfuscated or not! So don't start
attempting the threaten me with "the legal system" until you have something
to threaten me with you fool.
Please try to avoid making inaccurate negative statements about our
products in public forums. Our product mentioned in this thread was
mentioned by the original post, and there is no attempt here to
advertise our products, only to respond to technical concerns
mentioned by the original post, and to refute inaccurate assumptions
or accusations made about our products or company in public forums. If
you don't want to see our products mentioned, than you should refrain
from making statements about them in public forums that require us to
respond.

Bla bla bla, yadda yadda yadda, there are always people like you in
newsgroups, always! It's a shame you can't obfuscate your adverts so there
is no hope of me understanding them!

Nick.
 
Herfried,
Tell me a reason why I should decompile an application if I already have
its
source code.
You don't use backup software or check in to Visual Source safe often enough
and inadvertently delete the source to your project. :-)

Jay
 
You don't use backup software or check in to Visual Source safe often
enough and inadvertently delete the source to your project. :-)

Ouch!, no doubt Decompiler.NET would come in handy and restore peace and
harmony back into the world?

Nick.
 
Try this. Obfuscate with XenoCode on conservative or high setting and
with
control flow obfuscations. Then run that dll or exe passed Jungle. In most
cases, you can't make heads or tails from the resulting code (I just tried
it.) once you get passed all the errors that are thrown. That said, looks
like they put some work into the product. Cheers.

Debunk! =)
 
Nak said:
LOL


Go away! You are so obviously in league with jungle creatures, your
probably one of his colleagues! You put on a little play and advertise
his crap overpriced product and now try a different tactic in an attempt
to save face!

Well sir, you have no face!

While I appreciate that you are rather fervent about this, you are really
starting to push the point here. Up to this point I have seen no behaviour
by Jungle Creatures outside of supporting their product(and suggesting it
when people ask about decompilers).

Your comments on this thread have been inappropriate, as have several
others(CJ Taylor and Brian Henry come to mind), and you comprise what I
would consider those who should go away, atleast from this thread.

The original poster is frustrating, to be sure, but you are being just as
bad. This is not a forum for conspiracy theories or for bashing other
people, even if they make a product you don't care for.
 

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

Similar Threads


Back
Top