错误:抛出新的不支持的操作异常(“方法未反编译



我正在尝试对apk文件进行逆向工程。为此,我使用的是jadx v 0.9.0反编译器。

问题是jadx不会反编译所有函数,这就是我得到的:

private defpackage.dmw a(defpackage.dzy r3, defpackage.efb r4, defpackage.dve r5, java.lang.String r6, defpackage.dmx r7, android.content.Context r8) {
        /*
        r2 = this;
        if (r7 == 0) goto L_0x00cf;
        r0 = r7.a();
        if (r0 == 0) goto L_0x0017;
        r0 = r7.b();
        if (r0 == 0) goto L_0x000f;
        goto L_0x0017;
        r3 = new java.lang.IllegalArgumentException;
        r4 = "Synchronous ResponseHandler used in AsyncHttpClient. You should create your response handler in a looper thread or use SyncHttpClient instead.";
        r3.<init>(r4);
        throw r3;
        if (r6 == 0) goto L_0x0037;
        r0 = r5;
        r0 = (defpackage.duz) r0;
        r0 = r0.a;
        if (r0 == 0) goto L_0x0032;
        r0 = "Content-Type";
        r0 = r5.a(r0);
        if (r0 == 0) goto L_0x0032;
        r6 = a;
        r0 = "AsyncHttpClient";
        r1 = "Passed contentType will be ignored because HttpEntity sets content type";
        r6.c(r0, r1);
        goto L_0x0037;
        r0 = "Content-Type";
        r5.b(r0, r6);
        r6 = r5.e();
        r7.a(r6);
        r6 = r5.k();
        r7.a(r6);
        r6 = new dmp;
        r6.<init>(r3, r4, r5, r7);
        r3 = r2.i;
        r3.submit(r6);
        r3 = new dmw;
        r3.<init>(r6);
        if (r8 == 0) goto L_0x00ce;
        r4 = r2.d;
        monitor-enter(r4);
        r5 = r2.d;   Catch:{ all -> 0x00cb }
        r5 = r5.get(r8);     Catch:{ all -> 0x00cb }
        r5 = (java.util.List) r5;    Catch:{ all -> 0x00cb }
        if (r5 != 0) goto L_0x0071;  Catch:{ all -> 0x00cb }
        r5 = new java.util.LinkedList;   Catch:{ all -> 0x00cb }
        r5.<init>();     Catch:{ all -> 0x00cb }
        r5 = java.util.Collections.synchronizedList(r5);     Catch:{ all -> 0x00cb }
        r6 = r2.d;   Catch:{ all -> 0x00cb }
        r6.put(r8, r5);  Catch:{ all -> 0x00cb }
        monitor-exit(r4);    Catch:{ all -> 0x00cb }
        r5.add(r3);
        r4 = r5.iterator();
        r5 = r4.hasNext();
        if (r5 == 0) goto L_0x00ce;
        r5 = r4.next();
        r5 = (defpackage.dmw) r5;
        r6 = r5.a;
        r6 = r6.get();
        r6 = (defpackage.dmp) r6;
        r7 = 0;
        r8 = 1;
        if (r6 == 0) goto L_0x009a;
        r6 = r6.a();
        if (r6 == 0) goto L_0x0098;
        goto L_0x009a;
        r6 = 0;
        goto L_0x009b;
        r6 = 1;
        if (r6 != 0) goto L_0x00bd;
        r6 = r5.a;
        r6 = r6.get();
        r6 = (defpackage.dmp) r6;
        if (r6 == 0) goto L_0x00ba;
        r0 = r6.a();
        if (r0 != 0) goto L_0x00b4;
        r6 = r6.a;
        if (r6 == 0) goto L_0x00b2;
        goto L_0x00b4;
        r6 = 0;
        goto L_0x00b5;
        r6 = 1;
        if (r6 == 0) goto L_0x00b8;
        goto L_0x00ba;
        r6 = 0;
        goto L_0x00bb;
        r6 = 1;
        if (r6 == 0) goto L_0x00be;
        r7 = 1;
        if (r7 == 0) goto L_0x00c5;
        r5 = r5.a;
        r5.clear();
        if (r7 == 0) goto L_0x0079;
        r4.remove();
        goto L_0x0079;
        r3 = move-exception;
        monitor-exit(r4);    Catch:{ all -> 0x00cb }
        throw r3;
        return r3;
        r3 = new java.lang.IllegalArgumentException;
        r4 = "ResponseHandler must not be null";
        r3.<init>(r4);
        throw r3;
        return;
        */
        throw new UnsupportedOperationException("Method not decompiled: defpackage.dmo.a(dzy, efb, dve, java.lang.String, dmx, android.content.Context):dmw");
}

根据此问题建议的解决方案,我必须使用 --show-bad-code 反编译所有内容,但这对我不起作用!

关于我如何做到这一点的任何想法?

试试这个工具Jar Explorer。
有树不同的反编译器。应该有帮助。

最新更新