首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JADX输出反编译错误:“代码反编译不正确,请参考转储说明。”

JADX输出反编译错误:“代码反编译不正确,请参考转储说明。”
EN

Stack Overflow用户
提问于 2017-01-02 17:47:28
回答 2查看 9.3K关注 0票数 7

我正在尝试使用JADX的Dex- to -Java反编译器反编译一个联系人重复删除安卓应用程序。但是,JADX在输出中生成以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
> /* JADX WARNING: inconsistent code. */
>         /* Code decompiled incorrectly, please refer to instructions dump. */
>         public String analysis() {
>             /*
>             r24 = this;
>             r20 = 0;
>             r0 = r20;
>             r1 = r24;
>             r1.add_count = r0;
>             r0 = r24;
>             r0 = r0.delete_history;
>             r20 = r0;
>             r20.clear();
>             r20 = delete_history_count;
>             r20.clear();
>             r20 = work_to_do;
>             r20 = r20.size();
>             if (r20 <= 0) goto L_0x04e7;
>         L_0x001e:
>             r0 = r24;
>             r0 = r0.delete_history;
>             r20 = r0;
>             r20.clear();
>             r13 = 0;
>         L_0x0028:
>             r20 = work_to_do;
>             r20 = r20.size();
>             r0 = r20;
>             if (r13 >= r0) goto L_0x04e7;
>         L_0x0032:
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r21 = "0";
>             r20 = r20.equals(r21);
>             if (r20 == 0) goto L_0x0184;
>         L_0x004e:
>             r20 = "LOL";
>             r21 = "Come to your deletation";
>             android.util.Log.e(r20, r21);
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r17 = r20.split(r21);
>             r20 = 2;
>             r20 = r17[r20];
>             r21 = "\n";
>             r18 = r20.split(r21);
>             r20 = 0;
>             r8 = r18[r20];
>             r20 = 1;
>             r10 = r18[r20];
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "WWWWW";
>             r21 = r21.append(r22);
>             r0 = r21;
>             r21 = r0.append(r8);
>             r0 = r21;
>             r21 = r0.append(r10);
>             r21 = r21.toString();
>             r20.println(r21);
>             r2 = new com.tos.database.DatabaseHandler;
>             r20 = r24.getBaseContext();
>             r0 = r20;
>             r2.<init>(r0);
>             r20 = r2.get_list(r8, r10);
>             r0 = r20;
>             r1 = r24;
>             r1._id = r0;
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r20 = r20.size();
>             if (r20 <= 0) goto L_0x017d;
>         L_0x00b8:
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r21 = 0;
>             r20 = r20.get(r21);
>             r20 = (java.lang.Integer) r20;
>             r20 = r20.intValue();
>             r0 = r20;
>             r1 = r24;
>             r1.check = r0;
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "CCCCCC";
>             r21 = r21.append(r22);
>             r0 = r24;
>             r0 = r0.check;
>             r22 = r0;
>             r21 = r21.append(r22);
>             r21 = r21.toString();
>             r20.println(r21);
>             r12 = 0;
>         L_0x00ef:
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r20 = r20.size();
>             r0 = r20;
>             if (r12 >= r0) goto L_0x017d;
>         L_0x00fd:
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "CCCCCC";
>             r21 = r21.append(r22);
>             r0 = r24;
>             r0 = r0._id;
>             r22 = r0;
>             r0 = r22;
>             r22 = r0.get(r12);
>             r21 = r21.append(r22);
>             r21 = r21.toString();
>             r20.println(r21);
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r0 = r20;
>             r20 = r0.get(r12);
>             r20 = (java.lang.Integer) r20;
>             r20 = r20.intValue();
>             r0 = r24;
>             r0 = r0.check;
>             r21 = r0;
>             r0 = r20;
>             r1 = r21;
>             if (r0 == r1) goto L_0x0165;
>         L_0x013f:
>             r0 = r24;
>             r0 = r0.delete_history;
>             r21 = r0;
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r0 = r20;
>             r20 = r0.get(r12);
>             r20 = (java.lang.Integer) r20;
>             r20 = r20.intValue();
>             r20 = com.tos.contact_duplicacy.MainActivity.getAccoutName(r20);
>             r0 = r21;
>             r1 = r20;
>             r0.add(r1);
>         L_0x0162:
>             r12 = r12 + 1;
>             goto L_0x00ef;
>         L_0x0165:
>             r0 = r24;
>             r0 = r0._id;
>             r20 = r0;
>             r0 = r20;
>             r20 = r0.get(r12);
>             r20 = (java.lang.Integer) r20;
>             r20 = r20.intValue();
>             r0 = r20;
>             r0 = (long) r0;
>             r20 = r0;
>             goto L_0x0162;
>         L_0x017d:
>             r20 = "WWWWWWW";
>             r21 = "delete operation works";
>             android.util.Log.e(r20, r21);
>         L_0x0184:
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r21 = "1";
>             r20 = r20.equals(r21);
>             if (r20 == 0) goto L_0x0289;
>         L_0x01a0:
>             r20 = "LOL";
>             r21 = "Come to your edit";
>             android.util.Log.e(r20, r21);
>             r0 = r24;
>             r0 = r0.add_count;
>             r20 = r0;
>             r20 = r20 + 1;
>             r0 = r20;
>             r1 = r24;
>             r1.add_count = r0;
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r17 = r20.split(r21);
>             r20 = 2;
>             r20 = r17[r20];
>             r21 = "\n";
>             r18 = r20.split(r21);
>             r20 = 0;
>             r20 = r18[r20];
>             r9 = r20.trim();
>             r20 = 1;
>             r20 = r18[r20];
>             r21 = "//";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r8 = r20.trim();
>             r20 = "LOL";
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "Come to your edit";
>             r21 = r21.append(r22);
>             r0 = r21;
>             r21 = r0.append(r9);
>             r22 = "  ";
>             r21 = r21.append(r22);
>             r0 = r21;
>             r21 = r0.append(r8);
>             r21 = r21.toString();
>             android.util.Log.e(r20, r21);
>             r5 = new java.util.ArrayList;
>             r5.<init>();
>             r20 = 2;
>             r20 = r18[r20];
>             r21 = "\\n";
>             r3 = r20.split(r21);
>             r14 = 2;
>         L_0x021f:
>             r0 = r18;
>             r0 = r0.length;
>             r20 = r0;
>             r0 = r20;
>             if (r14 >= r0) goto L_0x0255;
>         L_0x0228:
>             r20 = r18[r14];
>             r21 = "//";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r20 = r20.trim();
>             r0 = r20;
>             r5.add(r0);
>             r20 = "Delete";
>             r21 = r18[r14];
>             r22 = "//";
>             r21 = r21.split(r22);
>             r22 = 0;
>             r21 = r21[r22];
>             r21 = r21.trim();
>             android.util.Log.e(r20, r21);
>             r14 = r14 + 1;
>             goto L_0x021f;
>         L_0x0255:
>             r12 = 0;
>         L_0x0256:
>             r20 = r5.size();
>             r0 = r20;
>             if (r12 >= r0) goto L_0x0289;
>         L_0x025e:
>             r0 = r24;
>             r0 = r0.delete_history;
>             r21 = r0;
>             r22 = new com.tos.database.DatabaseHandler;
>             r0 = r22;
>             r1 = r24;
>             r0.<init>(r1);
>             r20 = r5.get(r12);
>             r20 = (java.lang.String) r20;
>             r0 = r22;
>             r1 = r20;
>             r20 = r0.get_id_from_name_number(r1, r9);
>             r20 = com.tos.contact_duplicacy.MainActivity.getAccoutName(r20);
>             r0 = r21;
>             r1 = r20;
>             r0.add(r1);
>             r12 = r12 + 1;
>             goto L_0x0256;
>         L_0x0289:
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r21 = "2";
>             r20 = r20.equals(r21);
>             if (r20 == 0) goto L_0x04e3;
>         L_0x02a5:
>             r20 = "LOL";
>             r21 = "Come to your merge";
>             android.util.Log.e(r20, r21);
>             r0 = r24;
>             r0 = r0.add_count;
>             r20 = r0;
>             r20 = r20 + 1;
>             r0 = r20;
>             r1 = r24;
>             r1.add_count = r0;
>             r20 = work_to_do;
>             r0 = r20;
>             r20 = r0.get(r13);
>             r20 = (java.lang.String) r20;
>             r21 = "-";
>             r17 = r20.split(r21);
>             r20 = 2;
>             r20 = r17[r20];
>             r21 = "\n";
>             r18 = r20.split(r21);
>             r20 = 0;
>             r20 = r18[r20];
>             r8 = r20.trim();
>             r19 = "";
>             r11 = "";
>             r16 = "";
>             r7 = "";
>             r15 = new java.util.ArrayList;
>             r15.<init>();
>             r0 = r18;
>             r0 = r0.length;
>             r20 = r0;
>             r21 = 2;
>             r0 = r20;
>             r1 = r21;
>             if (r0 != r1) goto L_0x0350;
>         L_0x02f6:
>             r20 = 1;
>             r20 = r18[r20];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = 1;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r19 = r20.trim();
>             r11 = 0;
>             r16 = 0;
>             r7 = 0;
>             r20 = 1;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "CCCCC";
>             r21 = r21.append(r22);
>             r22 = 1;
>             r22 = r18[r22];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r21 = r21.toString();
>             r20.println(r21);
>         L_0x0350:
>             r0 = r18;
>             r0 = r0.length;
>             r20 = r0;
>             r21 = 3;
>             r0 = r20;
>             r1 = r21;
>             if (r0 != r1) goto L_0x03d4;
>         L_0x035d:
>             r20 = 1;
>             r20 = r18[r20];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = 1;
>             r20 = r18[r20];
>             r19 = r20.trim();
>             r20 = 2;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r11 = r20.trim();
>             r16 = 0;
>             r7 = 0;
>             r20 = 2;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "CCCCC";
>             r21 = r21.append(r22);
>             r22 = 1;
>             r22 = r18[r22];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r22 = 2;
>             r22 = r18[r22];
>             r23 = " ";
>             r22 = r22.split(r23);
>             r23 = 0;
>             r22 = r22[r23];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r21 = r21.toString();
>             r20.println(r21);
>         L_0x03d4:
>             r0 = r18;
>             r0 = r0.length;
>             r20 = r0;
>             r21 = 4;
>             r0 = r20;
>             r1 = r21;
>             if (r0 == r1) goto L_0x03ee;
>         L_0x03e1:
>             r0 = r17;
>             r0 = r0.length;
>             r20 = r0;
>             r21 = 4;
>             r0 = r20;
>             r1 = r21;
>             if (r0 <= r1) goto L_0x0484;
>         L_0x03ee:
>             r20 = 1;
>             r20 = r18[r20];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = 1;
>             r20 = r18[r20];
>             r19 = r20.trim();
>             r20 = 2;
>             r20 = r18[r20];
>             r11 = r20.trim();
>             r20 = 2;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r16 = r20.trim();
>             r7 = 0;
>             r20 = 3;
>             r20 = r18[r20];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = 3;
>             r20 = r18[r20];
>             r21 = " ";
>             r20 = r20.split(r21);
>             r21 = 0;
>             r20 = r20[r21];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r20 = java.lang.System.out;
>             r21 = new java.lang.StringBuilder;
>             r21.<init>();
>             r22 = "CCCCC";
>             r21 = r21.append(r22);
>             r22 = 1;
>             r22 = r18[r22];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r22 = 2;
>             r22 = r18[r22];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r22 = 3;
>             r22 = r18[r22];
>             r23 = " ";
>             r22 = r22.split(r23);
>             r23 = 0;
>             r22 = r22[r23];
>             r22 = r22.trim();
>             r21 = r21.append(r22);
>             r21 = r21.toString();
>             r20.println(r21);
>         L_0x0484:
>             r0 = r17;
>             r0 = r0.length;
>             r20 = r0;
>             r21 = 4;
>             r0 = r20;
>             r1 = r21;
>             if (r0 != r1) goto L_0x04b3;
>         L_0x0491:
>             r20 = 3;
>             r20 = r17[r20];
>             r21 = "\n";
>             r4 = r20.split(r21);
>             r12 = 0;
>         L_0x049c:
>             r0 = r4.length;
>             r20 = r0;
>             r20 = r20 + -1;
>             r0 = r20;
>             if (r12 >= r0) goto L_0x04b3;
>         L_0x04a5:
>             r20 = r4[r12];
>             r20 = r20.trim();
>             r0 = r20;
>             r15.add(r0);
>             r12 = r12 + 1;
>             goto L_0x049c;
>         L_0x04b3:
>             r6 = new com.tos.database.DatabaseHandler;
>             r0 = r24;
>             r6.<init>(r0);
>             r12 = 0;
>         L_0x04bb:
>             r20 = r15.size();
>             r0 = r20;
>             if (r12 >= r0) goto L_0x04e3;
>         L_0x04c3:
>             r0 = r24;
>             r0 = r0.delete_history;
>             r21 = r0;
>             r20 = r15.get(r12);
>             r20 = (java.lang.String) r20;
>             r0 = r20;
>             r20 = r6.get_id_from_name_number(r8, r0);
>             r20 = com.tos.contact_duplicacy.MainActivity.getAccoutName(r20);
>             r0 = r21;
>             r1 = r20;
>             r0.add(r1);
>             r12 = r12 + 1;
>             goto L_0x04bb;
>         L_0x04e3:
>             r13 = r13 + 1;
>             goto L_0x0028;
>         L_0x04e7:
>             r20 = 0;
>             return r20;
>             */
>             throw new UnsupportedOperationException("Method not decompiled:
> com.tos.contact_duplicacy.ShowResult.analysis():java.lang.String");
>         }

有人能帮我理解这个错误的含义以及如何解决或纠正它吗?

EN

回答 2

Stack Overflow用户

发布于 2017-04-13 18:40:33

通过命令行运行带有--show-bad-code选项的JADX为我修复了这个问题。

例如jadx-gui --show-bad-code my_debug.app.apk

在尝试--show-bad-code选项之前,我曾尝试过dex2jar,但也显示了错误。

票数 15
EN

Stack Overflow用户

发布于 2021-07-06 15:44:57

  1. 单击左上角jadx中的文件。

单击首选项后的

  1. 现在选中图片下方的复选框是“显示不一致的代码”。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41424442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档