吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2443|回复: 5
收起左侧

[Android 求助] 请问为什么这个smali文件无法被反编译成java?

[复制链接]
wlsk888 发表于 2021-1-25 16:43
请问为什么这个smali文件无法被反编译成java?
其中smali中有一行
# virtual methods
.method public a(I)I
是因为这个吗?
求解惑!
smali文件下载
链接:https://pan.baidu.com/s/1-ZjlvMDEc1lkStAG7W1nug
提取码:52pj

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

闷骚小贱男 发表于 2021-1-25 16:51

JADX成功反编译

package com.bzai.bzaiweigh;

import android.app.Application;
import android.app.Instrumentation;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Debug;
import android.util.ArrayMap;
import android.util.Log;
import b.h.b.f;
import c.a.a.a.a;
import dalvik.system.DexClassLoader;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.lang.ref.WeakReference;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class ProxyApplication extends Application {
    public String b;
    public String c;
    public String d;
    public String e = "fdsaji579754jUHyurew3hTG79249@jfdsiu-8743hfdiuy642fdakjUe73jfdsui763hY4hgu48fheiYe9fe-fduejhY745hyHdueuYIwoUIDhf7";
    public byte[] f = new byte[12];
    public byte[] g = new byte[12];
    public byte[] h = new byte[12];
    public byte[] i = "fdsaji579754jUHyurew3hTG79249@jfdsiu-8743hfdiuy642fdakjUe73jfdsui763hY4hgu48fheiYe9fe-fduejhY745hyHdueuYIwoUIDhf7".getBytes();
    public int j;
    public int k;
    public int l;
    public int m;
    public int[] n;
    public int[] o;
    public int[] p;
    public int q = 0;
    public int r = 0;
    public int s = 0;

    static {
        if (!Debug.isDebuggerConnected()) {
            System.loadLibrary("bzaiweigh");
        }
    }

    public static native String GetLen1(int i2);

    public void attachBaseContext(Context context) {
        super.attachBaseContext(context);
        try {
            File dir = getDir("payload_odex", 0);
            File dir2 = getDir("payload_lib", 0);
            this.c = dir.getAbsolutePath();
            this.d = dir2.getAbsolutePath();
            this.b = dir.getAbsolutePath() + "/payload.apk";
            File file = new File(this.b);
            Log.i("demo", "apk size:" + file.length());
            if (!file.exists()) {
                file.createNewFile();
                i(h());
            }
            Object N = f.N("android.app.ActivityThread", "currentActivityThread", new Class[0], new Object[0]);
            WeakReference weakReference = (WeakReference) ((ArrayMap) f.D("android.app.ActivityThread", N, "mPackages")).get(getPackageName());
            DexClassLoader dexClassLoader = new DexClassLoader(this.b, this.c, this.d, (ClassLoader) f.D("android.app.LoadedApk", weakReference.get(), "mClassLoader"));
            f.g0("android.app.LoadedApk", "mClassLoader", weakReference.get(), dexClassLoader);
            Log.i("demo", "classloader:" + dexClassLoader);
            try {
                Class loadClass = dexClassLoader.loadClass("com.example.myapk.MainActivity");
                Log.i("demo", "actObj:" + loadClass);
            } catch (Exception e2) {
                Log.i("demo", "activity:" + Log.getStackTraceString(e2));
            }
        } catch (Exception e3) {
            StringBuilder e4 = a.e("error:");
            e4.append(Log.getStackTraceString(e3));
            Log.i("demo", e4.toString());
            e3.printStackTrace();
        }
    }

    public int b(int i2) {
        return (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 1) + 66) - 27) - 15) + 24) - 87) + 55) - 2) + 43) - 44) + 5) - 29) + 82) - 14) + 93) - 47) + 14) - 46) + 45) - 95) + 50) - 73) + 65) - 63) + 18) - 13) + 87) - 96) + 74) - 29) + 82) - 18) + 82) - 54) + 94) - 5) + 42) - 70) + 64) - 62) + 26) - 15) + 91) - 68) + 18) - 44) + 50) - 8) + 8) - 62) + 37) - 25) + 54) - 66) + 6) - 34) + 31) - 41) + 12) - 32) + 12) - 26) + 43) - 70) + 5) - 70) + 71) - 16) + 69) - 74) + 11) - 20) + 61) - 35) + 23) - 44) + 56) - 25) + 41) - 87) + 78) - 30) + 15) - 47) + 57) - 85) + 16) - 4) + 15) - 50) + 29) - 46) + 90) - 64) + 70) - 64) + 21) - 78) + 51) - 83) + 46) - 83) + 91) - 5) + 62) - 28) + 56) - 52) + 72) - 35) + 91) - 31) + 54) - 53) + 7) - 36) + 87) - 98) + 93) - 55) + 18) - 39) + 31) - 44) + 80) - 68) + 77) - 76) + 11) - 85) + 31) - 67) + 43) - 30) + 18) - 32) + 93) - 55) + 22) - 28) + 85) - 49) + 4) - 78) + 2) - 27) + 72) - 2) + 66) - 28) + 35) - 41) + 65) - 54) + 15) - 78) + 33) - 82) + 8) - 38) + 87) - 53) + 77) - 74) + 39) - 41) + 33) - 5) + 5) - 51) + 5) - 30) + 15) - 68) + 89) - 37) + 77) - 84) + 2) - 56) + 88) - 39) + 1) - 11) + 97) - 10) + 87) - 81) + 22) - 80) + 11) - 44) + 47) - 45) + 10) - 1) + 53) - 1) + 2) - 19) + 77) - 66;
    }

    public int c(int i2) {
        return ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 9) + 65) - 94) + 15) - 60) + 66) - 75) + 90) - 35) + 18) - 94) + 45) - 9) + 84) - 10) + 8) - 5) + 32) - 97) + 12) - 13) + 93) - 74) + 62) - 61) + 74) - 58) + 14) - 50) + 80) - 20) + 82) - 20) + 34) - 23) + 20) - 13) + 53) - 26) + 50) - 22) + 3) - 84) + 32) - 93) + 45) - 26) + 41) - 22) + 21) - 97) + 56) - 7) + 39) - 78) + 53) - 50) + 48) - 33) + 97) - 14) + 46) - 50) + 37) - 50) + 54) - 64) + 93) - 51) + 21) - 33) + 64) - 31) + 70) - 6) + 10) - 72) + 34) - 8) + 50) - 49) + 9) - 1) + 57) - 81) + 35) - 95) + 15) - 98) + 81) - 32) + 59) - 94) + 66) - 26) + 68) - 23) + 40) - 51) + 13) - 7) + 50) - 85) + 14) - 71) + 2) - 25) + 45) - 90) + 36) - 69) + 86) - 84) + 95) - 57) + 49) - 47) + 78) - 25) + 31) - 81) + 39) - 41) + 74) - 42) + 33) - 8) + 39) - 39) + 86) - 71) + 64) - 64) + 19) - 92) + 29) - 56) + 33) - 10) + 97) - 18) + 99) - 14) + 7) - 4) + 63) - 48) + 11) - 86) + 33) - 16) + 82) - 87) + 6) - 36) + 18) - 29) + 39) - 92) + 42) - 57) + 11) - 90) + 63) - 93) + 44) - 69) + 63) - 9) + 44) - 61) + 62) - 54) + 21) - 11) + 88) - 64) + 11) - 18) + 25) - 95) + 36) - 87) + 60) - 65) + 34) - 78) + 86) - 42) + 91) - 77) + 81) - 12) + 36) - 66) + 21) - 34) + 3) - 47) + 84) - 25;
    }

    public int d(int i2) {
        return ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 2) + 91) - 93) + 4) - 60) + 31) - 94) + 43) - 72) + 92) - 71) + 53) - 1) + 20) - 86) + 90) - 66) + 10) - 56) + 8) - 15) + 76) - 10) + 5) - 83) + 75) - 94) + 61) - 42) + 18) - 16) + 75) - 9) + 92) - 78) + 95) - 81) + 27) - 12) + 82) - 82) + 22) - 84) + 73) - 89) + 14) - 34) + 1) + 0) + 81) - 86) + 59) - 14) + 38) - 33) + 70) - 53) + 94) - 2) + 77) + 0) + 61) - 95) + 2) - 1) + 28) - 74) + 70) - 74) + 25) - 57) + 69) - 39) + 32) - 96) + 95) - 67) + 12) - 40) + 19) - 61) + 27) - 70) + 19) - 41) + 91) - 9) + 53) - 51) + 28) - 36) + 34) - 36) + 82) - 22) + 95) - 67) + 15) - 84) + 9) - 91) + 86) - 9) + 65) - 93) + 42) - 46) + 25) - 59) + 21) - 32) + 15) - 67) + 60) - 70) + 96) - 3) + 42) - 43) + 66) - 8) + 91) - 61) + 27) - 14) + 56) - 20) + 13) - 39) + 47) - 36) + 81) - 38) + 38) - 38) + 92) - 5) + 51) - 91) + 38) - 93) + 34) - 33) + 20) - 47) + 20) - 86) + 42) - 3) + 88) - 19) + 22) - 26) + 25) - 61) + 77) - 50) + 50) - 77) + 39) - 66) + 11) - 73) + 67) - 73) + 8) - 73) + 9) - 79) + 54) - 36) + 57) - 50) + 30) - 36) + 1) - 42) + 58) - 45) + 65) - 74) + 83) - 48) + 50) - 23) + 61) - 54) + 12) - 43) + 4) - 28) + 63) - 57) + 10) - 29) + 83) - 17) + 45) - 31) + 82) - 1;
    }

    public int e(int i2) {
        return ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 2) + 88) - 39) + 40) - 57) + 31) - 73) + 55) - 7) + 73) - 70) + 53) - 88) + 59) - 99) + 42) - 41) + 8) - 17) + 4) - 66) + 99) - 88) + 53) - 66) + 37) - 31) + 39) - 62) + 18) - 83) + 57) - 24) + 4) - 43) + 42) - 77) + 24) - 90) + 73) - 47) + 13) - 21) + 36) - 68) + 57) - 79) + 26) - 76) + 26) - 95) + 40) - 14) + 40) - 64) + 0) - 20) + 95) - 74) + 71) - 46) + 3) - 74) + 47) - 78) + 38) - 80) + 42) - 42) + 5) - 21) + 83) - 8) + 18) - 37) + 2) - 28) + 28) - 54) + 11) - 76) + 52) - 85) + 60) - 81) + 1) - 88) + 54) - 85) + 57) - 96) + 60) - 94) + 26) - 11) + 38) - 41) + 78) - 9) + 27) - 42) + 99) - 50) + 45) - 6) + 24) - 55) + 97) - 72) + 44) - 4) + 86) - 14) + 45) - 19) + 57) - 62) + 45) - 78) + 96) - 50) + 7) - 45) + 12) - 73) + 52) - 39) + 53) - 58) + 92) - 52) + 44) - 21) + 15) - 14) + 28) - 82) + 14) - 79) + 89) - 83) + 80) - 62) + 95) - 99) + 7) - 25) + 82) - 41) + 58) - 44) + 89) - 42) + 35) - 15) + 13) - 67) + 73) - 13) + 38) - 66) + 34) - 17) + 92) - 95) + 76) - 65) + 42) - 84) + 62) - 29) + 86) - 91) + 87) - 77) + 89) - 49) + 33) - 60) + 96) + 0) + 45) - 37) + 9) - 14) + 92) - 33) + 16) - 43) + 26) - 41) + 69) - 73) + 4) - 97) + 84) - 87) + 67) - 86) + 87) - 62;
    }

    public int f(int i2) {
        return ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 2) + 24) - 58) + 32) - 36) + 33) - 72) + 98) - 46) + 0) - 47) + 40) - 27) + 24) - 21) + 16) - 43) + 30) - 52) + 52) - 20) + 34) - 57) + 7) - 39) + 83) - 15) + 80) - 80) + 75) - 88) + 56) - 58) + 3) - 34) + 84) - 82) + 14) - 26) + 11) - 37) + 53) - 30) + 75) - 84) + 86) - 45) + 87) - 52) + 21) - 4) + 61) - 65) + 53) - 5) + 44) - 94) + 81) - 78) + 24) - 19) + 44) - 36) + 21) - 78) + 36) - 72) + 48) - 22) + 16) - 2) + 39) - 10) + 21) - 50) + 63) - 75) + 15) - 55) + 71) - 15) + 75) - 55) + 49) - 1) + 69) - 12) + 16) - 78) + 62) - 23) + 37) - 75) + 32) - 11) + 57) - 83) + 31) - 56) + 32) - 82) + 67) - 41) + 16) - 10) + 43) - 66) + 77) - 97) + 65) - 10) + 56) - 51) + 37) - 99) + 5) - 59) + 22) - 31) + 52) - 16) + 51) - 63) + 54) - 29) + 13) - 52) + 76) - 70) + 66) - 53) + 76) - 79) + 32) - 55) + 85) - 64) + 82) - 80) + 39) - 55) + 29) - 95) + 3) - 95) + 47) - 62) + 13) + 0) + 23) - 48) + 50) - 25) + 97) - 93) + 64) - 57) + 23) - 4) + 68) - 39) + 69) + 0) + 9) - 55) + 8) - 91) + 23) - 19) + 0) - 6) + 29) - 25) + 53) - 51) + 66) - 99) + 56) - 73) + 55) - 2) + 91) - 63) + 6) - 57) + 31) - 7) + 42) - 56) + 92) - 53) + 25) - 96) + 76) - 43) + 56) - 7) + 25) - 73) + 19) - 79;
    }

    public int g(int i2) {
        return ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((i2 + 2) + 10) - 71) + 29) - 92) + 30) - 55) + 21) - 51) + 44) - 17) + 70) - 37) + 6) - 84) + 31) - 84) + 2) - 31) + 46) - 93) + 30) - 27) + 77) - 70) + 52) - 47) + 4) - 25) + 49) - 51) + 12) - 63) + 73) + 0) + 23) - 49) + 37) - 67) + 33) - 23) + 14) - 79) + 66) - 87) + 68) - 78) + 1) - 32) + 25) - 91) + 67) - 57) + 63) - 85) + 56) - 53) + 30) - 98) + 69) + 0) + 22) - 83) + 14) - 54) + 0) - 31) + 48) - 45) + 42) - 73) + 29) - 44) + 52) - 25) + 72) - 73) + 64) - 46) + 71) - 53) + 60) - 29) + 33) - 61) + 1) - 60) + 53) - 32) + 87) - 45) + 81) - 50) + 92) - 21) + 18) - 34) + 11) - 20) + 28) - 88) + 52) - 68) + 23) - 8) + 48) - 59) + 3) - 84) + 23) - 32) + 97) - 20) + 6) - 25) + 29) - 17) + 87) - 74) + 21) - 45) + 73) - 33) + 53) - 4) + 44) - 26) + 27) - 64) + 29) - 25) + 44) - 68) + 33) - 72) + 61) - 56) + 19) - 25) + 19) - 64) + 49) - 43) + 96) - 30) + 50) - 46) + 80) - 9) + 1) - 31) + 42) - 63) + 4) - 30) + 53) - 1) + 38) - 39) + 71) - 65) + 6) - 56) + 70) - 60) + 21) - 35) + 53) - 2) + 4) - 30) + 22) - 99) + 61) - 91) + 23) - 25) + 7) - 5) + 64) - 76) + 45) - 90) + 94) - 82) + 62) - 36) + 52) - 44) + 2) - 24) + 54) - 19) + 3) - 6) + 67) - 45) + 19) - 37) + 42) - 55;
    }

    public AssetManager getAssets() {
        return super.getAssets();
    }

    public Resources getResources() {
        return super.getResources();
    }

    public Resources.Theme getTheme() {
        return super.getTheme();
    }

    public final byte[] h() {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ZipInputStream zipInputStream = new ZipInputStream(new BufferedInputStream(new FileInputStream(getApplicationInfo().sourceDir)));
        while (true) {
            ZipEntry nextEntry = zipInputStream.getNextEntry();
            if (nextEntry == null) {
                zipInputStream.close();
                zipInputStream.close();
                return byteArrayOutputStream.toByteArray();
            }
            if (nextEntry.getName().equals("classes.dex")) {
                byte[] bArr = new byte[1024];
                while (true) {
                    int read = zipInputStream.read(bArr);
                    if (read == -1) {
                        break;
                    }
                    byteArrayOutputStream.write(bArr, 0, read);
                }
            }
            zipInputStream.closeEntry();
        }
    }

    /* JADX WARNING: Code restructure failed: missing block: B:30:0x019c, code lost:
        if (r9 >= 11) goto L_0x01e6;
     */
    /* JADX WARNING: Code restructure failed: missing block: B:34:0x01af, code lost:
        if (r9 >= 11) goto L_0x01e6;
     */
    /* JADX WARNING: Code restructure failed: missing block: B:38:0x01c2, code lost:
        if (r9 >= 11) goto L_0x01e6;
     */
    /* JADX WARNING: Code restructure failed: missing block: B:42:0x01d5, code lost:
        if (r9 >= 11) goto L_0x01e6;
     */
    /* JADX WARNING: Code restructure failed: missing block: B:44:0x01e4, code lost:
        if (r9 >= 11) goto L_0x01e6;
     */
    /* JADX WARNING: Code restructure failed: missing block: B:46:0x01e8, code lost:
        r3 = r9;
     */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public final void i(byte[] r24) {
        /*
        // Method dump skipped, instructions count: 638
        */
        throw new UnsupportedOperationException("Method not decompiled: com.bzai.bzaiweigh.ProxyApplication.i(byte[]):void");
    }

    public void onCreate() {
        String str;
        Log.i("demo", "onCreate");
        Object obj = null;
        try {
            Bundle bundle = getPackageManager().getApplicationInfo(getPackageName(), 128).metaData;
            if (bundle == null || !bundle.containsKey("APPLICATION_CLASS_NAME")) {
                Log.i("demo", "have no application class name");
                return;
            }
            str = bundle.getString("APPLICATION_CLASS_NAME");
            Object N = f.N("android.app.ActivityThread", "currentActivityThread", new Class[0], new Object[0]);
            Object D = f.D("android.app.ActivityThread", N, "mBoundApplication");
            Object D2 = f.D("android.app.ActivityThread$AppBindData", D, "info");
            f.g0("android.app.LoadedApk", "mApplication", D2, (Object) null);
            ((ArrayList) f.D("android.app.ActivityThread", N, "mAllApplications")).remove(f.D("android.app.ActivityThread", N, "mInitialApplication"));
            ((ApplicationInfo) f.D("android.app.LoadedApk", D2, "mApplicationInfo")).className = str;
            ((ApplicationInfo) f.D("android.app.ActivityThread$AppBindData", D, "appInfo")).className = str;
            try {
                obj = Class.forName("android.app.LoadedApk").getMethod("makeApplication", Boolean.TYPE, Instrumentation.class).invoke(D2, Boolean.FALSE, null);
            } catch (SecurityException e2) {
                e2.printStackTrace();
            } catch (IllegalArgumentException e3) {
                e3.printStackTrace();
            } catch (IllegalAccessException e4) {
                e4.printStackTrace();
            } catch (NoSuchMethodException e5) {
                e5.printStackTrace();
            } catch (InvocationTargetException e6) {
                e6.printStackTrace();
            } catch (ClassNotFoundException e7) {
                e7.printStackTrace();
            }
            Application application = (Application) obj;
            f.g0("android.app.ActivityThread", "mInitialApplication", N, application);
            for (Object obj2 : ((ArrayMap) f.D("android.app.ActivityThread", N, "mProviderMap")).values()) {
                f.g0("android.content.ContentProvider", "mContext", f.D("android.app.ActivityThread$ProviderClientRecord", obj2, "mLocalProvider"), application);
            }
            Log.i("demo", "app:" + application);
            application.onCreate();
        } catch (PackageManager.NameNotFoundException e8) {
            StringBuilder e9 = a.e("error:");
            e9.append(Log.getStackTraceString(e8));
            Log.i("demo", e9.toString());
            e8.printStackTrace();
            str = null;
        }
    }
}

.

哦..好像稍微有点问题

yoonchen666 发表于 2021-1-25 18:19
我爱你H大 发表于 2021-1-25 18:42
木有海鲜 发表于 2021-1-25 18:46
为什么上边return那么多偏移
涛之雨 发表于 2021-1-26 08:38
image.png image.png
看样子应该是混淆过了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-15 15:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表