const/16 v22 0x0
const/4 v3 0
label_3:
new-instance v4 Ljava/io/BufferedReader;
new-instance v28 Ljava/io/InputStreamReader;
new-instance v29 Ljava/io/FileInputStream;
const-string v30 "/proc/self/maps"
invoke-direct/range {v29..v30} Ljava/io/FileInputStream;->(Ljava/lang/String;)V
invoke-direct/range {v28..v29} Ljava/io/InputStreamReader;->(Ljava/io/InputStream;)V
move-object/from16 v0 v28
invoke-direct {v4,v0} Ljava/io/BufferedReader;->(Ljava/io/Reader;)V
invoke-virtual {v4} Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v17
label_26:
if-nez v17 :label_163
label_28:
invoke-virtual {v4} Ljava/io/BufferedReader;->close()V
label_31:
invoke-static {} Lcom/baidu/protect/StubApplication;->is64BitEnv()Z
move-result v28
if-eqz v28 :label_352
const-string v26 "libbaiduprotect_x86_64.so"
label_39:
if-eqz v3 :label_162
if-eqz v22 :label_162
const-wide/16 v10 0x0
const-wide/16 v20 0x0
invoke-static/range {v22..v22} Lcom/baidu/protect/StubApplication;->getDataFolder(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
new-instance v28 Ljava/lang/StringBuilder;
invoke-static {v6} Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v29
invoke-direct/range {v28..v29} Ljava/lang/StringBuilder;->(Ljava/lang/String;)V
move-object/from16 v0 v28
move-object/from16 v1 v22
invoke-virtual {v0,v1} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v28
const-string v29 "/.x86lib/"
invoke-virtual/range {v28..v29} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v28
invoke-virtual/range {v28..v28} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v16
new-instance v28 Ljava/lang/StringBuilder;
invoke-static/range {v16..v16} Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v29
invoke-direct/range {v28..v29} Ljava/lang/StringBuilder;->(Ljava/lang/String;)V
move-object/from16 v0 v28
move-object/from16 v1 v26
invoke-virtual {v0,v1} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v28
invoke-virtual/range {v28..v28} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v15
new-instance v8 Ljava/io/File;
move-object/from16 v0 v16
invoke-direct {v8,v0} Ljava/io/File;->(Ljava/lang/String;)V
invoke-virtual {v8} Ljava/io/File;->exists()Z
move-result v28
if-nez v28 :label_115
invoke-virtual {v8} Ljava/io/File;->mkdir()Z
label_115:
new-instance v28 Ljava/lang/StringBuilder;
const-string v29 "assets/"
invoke-direct/range {v28..v29} Ljava/lang/StringBuilder;->(Ljava/lang/String;)V
move-object/from16 v0 v28
move-object/from16 v1 v26
invoke-virtual {v0,v1} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v28
invoke-virtual/range {v28..v28} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v25
new-instance v19 Ljava/util/zip/ZipInputStream;
new-instance v28 Ljava/io/FileInputStream;
move-object/from16 v0 v28
invoke-direct {v0,v3} Ljava/io/FileInputStream;->(Ljava/lang/String;)V
move-object/from16 v0 v19
move-object/from16 v1 v28
invoke-direct {v0,v1} Ljava/util/zip/ZipInputStream;->(Ljava/io/InputStream;)V
label_150:
invoke-virtual/range {v19..v19} Ljava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
move-result-object v18
if-nez v18 :label_356
label_156:
invoke-virtual/range {v19..v19} Ljava/util/zip/ZipInputStream;->close()V
label_159:
invoke-static {v15} Ljava/lang/System;->load(Ljava/lang/String;)V
label_162:
return-void
label_163:
const-string v28 ".apk"
move-object/from16 v0 v17
move-object/from16 v1 v28
invoke-virtual {v0,v1} Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v28
if-eqz v28 :label_242
const-string v28 " "
move-object/from16 v0 v17
move-object/from16 v1 v28
invoke-virtual {v0,v1} Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v24
move-object/from16 v0 v24
array-length v0 v0
move/from16 v28 v0
add-int/lit8 v28 v28 -1
aget-object v23 v24 v28
const-string v28 "/mnt/asec/"
move-object/from16 v0 v23
move-object/from16 v1 v28
invoke-virtual {v0,v1} Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v28
if-nez v28 :label_218
const-string v28 "/data/app/"
move-object/from16 v0 v23
move-object/from16 v1 v28
invoke-virtual {v0,v1} Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v28
if-eqz v28 :label_248
label_218:
const/16 v28 0xa
move-object/from16 v0 v23
move/from16 v1 v28
invoke-virtual {v0,v1} Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
label_228:
const/16 v28 0x2d
move/from16 v0 v28
invoke-virtual {v2,v0} Ljava/lang/String;->lastIndexOf(I)I
move-result v14
const/16 v28 -0x1
move/from16 v0 v28
if-ne v14 v0 :label_294
label_242:
invoke-virtual {v4} Ljava/io/BufferedReader;->readLine()Ljava/lang/Stri
const/16 v22 0x0const/4 v3 0label_3:新实例 v4 Ljava/io/体;新实例 v28 Ljava/io/InputStreamReader;新实例 v29 Ljava/io/FileInputStream;const 字符串 v30"/ proc,自,映射"调用-直接/范围 {v29......v30} Ljava/io/FileInputStream;->(郎/Ljava/字符串;) V调用-直接/范围 {v28......v29} Ljava/io/InputStreamReader;->(Io/Ljava/流;) V移动-对象/from16 v0 v28调用直接 {v4,v0} Ljava/io/体;->(Io/Ljava/读者;) V调用虚拟 {v4} Ljava/io/体;-> readLine () Ljava/郎/字符串;移动结果对象 v17label_26:如果 nez v17: label_163label_28:调用虚拟 {v4} Ljava/io/体;-> 密切 (V)label_31:调用静态 {Lcom/百度/保护/StubApplication; is64BitEnv (Z)->移动结果 v28如果 eqz v28: label_352v26 const 字符串"libbaiduprotect_x86_64.so"label_39:如果 eqz v3: label_162如果 eqz v22: label_162const-全/16 v10 0x0const-全/16 v20 0x0调用静态/范围 {v22......v22} Lcom/百度/保护/StubApplication; getDataFolder (郎/Ljava/字符串;)-> Ljava/郎/字符串;移动结果对象 v6新实例 v28 Ljava/郎/StringBuilder;调用静态 {v6} Ljava/郎/字符串;-> 价 (郎/Ljava/对象;) Ljava/郎/字符串;移动结果对象 v29调用-直接/范围 {v28......v29} Ljava/郎/StringBuilder;->(郎/Ljava/字符串;) V移动-对象/from16 v0 v28移动-对象/from16 v1 v22调用虚拟 {v0,v1} Ljava/郎/StringBuilder;-> 追加 (郎/Ljava/字符串;) Ljava/郎/StringBuilder;移动结果对象 v28const 字符串 v29"/.x86lib/"调用虚拟/范围 {v28......v29} Ljava/郎/StringBuilder;-> 追加 (郎/Ljava/字符串;) Ljava/郎/StringBuilder;移动结果对象 v28调用虚拟/范围 {v28......v28} Ljava/郎/StringBuilder;-> toString () Ljava/郎/字符串;移动结果对象 v16新实例 v28 Ljava/郎/StringBuilder;调用静态/范围 {v16......v16} Ljava/郎/字符串;-> 价 (郎/Ljava/对象;) Ljava/郎/字符串;移动结果对象 v29调用-直接/范围 {v28......v29} Ljava/郎/StringBuilder;->(郎/Ljava/字符串;) V移动-对象/from16 v0 v28移动-对象/from16 v1 v26调用虚拟 {v0,v1} Ljava/郎/StringBuilder;-> 追加 (郎/Ljava/字符串;) Ljava/郎/StringBuilder;移动结果对象 v28调用虚拟/范围 {v28......v28} Ljava/郎/StringBuilder;-> toString () Ljava/郎/字符串;移动结果对象 v15新实例 v8 Ljava/io/文件;移动-对象/from16 v0 v16调用直接 {v8,v0} Ljava/io/文件;->(郎/Ljava/字符串;) V调用虚拟 {v8} Ljava/io/文件;-> 存在 (Z)移动结果 v28如果 nez v28: label_115调用虚拟 {v8} Ljava/io/文件;-> mkdir () Zlabel_115:新实例 v28 Ljava/郎/StringBuilder;const 字符串 v29"资产 /"调用-直接/范围 {v28......v29} Ljava/郎/StringBuilder;->(郎/Ljava/字符串;) V移动-对象/from16 v0 v28移动-对象/from16 v1 v26调用虚拟 {v0,v1} Ljava/郎/StringBuilder;-> 追加 (郎/Ljava/字符串;) Ljava/郎/StringBuilder;移动结果对象 v28invoke-virtual/range {v28..v28} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;move-result-object v25new-instance v19 Ljava/util/zip/ZipInputStream;new-instance v28 Ljava/io/FileInputStream;move-object/from16 v0 v28invoke-direct {v0,v3} Ljava/io/FileInputStream;->(Ljava/lang/String;)Vmove-object/from16 v0 v19move-object/from16 v1 v28invoke-direct {v0,v1} Ljava/util/zip/ZipInputStream;->(Ljava/io/InputStream;)Vlabel_150:invoke-virtual/range {v19..v19} Ljava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;move-result-object v18if-nez v18 :label_356label_156:invoke-virtual/range {v19..v19} Ljava/util/zip/ZipInputStream;->close()Vlabel_159:invoke-static {v15} Ljava/lang/System;->load(Ljava/lang/String;)Vlabel_162:return-voidlabel_163:const-string v28 ".apk"move-object/from16 v0 v17move-object/from16 v1 v28invoke-virtual {v0,v1} Ljava/lang/String;->endsWith(Ljava/lang/String;)Zmove-result v28if-eqz v28 :label_242const-string v28 " "move-object/from16 v0 v17move-object/from16 v1 v28invoke-virtual {v0,v1} Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;move-result-object v24move-object/from16 v0 v24array-length v0 v0move/from16 v28 v0add-int/lit8 v28 v28 -1aget-object v23 v24 v28const-string v28 "/mnt/asec/"move-object/from16 v0 v23move-object/from16 v1 v28invoke-virtual {v0,v1} Ljava/lang/String;->startsWith(Ljava/lang/String;)Zmove-result v28if-nez v28 :label_218const-string v28 "/data/app/"move-object/from16 v0 v23move-object/from16 v1 v28invoke-virtual {v0,v1} Ljava/lang/String;->startsWith(Ljava/lang/String;)Zmove-result v28if-eqz v28 :label_248label_218:const/16 v28 0xamove-object/from16 v0 v23move/from16 v1 v28invoke-virtual {v0,v1} Ljava/lang/String;->substring(I)Ljava/lang/String;move-result-object v2label_228:const/16 v28 0x2dmove/from16 v0 v28invoke-virtual {v2,v0} Ljava/lang/String;->lastIndexOf(I)Imove-result v14const/16 v28 -0x1move/from16 v0 v28if-ne v14 v0 :label_294label_242:invoke-virtual {v4} Ljava/io/BufferedReader;->readLine()Ljava/lang/Stri
正在翻譯中..
