注册 登录
编程论坛 Android开发

我朋友手机被锁机了 我反编译软件后找到关键代码后看不懂了

爱剃人士 发布于 2016-11-12 12:52, 3199 次点击
package com.baidu.protect;import android.app.Application;import android.os.Build.VERSION;import android.os.Debug;import android.os.Process;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;public class StubApplicationextends Application{private boolean mOnCreateFinished = false;static{if (!Debug.isDebuggerConnected()){if (isX86CPU()) {loadX86Library();}}else }catch (Exception paramString) {}return "/data/data/";}private static boolean is64BitEnv(){do{try{localBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/self/maps")));str = localBufferedReader.readLine();}{return;}System.loadLibrary("baiduprotect");}private static String getDataFolder(String paramString){if (Build.VERSION.SDK_INT < 17) {return "/data/data/";}int i = Process.myUid() / 100000;if (i == 0) {return "/data/data/";}String str = "/data/user/" + i + "/";paramString = str + paramString;try{new File(paramString).listFiles();return str;catch (IOException localIOException){BufferedReader localBufferedReader;String str;localIOException.printStackTrace();break;}if (str.endsWith("/system/bin/linker64")){localBufferedReader.close();return true;}str = localBufferedReader.readLine();} while (localIOException != null);return false;}private static boolean isX86CPU(){try{byte[] arrayOfByte = new byte[20];FileInputStream localFileInputStream = new FileInputStream("/system/bin/linker");localFileInputStream.read(arrayOfByte, 0, 20);if (arrayOfByte[18] == 3){localFileInputStream.close();return return false;}catch (Exception localException){localException.printStackTrace();}return false;}private static void loadX86Library(){localObject8 = null;localObject4 = null;localObject9 = null;localObject7 = null;localObject6 = localObject9;localObject5 = localObject8;true;}localFileInputStream.close();try{localBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/self/maps")));localObject6 = localObject9;localObject5 = localObject8;localObject1 = localBufferedReader.readLine();}catch (IOException localIOException1){for (;;){try{BufferedReader localBufferedReader;localObject5 = "assets/" + (String)localObject5;Object localObject1 = new ZipInputStream(new FileInputStream((String)localObject1));localObject6 = ((ZipInputStream)localObject1).getNextEntry();int i;Object localObject2;if (localObject6 == null){((ZipInputStream)localObject1).close();System.load((String)localObject4);return;localObject6 = localObject9;localObject5 = localObject8;Object localObject10;if (((String)localObject1).endsWith(".apk")){localObject6 = localObject9;localObject5 = localObject8;localObject1 = ((String)localObject1).split(" ");localObject6 = localObject9;localObject5 = localObject8;localObject10 = localObject1[(localObject1.length - 1)];localObject6 = localObject9;localObject5 = localObject8;if (!localObject10.startsWith("/mnt/asec/")){localObject6 = localObject9;localObject5 = localObject8;if (!localObject10.startsWith("/data/app/")) {}}else{localObject6 = localObject9;localObject5 = localObject8;localObject1 = localObject10.substring(10);localObject6 = localObject9;localObject5 = localObject8;i = ((String)localObject1).lastIndexOf('-');if (i != -1) {continue;}}}else{localObject6 = localObject9;localObject5 = localObject8;localObject1 = localBufferedReader.readLine();break label723;
2 回复
#2
xiaobaitu1662019-05-21 16:45
#3
刘腾龙2021-05-07 17:50
1