标签: jd-gui

从jar重新编译JD-GUI反编译的Java文件

我有一个MyFile.jar文件。我使用JD-GUI对其进行反编译,并使用其“保存所有源代码”选项将文件保存到.zip文件中。现在提取.zip文件并编辑.java文件。

提取.zip文件后的文件夹结构是这样的

                       _____ META-INF(folder)
source(folder) -------|     
                      ------com(folder)-->example--->App---> all .java files   
Run Code Online (Sandbox Code Playgroud)

现在如何将其重新编译回.jar文件?

java compilation jar recompile jd-gui

5
推荐指数
1
解决办法
9031
查看次数

为什么 AspectJ 生成空的 Annotation 检查?

我正在使用 AspectJ 1.8.8 编译时编织,并且我有一个像这样的块

@SomeAnnotation(value="someValue")
public List doSomething(String someArg) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

where@SomeAnnotation是通过“Around”建议实现的。

使用 JD-GUI 查看字节码,我看到以下生成的代码(略有格式):

public class SomeClass {
  private static Annotation ajc$anno$5;

  ...

  @SomeAnnotation(value="someValue")
  public List doSomething(String someArg)
  {
    String str = someArg;
    JoinPoint localJoinPoint = Factory.makeJP(ajc$tjp_5, this, this, str);
    Object[] arrayOfObject = new Object[3];
    arrayOfObject[0] = this;
    arrayOfObject[1] = str;
    arrayOfObject[2] = localJoinPoint;
    Annotation tmp56_53 = ajc$anno$5;
    if (tmp56_53 == null) {
      tmp56_53;
    }
    return (List)new SomeClass.AjcClosure11(arrayOfObject).linkClosureAndJoinPoint(69648).around(tmp56_53, (SomeAnnotation)(ajc$anno$5 = SomeClass.class.getDeclaredMethod("doSomething", new Class[] { String.class }).getAnnotation(SomeAnnotation.class))); …
Run Code Online (Sandbox Code Playgroud)

java aop aspectj jd-gui jvm-bytecode

5
推荐指数
1
解决办法
172
查看次数

为什么JD-GUI为每一行添加注释和行号?

我好几次遇到过这个问题.每当我使用JD-GUI反编译并保存所有源时,它会在每行前面加上一个块注释,并在方法体中插入代码的行号.这是一个我刚刚反编译的jar的例子:

/*    */   public void onEnable()
/*    */   {
/* 25 */     List DropList = new ArrayList();
/* 26 */     DropList.add(Integer.valueOf(264));
/* 27 */     DropList.add(Integer.valueOf(57));
/* 28 */     DropList.add(Integer.valueOf(278));
/*    */ 
/* 30 */     this.config = getConfig();
/*    */ 
/* 32 */     this.config.addDefault("GiftDrops", DropList);
/* 33 */     this.config.addDefault("DropRate", Integer.valueOf(0));
/* 34 */     this.config.addDefault("GiftBoxPlayerSkin", "lol768");
/* 35 */     this.config.addDefault("CraftingRecipe.LineOne", "339,339,339");
/* 36 */     this.config.addDefault("CraftingRecipe.LineTwo", "339,264,339");
/* 37 */     this.config.addDefault("CraftingRecipe.LineThree", "339,339,339");
/*    */ 
/* 39 */     this.config.options().copyDefaults(true);
/* 40 */     saveConfig();
/* …
Run Code Online (Sandbox Code Playgroud)

java decompiling jad jd-gui

4
推荐指数
1
解决办法
2825
查看次数

如何解码那些JD-GUI错误反编译的字节码

我想反编译一个apk文件以查看其源代码的一部分,但是当我进入其中的部分时,JD-GUI会给出以下反编译的代码

  /* Error */
  public void loginV2(Context paramContext, String paramString1, int paramInt, String paramString2, String paramString3, String paramString4, AsyncHttpResponseHandler paramAsyncHttpResponseHandler)
  {
    // Byte code:
    //   0: new 20  java/lang/StringBuilder
    //   3: dup
    //   4: getstatic 91    com/ipanel/join/homed/mobile/myt/Config:SERVER_ACCESS   Ljava/lang/String;
    //   7: invokestatic 32 java/lang/String:valueOf    (Ljava/lang/Object;)Ljava/lang/String;
    //   10: invokespecial 35   java/lang/StringBuilder:<init>  (Ljava/lang/String;)V
    //   13: ldc_w 491
    //   16: invokevirtual 41   java/lang/StringBuilder:append  (Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   19: invokevirtual 45   java/lang/StringBuilder:toString    ()Ljava/lang/String;
    //   22: astore 10
    //   24: new 226    cn/ipanel/android/net/http/AsyncHttpClient
    //   27: dup
    //   28: …
Run Code Online (Sandbox Code Playgroud)

bytecode apk jd-gui

4
推荐指数
2
解决办法
4800
查看次数

jd gui在win10上打不开

我正在尝试打开 jd gui。我在 Windows 上使用 .jar 版本。当我双击罐子时,屏幕上会出现一个咖啡图标,但没有其他任何反应。我之前尝试重新安装java,但结果相同。顺便说一句,我可以正确运行我的其他可执行 jar 文件。然后我尝试通过命令提示符运行它。这就是我得到的错误报告

C:\Users\HP\Desktop>java -jar jd-gui.jar
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass$3$1 (file:/C:/Users/HP/Desktop/jd-gui.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass$3$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath) accessible: module java.base does not "opens jdk.internal.loader" …
Run Code Online (Sandbox Code Playgroud)

java crash jd-gui

4
推荐指数
1
解决办法
3677
查看次数

如何使用JD-GUI从反编译的JAR重新创建项目链接?

我有一个旧的.JAR文件。我可以使用JD-GUI对其进行反编译,但这为我提供了一组类文件。我正在尝试遵循代码,但是各个类之间的联系有限。

我可以手动遵循代码,但是有一种方法可以“重新链接”或创建项目,以便我可以更轻松地导航。

JD-GUI在强调某些类时会部分执行此操作,但只会带我进入该类。我想直接进行声明或查看所有用法。

java decompiler jd-gui

1
推荐指数
1
解决办法
5908
查看次数

在eclipse中删除1000条评论?

我安装了JD-GUI来从jar文件中检索我的代码.一切正常,除了JD-GUI自动添加这样烦人的评论:

在此输入图像描述

我可以用任何方式删除它们吗?我不懂正则表达式.

eclipse comments jd-gui

0
推荐指数
1
解决办法
1170
查看次数