Re: Protect IL Code

From: Alek Davis (alek_xDOTx_davis_xATx_intel_xDOTx_com)
Date: 07/05/04

  • Next message: /kim/birkelund/aka/sekhmet: "Re: Permissions granted based on assembly and user"
    Date: Sun, 4 Jul 2004 21:55:47 -0700
    
    

    Jonathan,

    I do not think that your new feature is a good idea. In theory, it can save
    developer time, but consider the following case. Let's say that I have
    library module (DLL) with a public class A. This class has a public method
    X, which is supposed to be called by external applications. Let's say that I
    want to check who the caller is and add code to retrieve the caller assembly
    from method X (maybe I do a stack walk or something). In the original code,
    method X will retrieve the external caller assembly. Now, if during
    obfuscation you take the code from method X and move it to a different -
    private or internal - method, which assembly would the moved code access?
    Right, it will be my assembly, not the external caller, as I originally
    expect. Do you see how dangerous this is? Unless I misunderstand the way you
    do it, I suggest you to remove this feature.

    Alek

    "Jonathan Pierce" <jpierce@nyc.rr.com> wrote in message
    news:3d0f5457.0407021532.27b5acb4@posting.google.com...
    > >>We could probably add a feature to
    > > our Decompiler.NET product to automatically generate these public
    > > stubs for you.
    >
    > This thread motivated me to add the feature. The latest version of our
    > Decompiler.NET application available on our web site now factors out
    > the bodies of public members into seperate methods with obfuscated
    > names, but retains stub methods to expose these public members to
    > classes from external assemblies. Other methods in the same assembly
    > automatically reference the factored obfuscated internal names so only
    > the public stub names remain meaningful.
    >
    > We will also be adding a similar feature soon to hide calls to public
    > members from assemblies external to the one being obfuscated.
    >
    > Please try it out and let us know what you think. You can download a
    > free trial version of Decompiler.NET from our web site at:
    > http://www.junglecreatures.com/
    >
    > Jonathan Pierce
    > President
    > Jungle Creatures, Inc.
    > http://www.junglecreatures.com/


  • Next message: /kim/birkelund/aka/sekhmet: "Re: Permissions granted based on assembly and user"

    Relevant Pages

    • Re: Protect IL Code
      ... This thread motivated me to add the feature. ... the bodies of public members into seperate methods with obfuscated ... the public stub names remain meaningful. ... members from assemblies external to the one being obfuscated. ...
      (microsoft.public.dotnet.security)
    • Re: Solidworks World and SW 2009 News
      ... This "Speedpak" feature for large assemblies (and I hate to say ... now utilizing 2-4 or even 8 cores to calculate drawing views. ... am I to assume that if I have a single processor that I will ...
      (comp.cad.solidworks)
    • Re: Solidworks World and SW 2009 News
      ... This "Speedpak" feature for large assemblies (and I hate to say ... am I to assume that if I have a single processor that I will ... their software future. ...
      (comp.cad.solidworks)
    • Re: Dotfuscator disassociates derived class when base class is lin
      ... I tried Dotfuscator in the early days I think way back in .NET 1.1 and could ... never get it to behave and I think many other developers have found the same ... any dependency assemblies the input assembly is dependent on. ... obvioously this then defeats the purpose of obfuscation. ...
      (microsoft.public.dotnet.framework.compactframework)
    • Re: Dotfuscator disassociates derived class when base class is lin
      ... any dependency assemblies the input assembly is dependent on. ... become disassocarted and calls to override functions in the base class ... obvioously this then defeats the purpose of obfuscation. ...
      (microsoft.public.dotnet.framework.compactframework)