Pending Review
Last Updated: 21 Apr 2021 03:37 by Conqu

.get_xxxx()

.set_xxxx(qqqq = wwww )

.set_xxxx(new unit(qqqq = wwww) )

.set_xxxx(new unit(qqqq , wwww) )

giving errorCS0571 cannot explicitly call operator or accessor

 

examples;

gridViewCommandColumn.set_ButtonType(3); gridViewCommandColumn.set_Width(new Unit(140, UnitType.Pixel));

this.__BuildControl__control23(gridViewDataTextColumn.get_EditFormSettings());
aSPxTextBox.get_ValidationSettings().set_ValidationGroup(Convert.ToString(bindingContainer.get_ValidationGroup(), CultureInfo.CurrentCulture));

Unplanned
Last Updated: 08 Feb 2021 06:57 by ADMIN

BACKGROUND:

I use Visual Studio 2019 with Xamarin to develop a cross-platform (Android and iOS) app. I use an obfuscator on the build code for releases.

When archiving the app for release I like to confirm the success of the obfuscation by unzipping the resultant APK, finding the app's main DLL, and dropping this into JustDecompile where I can view the obfuscated code and confirm it's all fine - which has worked well as a process up to now.

However the Google Play Store is removing support for APK files this year, so I have migrated to building AAB files - their new accepted standard. The problem is my previous method of decompiling one of these is no longer valid; after unzipping the AAB and locating the app's main DLL it is no longer in the correct format to be open-able by JustDecompile, with the following error message:

JustDecompile supports only valid CLR assemblies.

From the following GitHub discussion (https://github.com/icsharpcode/ILSpy/issues/2137) I have discovered that this due to Microsoft altering their file formats for CLR assemblies - they've now added a few additional bits of pre-header - so whilst these are still valid CLRs for Android release purposes, it is not considered a valid CLR within JustDecompile.

QUESTION:

Will JustDecompile be supporting decompilation of Microsoft's new DLL format, used within AAB files, in future?

Unplanned
Last Updated: 02 Feb 2021 13:40 by ADMIN

Would be great if we can set a configuration option for search paths to locate referenced assemblies.

From the "Open" command I should be able to "load from folder" and select my project output folder - all the assemblies from that folder should get loaded.

I can set my local nuGet cache path as a search root:  C:\Users\[username]\.nuget\packages

JD can understand the nuGet folder hierarchy and locate files that are the right name/version or prompt to disambiguate when more than one is found.

You can have an MRU list for "Recent folders" to allow switching between projects.

The Assembly List feature never really worked right for me; and loading files by hand, one at a time, sometimes over dozens of dependencies, is a huge pain - would be very easy to do programatically. Even better to actually download missing libraries from nuGet or MS Symbol Cache.

 

Planned
Last Updated: 24 Jan 2021 18:12 by ADMIN

How does one update de4dot to latest available version (2020-06-08)? The plugins manager does not list any update. The current installed version is 2017.2.630.0, whereas the latest available version from github is dated 2020-06-08.

Thanks!

Pending Review
Last Updated: 01 Oct 2020 17:23 by Houzin

Can not load WinRT Metadata, the option is grayed out even though I am running Windows 10 and the C:\Windows\System32\WinMetadata folder does exist.

 

I also tried open the above folder but JustDecompile says it can not fild the folder! I did start JustDecompile as the admin, no luck.  

Please assist. Thanks. 


Unplanned
Last Updated: 04 Aug 2020 06:23 by ADMIN

Just installed and can't see anything but white screen/faint icons on my laptop.  Can't see anything well enough to even look for settings...

TIA

Unplanned
Last Updated: 04 Aug 2020 06:18 by ADMIN

The attached project causes a decompilation error in the DrawPixels() method:

 

Current member / type: System.Void ConwaysLife.LifeForm::DrawPixels()

Product version: 2019.1.118.0
Exception in: System.Void DrawPixels()

Value does not fall within the expected range.
at ??.??.??(ICodeNode ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Ast\BaseCodeTransformer.cs:line 237
at ??.??.Visit(ICodeNode ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Ast\BaseCodeTransformer.cs:line 276
at ??.??.Visit[??,??](?? ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Ast\BaseCodeTransformer.cs:line 286
at ??.??.Visit(? ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Ast\BaseCodeTransformer.cs:line 317
at ??.??.?(?? ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Ast\BaseCodeTransformer.cs:line 337
at ?.?.?.Match(?? ?, Int32 ?) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildAnonymousDelegatesStep.cs:line 119
at ?.?.?(?? ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildAnonymousDelegatesStep.cs:line 28
at ?.?.?(DecompilationContext ?, ?? ??) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildAnonymousDelegatesStep.cs:line 21
at ??.??.(MethodBody ??, ?? ?, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 88
at ??.??.?(MethodBody ??, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 70
at Telerik.JustDecompiler.Decompiler.Extensions.??(?? ??, ILanguage , MethodBody ??, DecompilationContext& ?) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 95
at Telerik.JustDecompiler.Decompiler.Extensions.??(MethodBody ??, ILanguage , DecompilationContext& ?,  ??) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 58
at ??.??.?(ILanguage , MethodDefinition ?,  ??) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\WriterContextServices\BaseWriterContextService

 

The code from from here https://github.com/ericlippert/ConwaysLife/tree/episode28

but since the code is frequently changed I've attached a zip file.

Unplanned
Last Updated: 07 Jul 2020 08:19 by Mark

Whenever using JustDecompile or JustAssembly to decompile or compare an exe with methods that use the "On Error" error handling syntax/style, those methods fail to decompile and instead display an error that has been reported several times.

I have tried to follow the source code to determine where the issue is, but I have had no luck doing so.
It is a rather large and intricate project after all. 🙂

Please add support for decompiling this syntax.

Thank you.

Unplanned
Last Updated: 25 Jun 2020 06:51 by ADMIN
Created by: Yonghan
Comments: 3
Type: Bug Report
1

Code Viewer Font setting is reset every time.

Always Courier New,13 even changing Consolas.

Completed
Last Updated: 09 Jun 2020 15:37 by ADMIN
Created by: Rakesh
Comments: 1
Type: Bug Report
0

Hi,

I think there is an issue with the domain - "justdecompile.telerik.com". Becuase of this, justdecompile cannot install new plugns. 

Certificate name mismatch

Please check the link below for the issue reported.

https://globalsign.ssllabs.com/analyze.html?d=justdecompile.telerik.com

 

Thanks,

Rakesh

Unplanned
Last Updated: 15 May 2020 07:02 by ADMIN
Created by: Michael
Comments: 2
Type: Bug Report
2

I've noticed that the program when exporting a project gives me cameraInfo.get_VerticalExtent()  instead of cameraInfo.VerticalExtent 

It seems to be making a method instead of a property of an object.

Unplanned
Last Updated: 23 Apr 2020 06:31 by ADMIN

Decompiling the following code in either DEBUG or RELEASE build gives the exception below:

 

        public IEnumerable<int> YieldTest(IEnumerable<int> sequenceA, List<int> sequenceB)
        {
            foreach (var i in sequenceA)
            {
                foreach (var j in sequenceB)
                {
                    yield return i*j;
                }
            }
        }

 

So a foreach nested inside another foreach...

 

Current member / type: System.Collections.Generic.IEnumerable`1<System.Int32> Tests.TestClass::YieldTest(System.Collections.Generic.IEnumerable`1<System.Int32>,System.Collections.Generic.List`1<System.Int32>)
File path: C:\Projects\Sandbox\Decompile Test\Tests\Tests\bin\Release\Tests.dll

Product version: 2019.1.118.0
Exception in: System.Collections.Generic.IEnumerable<System.Int32> YieldTest(System.Collections.Generic.IEnumerable<System.Int32>,System.Collections.Generic.List<System.Int32>)

Invalid state value
at €—..(‚ ž, Queue`1 , ILogicalConstruct ”) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\YieldGuardedBlocksBuilder.cs:line 203
at €—..Ÿ(‚ ž) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\YieldGuardedBlocksBuilder.cs:line 187
at €—..(‚ ž) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\YieldGuardedBlocksBuilder.cs:line 129
at €—..š(„ ‚) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\YieldGuardedBlocksBuilder.cs:line 76
at €—..() in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\LogicalFlowBuilderStep.cs:line 126
at €—..œ(DecompilationContext ™, •Ÿ €–) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\LogicFlow\LogicalFlowBuilderStep.cs:line 51
at ‚–.™“.(MethodBody €–, •Ÿ Ÿ, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 88
at ‚–.™“.‹(MethodBody €–, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 70
at Telerik.JustDecompiler.Decompiler.Extensions.“(MethodBody €–, DecompilationContext †, Œ Ÿ“, Func`2 ”, DecompilationContext& ”“) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 104
at Telerik.JustDecompiler.Decompiler.Extensions.”(MethodBody €–, DecompilationContext †, ž& ž) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 139
at ž..–() in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildYieldStatementsStep.cs:line 134
at ž..Match(‰ œ—) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildYieldStatementsStep.cs:line 49
at ž..œ(DecompilationContext ™, •Ÿ €–) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Steps\RebuildYieldStatementsStep.cs:line 20
at ‚–.™“.(MethodBody €–, •Ÿ Ÿ, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 88
at ‚–.™“.‹(MethodBody €–, ILanguage ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 70
at Telerik.JustDecompiler.Decompiler.Extensions.›“(™“ œ“, ILanguage , MethodBody €–, DecompilationContext& ™) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 95
at Telerik.JustDecompiler.Decompiler.Extensions.š“(MethodBody €–, ILanguage , DecompilationContext& ™,  œ–) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\Extensions.cs:line 58
at ——.ƒ˜.—(ILanguage , MethodDefinition €,  œ–) in C:\DeveloperTooling_JD_Agent1\_work\15\s\OpenSource\Cecil.Decompiler\Decompiler\WriterContextServices\BaseWriterContextService.

 

I also send an email about this when I encountered it earlier but here is an actual code example.

Unplanned
Last Updated: 22 Apr 2020 12:13 by ADMIN

 

In certain situations with a for-loop nested inside another loop, a break-statement in the inner loop will decompile to a goto that also exits the outer loop.

If this code is compiled in RELEASE mode:

        public void NestedForTest(IEnumerable<char> line)
        {
            foreach (var ch in line)
            {
                for (int i = 0; i < 4; i++)
                {
                    Console.Write("-");     // If this line is removed it works
                    if (ch == 't') break;
                    Console.Write(ch);
                }
            }
            Console.WriteLine();
        }

 

The following code is decompiled:

        public void NestedForTest(IEnumerable<char> line)
        {
        Label0:
            foreach (char ch in line)
            {
                for (int i = 0; i < 4; i++)
                {
                    Console.Write("-");
                    if (ch == 't')
                    {
      goto Label0;   // THIS IS WRONG!
                    }
                    Console.Write(ch);
                }
            }
            Console.WriteLine();
        }

NOTE:

- It is only a problem when the code is compiled in a RELEASE configuration (in DEBUG it interpret it as a while-loop and the code is correct)

- If the line before the exit-check is removed (see comment in code) it decompiles correctly.

 

                 
Unplanned
Last Updated: 22 Apr 2020 08:21 by ADMIN
When reviewing code, it would be helpful to filter and/or highlight the properties/methods that are related to a particular interface.
Unplanned
Last Updated: 16 Apr 2020 13:42 by ADMIN

I'll explain my request by showcasing what another product is doing.

So let's say I want to look at the internals of this class...

 

ILSpy (another open source product that you might have heard of) allows me to jump directly to the class in question

Now I am directly at the class in question.

Now, this product has quite a number of flaws and it seems that JustDecompile has some good potential.

Would it be possible for JustDecompile to also have a feature similar to this?

Declined
Last Updated: 14 Apr 2020 11:13 by ADMIN
Created by: Amanda
Comments: 1
Type: Bug Report
0

I open JustDecompile and immediately get the following error:


System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at Infrastructure.XmlSerialization.AssemblyLists.FileListSerializer.‰(String ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\Infrastructure\XmlSerialization\AssemblyLists\FileListSerializer.cs:line 226
   at Infrastructure.XmlSerialization.AssemblyLists.FileListSerializer.—(String , Int32& ˜) in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\Infrastructure\XmlSerialization\AssemblyLists\FileListSerializer.cs:line 172
   at Infrastructure.XmlSerialization.AssemblyLists.FileListSerializer.‰(String •) in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\Infrastructure\XmlSerialization\AssemblyLists\FileListSerializer.cs:line 109
   at Infrastructure.Configuration.‰(String ƒ) in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\Infrastructure\Configuration.cs:line 415
   at Infrastructure.Configuration.˜(Action , ITabManager †) in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\Infrastructure\Configuration.cs:line 395
   at JustDecompile.Shell.<OnShellLoaded>b__38_0() in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\JustDecompile\Shell.xaml.cs:line 97
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at JustDecompile.App.Main() in C:\DeveloperTooling_JD_Agent1\_work\15\s\UI\JustDecompile\obj\x86\Release\App.g.cs:line 16777215
In version: 2019.1.118.0

 

I have reported the exception as instructed but have received no response. I've posted in the Forums with no response for over a week as well.

Need More Info
Last Updated: 13 Apr 2020 05:54 by ADMIN
Created by: luka
Comments: 1
Type: Feature Request
0

You should add a feature for editing but not like Reflexil cause that doesn't work at all but more like dnSpy

 

Need More Info
Last Updated: 03 Apr 2020 15:06 by ADMIN
Created by: Joshua
Comments: 1
Type: Feature Request
0
It would be very convenient if the Space bar paged down while viewing a code listing, the same way it works in a web browser. There is nothing in the viewer pane that would require the Space bar as a text input key.
Unplanned
Last Updated: 20 Mar 2020 10:58 by ADMIN
Created by: Francois
Comments: 0
Type: Feature Request
0

When opening Assembly Lists, or any multiple Assemblies in JustDecompile the same Namespace often exists and is extented in different Assemblies.

This makes it difficult to navigate the code because each namespace is shown as a child of the assembly.

It would be very useful to have a mode in which the assemblies can be made transparent with a tree view of the merged namespaces only. This way the user do not have to know in which assembly a certain class is to find it and can get a better view of the global namespace landscape.

For instance currently the browsing tree for two dll's System.dll and System.Web.dll shows:
System
--System.dll
----References
----{} <Default namespace>
------<Module>
----{} System
------Object1
------Object2
----{} System.Web
------Object3
----{} System.Web.Http
------Object4
--Resources
System.Web
-- System.Web.dll
----{} <Default namespace>
------<Module>
----{} System.Web
------Object5
------Object6
----{} System.Web.Http
------Object7
--Resources

Then the merged tree should show only:
{} <Default namespace>
--<Module> System.dll
--<Module> System.Web.dll
{} System
----Object1
----Object2
{} System.Web
----Object3
----Object5
----Object6
{} System.Web.Http
----Object4
----Object7
Resources

The details of which assembly contains the selected node can still be shown on the tab as it is now. The navigation, especially for unfamiliar structures, is much simpler this way and it is easier to see what the globally available objects are/will be in the merged execution environment.

Unplanned
Last Updated: 13 Feb 2020 11:20 by ADMIN
please, make possible to generate pdb of core 3.x *.dll (currently, with latest 2019 version, corresponding menu item is disabled in grey)
1 2 3