https://github.com/CalebFenton/simplify/releases/download/v1.3.0/sdbg-0.1.0.jar
"C:\Program Files\Java\jre-1.8\bin\java.exe" -jar sdbg-0.1.0.jar smali "Lu/ad;->c()V"
其中smali为文件夹名称。
###### Class p124u.C12414ad (u.ad)
.class public Lu/ad;
.super Ljava/lang/Object;
.source "SourceFile"# static fields
.field private static a:Z = true.field private static b:J = 0x0L.field private static c:Z = true# direct methods.method public constructor <init>()V.registers 1invoke-direct {p0}, Ljava/lang/Object;-><init>()Vreturn-void
.end method.method public static c()V.registers 4const/16 v2, 0xcnew-array v1, v2, [Cconst/16 v3, -0x68d8xor-int/lit16 v3, v3, -0x68b4int-to-char v3, v3const v2, 0x3aput-char v3, v1, v2const v2, 0x3aget-char v3, v1, v2xor-int/lit16 v3, v3, 0x1int-to-char v3, v3const v2, 0x4aput-char v3, v1, v2const v2, 0x4aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xcint-to-char v3, v3const v2, 0x5aput-char v3, v1, v2const v2, 0x3aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xbint-to-char v3, v3const v2, 0x0aput-char v3, v1, v2const v2, 0x3aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xaint-to-char v3, v3const v2, 0x8aput-char v3, v1, v2const v2, 0x3aget-char v3, v1, v2xor-int/lit16 v3, v3, 0x6int-to-char v3, v3const v2, 0x2aput-char v3, v1, v2const v2, 0x2aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xaint-to-char v3, v3const v2, 0x7aput-char v3, v1, v2const v2, 0x5aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xbint-to-char v3, v3const v2, 0x6aput-char v3, v1, v2const v2, 0x3aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xfint-to-char v3, v3const v2, 0x1aput-char v3, v1, v2const v2, 0x5aget-char v3, v1, v2xor-int/lit16 v3, v3, 0x0int-to-char v3, v3const v2, 0xbaput-char v3, v1, v2const v2, 0x4aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xfint-to-char v3, v3const v2, 0xaaput-char v3, v1, v2const v2, 0x6aget-char v3, v1, v2xor-int/lit16 v3, v3, 0xeint-to-char v3, v3const v2, 0x9aput-char v3, v1, v2new-instance v3, Ljava/lang/String;invoke-direct {v3, v1}, Ljava/lang/String;-><init>([C)Vinvoke-virtual {v3}, Ljava/lang/String;->intern()Ljava/lang/String;move-result-object v0invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)Vreturn-void
.end method
如上是某app的混淆例子,我的手机因为root了导致没法使用该app,只能自己想办法研究。
把文件命名为c.smali放在smali\u\ad目录下,逻辑是system.loadlibrary一个混淆的库。
使用continue和info命令可以得到最终运行结果解除混淆。
还挺好用。