反编译安卓程序之后 看到如下信息,该如何找到webService 的所有公开接口呢?

foxidea 发布于 2012/10/07 11:27
阅读 1K+
收藏 0
.class public final Lcom/nima/o;
.super Ljava/lang/Object;


# static fields
.field public static a:Ljava/lang/String;

.field public static b:Ljava/lang/String;

.field public static c:Ljava/lang/String;

.field public static d:Ljava/lang/String;

.field public static e:Ljava/lang/String;

.field public static f:Ljava/lang/String;

.field public static g:Ljava/lang/String;

.field public static h:Ljava/lang/String;

.field public static i:Ljava/lang/String;

.field public static j:Ljava/lang/String;

.field public static k:Ljava/lang/String;

.field public static l:Ljava/lang/String;

.field public static m:Ljava/lang/String;

.field public static n:Ljava/lang/String;

.field public static o:Ljava/lang/String;

.field public static p:Z

.field public static q:Z

.field public static r:Z


# direct methods
.method static constructor <clinit>()V
    .locals 2

    const-string v0, "http://api.wap.nima.com/api/"

    sput-object v0, Lcom/nima/o;->a:Ljava/lang/String;

    const-string v0, "http://webapp.nima.com"

    sput-object v0, Lcom/nima/o;->b:Ljava/lang/String;

    const-string v0, "http://m.webapp.nima.com/"

    sput-object v0, Lcom/nima/o;->c:Ljava/lang/String;

    const-string v0, "appcamera"

    sput-object v0, Lcom/nima/o;->d:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/nima/android/lib/util/commons/q;->a:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "/"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    sget-object v1, Lcom/nima/o;->d:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/nima/o;->e:Ljava/lang/String;

    const-string v0, "logfile"

    sput-object v0, Lcom/nima/o;->f:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/nima/android/lib/util/commons/q;->a:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "/"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    sget-object v1, Lcom/nima/o;->f:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/nima/o;->g:Ljava/lang/String;

    const-string v0, "apkfile"

    sput-object v0, Lcom/nima/o;->h:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/nima/android/lib/util/commons/q;->a:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "/"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    sget-object v1, Lcom/nima/o;->h:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/nima/o;->i:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .locals 0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

加载中
0
johnzhang68
johnzhang68
反編譯的好像不是Java代碼。像是字節碼。
0
曾赛
曾赛
整段代码初始化对象o,等同于以下伪代码,要知道全部代码API,还需找到伪代码中缺失的两个String:Good Luck!
com.nima.android.lib.util.commons.q.a
com.nima.android.lib.util.commons.q

o.a="http://api.wap.nima.com/api/"
o.b="http://webapp.nima.com"
o.c="http://m.webapp.nima.com/"

o.d="appcamera"
sb=new StringBuilder()
sb.append(a);
sb.append("/");
sb.append(o.d);

o.e = sb.toString();
// o.e = "http://api.wap.nima.com/api//appcamera"

o.f="logfile"
sb=new StringBuilder();
sb.append(com.nima.android.lib.util.commons.q);
sb.append("/");
sb.append(o.f);

o.g = sb.toString();

o.h = "apkfile"
sb=new StringBuilder();
sb.append(com.nima.android.lib.util.commons.q.a);
sb.append("/");
sb.append(o.h);

o.i = sb.toString();

0
Lohanry
Lohanry
这个是smali 语言,你对照google 的开发文档就可以找到了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部