请问为什么这个smali文件无法被反编译成java?
请问为什么这个smali文件无法被反编译成java?其中smali中有一行
# virtual methods
.method public a(I)I
是因为这个吗?
求解惑!
smali文件下载
链接:https://pan.baidu.com/s/1-ZjlvMDEc1lkStAG7W1nug
提取码:52pj
# JADX成功反编译
~~~java
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;
public byte[] g = new byte;
public byte[] h = new byte;
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, new Object);
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;
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, new Object);
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;
}
}
}
~~~
.
哦..好像稍微有点问题
应该是SMALI/JAVA {:301_997:} yoonchen666 发表于 2021-1-25 18:19
应该是SMALI/JAVA
哈哈,列文虎克{:301_997:} 为什么上边return那么多偏移
看样子应该是混淆过了
页:
[1]