jd-core | JD-Core is a JAVA decompiler written in JAVA | Plugin library

 by   java-decompiler Java Version: v1.1.3 License: GPL-3.0

kandi X-RAY | jd-core Summary

kandi X-RAY | jd-core Summary

jd-core is a Java library typically used in Plugin, Maven applications. jd-core has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has low support. You can download it from GitHub.

JD-Core is a standalone JAVA library containing the JAVA decompiler of "Java Decompiler project". It support Java 1.1.8 to Java 12.0, including Lambda expressions, method references and default methods. JD-Core is the engine of JD-GUI.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              jd-core has a low active ecosystem.
              It has 288 star(s) with 74 fork(s). There are 23 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 39 open issues and 10 have been closed. On average issues are closed in 53 days. There are 4 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of jd-core is v1.1.3

            kandi-Quality Quality

              jd-core has 0 bugs and 0 code smells.

            kandi-Security Security

              jd-core has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              jd-core code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              jd-core is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              jd-core releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              jd-core saves you 21559 person hours of effort in developing the same functionality from scratch.
              It has 42323 lines of code, 4404 functions and 457 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed jd-core and discovered the below as its top functions. This is intended to give you an instant insight into jd-core implemented functionality, and help decide if they suit your requirements.
            • Visit an array variable initializer
            • Updates the binary operator
            • Visit a Lambda identifiersExpression
            • Implements the visitor to look for arrayVariableInitializerType
            • Overrides the visitor to look for arrayVariableInitializerType
            • Makes sure that the given FOR statement is a valid update
            • Lookup the parameters for a new class
            • Overrides the visitor to look for parameters of a method invocation
            • Updates a TernaryOperatorExpression
            • Visit a method invocation
            • Visit a cast expression
            • Handles a ClassNewExpression
            • Visit a binary operator expression
            • Visit a TernaryOperatorExpression
            • Visits an inner type
            • Implements the visitor to look for types that are type arguments
            • Visit a wildcard type
            • Visits an object type
            • Binds the type arguments
            • Visit an object type
            • Visit an inner object type
            • Visit a type arguments
            • Visits an inner object type
            • Visits a type
            • Visit an ElementValueArrayValueValueArray
            • Generate the element value types
            • Visit a ElementValueEnumConstant
            • Visits a try statement
            • Visits a generic type
            • Visit the type arguments
            • Implements the visitor to look for statements that are finally statements
            Get all kandi verified functions for this library.

            jd-core Key Features

            No Key Features are available at this moment for jd-core.

            jd-core Examples and Code Snippets

            No Code Snippets are available at this moment for jd-core.

            Community Discussions

            QUESTION

            How is this Java project using the language reserved words as identifiers?
            Asked 2021-Feb-24 at 01:14

            I have de-compiled a Java project using JD-GUI, and was surprised when I saw that all identifiers are using Java reserved keywords such as int do throw extends etc..

            Here is a snippet of the project:

            ...

            ANSWER

            Answered 2021-Feb-24 at 01:00

            While reserved words may not occur in Java source code, they are permitted in compiled Java code. Some code obfuscation tools can make use of this to make decompiling harder. For instance, ProGuard provides the following option:

            -obfuscationdictionary filename

            Specifies a text file from which all valid words are used as obfuscated field and method names. By default, short names like 'a', 'b', etc. are used as obfuscated names. With an obfuscation dictionary, you can specify a list of reserved key words, or identifiers with foreign characters, for instance. White space, punctuation characters, duplicate words, and comments after a# sign are ignored. Note that an obfuscation dictionary hardly improves the obfuscation. Decent compilers can automatically replace them, and the effect can fairly simply be undone by obfuscating again with simpler names. The most useful application is specifying strings that are typically already present in class files (such as 'Code'), thus reducing the class file sizes just a little bit more. Only applicable when obfuscating.

            So if you feed this a list with Java identifiers (such as this one) you end up with a class file that causes syntax errors if decompiled. Of course, you can simply rename the variables to fix these compilation errors (for instance by using ProGuard yourself before decompiling), so this is only a minor inconvenience.

            Source https://stackoverflow.com/questions/66342959

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install jd-core

            You can download it from GitHub.
            You can use jd-core like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the jd-core component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/java-decompiler/jd-core.git

          • CLI

            gh repo clone java-decompiler/jd-core

          • sshUrl

            git@github.com:java-decompiler/jd-core.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link