Issue with Expand All Memebers

8 posts, 0 answers
  1. Julian
    Julian avatar
    2 posts
    Member since:
    Jul 2008

    Posted 28 Apr 2011 Link to this post

    Hi

    when I select my class in class list I get the following decompile

     

    public class XXXXXX : Template
    {
        private static List<WeakReference> __ENCList;
        public int intCount;
        public int intToCreateAfter;
        public int intToEdit;
        private PageTitles pageTitles;
      
        [DebuggerNonUserCode]
        static XXXXXX();
      
        [DebuggerNonUserCode]
        public XXXXXX();
      
        public override Control GenerateXXXXXX();
        public override void ExecuteXXXXXX();
        public override void SubmitXXXXXX();
    }
      
    Expand All Members

    1) Clicking on expand all members I would expect to see at least the last 3 methods/functions extracted, this would match very closely to my source code. unfortunaly the screen just goes blank after the loading icon is displayed.
    2) Clicking on the GenerateXXXXXX() methord in the code display the icon is displayed and the screen the goes blank.

    but clicking on the GenerateXXXXXX() on the left hand treeview decomplies that method.

    Julian

  2. Carl
    Carl avatar
    8 posts
    Member since:
    Feb 2011

    Posted 28 Apr 2011 Link to this post

    I definitely noticed 1) in my brief look at the tool yesterday evening.

    It only seemed to happen on an obfuscated assembly, I tried to expand the same class in the original assembly and it worked fine.

    Carl
  3. DevCraft banner
  4. Carl
    Carl avatar
    8 posts
    Member since:
    Feb 2011

    Posted 28 Apr 2011 Link to this post

    As an update, I stepped through each method in the tree and found that it was just one that caused the issue.

    The method in question contains a few string literals that have been encrypted in the obfuscated version (dotfuscator wp7 edition).

    If I look at the method in Reflector, the strings contain high unicode characters such as chinese/japanese characters, so it's possible that these are responsible?
  5. Carl
    Carl avatar
    8 posts
    Member since:
    Feb 2011

    Posted 28 Apr 2011 Link to this post

    Sorry Julian, I appear to have hijacked your thread...

    This seems to have to do with Control Flow obfuscation.

    I have a repro solution with all the relevant files, but I don't seem to be able to submit a support ticket in order to upload the zip...
  6. Carl
    Carl avatar
    8 posts
    Member since:
    Feb 2011

    Posted 28 Apr 2011 Link to this post

    This is the repro class that can cause the issue:

     

    public class Class1
        {
            public enum TypeEnum
            {
                Type1,
                Type2,
                Type3,
                Type4,
            };
      
            public TypeEnum Type { get; set; }
      
            public string ToString(string format, IFormatProvider formatProvider)
            {
                string[] descs =
                {
                    "Type 1",
                    "Type 2",
                    "Type 3",
                    "Type 4",
                };
      
                string ret = descs[(int)Type];
                if (Type == TypeEnum.Type2 || Type == TypeEnum.Type3)
                    ret += " El: " + Type.ToString();
      
                return ret;
            }
        }

    }

    }

  7. Todd Anglin
    Todd Anglin avatar
    2040 posts
    Member since:
    Aug 2005

    Posted 28 Apr 2011 Link to this post

    Julian/Carl-

    Thank you very much for being active participants in the JustDecompile Beta! And thank you Carl for going as far as providing repo steps. That is very useful.

    It is true that in the this beta (and likely for the official release) that we do not support decompiling obfuscated code. But we'll do some research and see what can be done to make the experience better when the obfuscation is "mixed" with un-obfuscated code in an assembly. We'll also research the scenario Carl shared to make sure we handle that better in upcoming post-Beta builds. Improving decompiling output remains one of our top two priorities.

    -Todd
  8. John
    John avatar
    2 posts
    Member since:
    May 2011

    Posted 13 May 2011 Link to this post

    Not to hijack your thread, but I'm also experiencing the issue of nothing displaying after the Expand All Members loading icon. But the DLL I'm looking at was not obfuscated. Could this be a memory issue? The machine I'm on is unfortunately equipped with only 2GB of RAM.
  9. Kaloyan
    Admin
    Kaloyan avatar
    920 posts

    Posted 18 May 2011 Link to this post

    Hello John Straka,

    The empty codeviwer in the old  version of the JD means that there are some problems with the decompilation. We made them public so if there are some problems, they will be displayed as usual.
    Let us know if you are experiencing any similar problems with the product usage.

    Best wishes,
    Kaloyan
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>

Back to Top
DevCraft banner