Unplanned
Last Updated: 25 Apr 2023 14:55 by ADMIN
Created by: William
Comments: 0
Type: Feature Request
2
When JustDecompile asks for a reference assembly, allow the user to attempt to load an assembly of a different version, no different than an assembly redirect in a .config file. Currently, an attempt to select a different versioned assembly, just causes the prompt to reappear.
Unplanned
Last Updated: 26 Jul 2022 15:33 by Dan
Created by: Rakesh
Comments: 8
Type: Bug Report
7

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: 14 Jul 2022 05:59 by ADMIN
Created by: Tom
Comments: 0
Type: Feature Request
0
The most recent release of JustDecompile only goes to .NET 4.7.1. Add support for .NET 4.7.2, 4.8, 5.0, and 6.0.
Unplanned
Last Updated: 17 Sep 2021 05:45 by ADMIN
Unplanned
Last Updated: 12 Aug 2021 11:39 by ADMIN

Dear Just Decompile Team

I would like to propose to add a new search result filter.

At the current state I can go to "search" and search for a text. After that I can add filters to the search results like
Result type
Container
Container Type
Version
Assembly

But I cannot search for text within the results. So it would be very useful to add a filter to search for text again.

For example:
First search for "window" gives following results:
- window
- window30
- openwindow
- windowclosed
- mainwindow
- windownotopen

Add text filter:
Text contains 'open'

new filtered result list:
- openwindow
- windownotopen

This would be very helpful searching large amounts of text

Kind Regards
Hans M.

Unplanned
Last Updated: 27 Jul 2021 08:35 by ADMIN

I would like to propose that the licensing for the JustDecompiler changes in preference to OpenSource type, allowing to download and use it free of charge, without limit of time or functionality.

Additionally, a good idea would be also that the sources of it become freely avaliable, that the user can self compile the code themself for any operatig system and platform they use.

Opening the sources has also an additional adventage, that the "community" helps to develop the program and thru that the application get faster new features and it's bugs fixed, without the need to put any additional work on the dev team and allow them to focus on the important things

Unplanned
Last Updated: 27 Jul 2021 08:31 by ADMIN

Please create a version of the program for the operating systems other then Windows.

 

There is a very hard to find similiar software to JustDecompile, with would be avaliable for such systems, like for example Linux

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.

 

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.

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?

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