smali反编译为java失败_请问为什么这个smali文件无法被反编译成java?

这篇博客主要讨论了在将smali代码反编译回java时遇到的问题。作者通过示例展示了如何使用JADX成功进行反编译,并在过程中遇到了一些错误,如文件不存在、类加载等问题。文章中还包含了详细的代码片段,展示了如何处理这些问题。
摘要由CSDN通过智能技术生成

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 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值