我正在尝试使用JADX Dex-to-Java反编译器反编译联系人重复卸妆Android应用.但是,JADX在输出中生成以下错误:
> /* 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.();
> 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.(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.();
> 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.();
> 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.();
> 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.();
> 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.(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.();
> 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.();
> 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.();
> 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.();
> 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.(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");
> }
有人可以帮助我了解此错误的含义以及如何解决或纠正该错误吗?
解决方法:
通过命令行使用–show-bad-code选项运行JADX可以解决此问题.
例如jadx-gui-显示错误代码my_debug.app.apk
在尝试–show-bad-code选项之前,我之前尝试过dex2jar,而且它也显示错误.
标签:decompiling,java,android,dex
来源: https://codeday.me/bug/20191026/1936134.html