这是一个签名验证的方法吗?改如何入手修改呢? 
 
如果apk反编译出来后,有多个smali出现signature,该如何判断哪一个是验证签名的呢? 
 
{:4_112:} 
 
[mw_shl_code=java,true].method private getField(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field; 
    .locals 5 
    .param p2, "name"    # Ljava/lang/String; 
    .annotation system Ldalvik/annotation/Signature; 
        value = { 
            "(", 
            "Ljava/lang/Class", 
            "<*>;", 
            "Ljava/lang/String;", 
            ")", 
            "Ljava/lang/reflect/Field;" 
        } 
    .end annotation 
 
    .prologue 
    .line 17 
    .local p1, "cls" java/lang/Class;, "Ljava/lang/Class<*>;" 
    invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field; 
 
    move-result-object v2 
 
    array-length v3, v2 
 
    const/4 v1, 0x0 
 
    :goto_0 
    if-lt v1, v3, :cond_1 
 
    .line 26 
    const/4 v0, 0x0 
 
    :cond_0 
    return-object v0 
 
    .line 17 
    :cond_1 
    aget-object v0, v2, v1 
 
    .line 19 
    .local v0, "field" java/lang/reflect/Field; 
    invoke-virtual {v0}, Ljava/lang/reflect/Field;->isAccessible()Z 
 
    move-result v4 
 
    if-nez v4, :cond_2 
 
    .line 20 
    const/4 v4, 0x1 
 
    invoke-virtual {v0, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V 
 
    .line 22 
    :cond_2 
    invoke-virtual {v0}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String; 
 
    move-result-object v4 
 
    invoke-virtual {v4, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z 
 
    move-result v4 
 
    if-eqz v4, :cond_0 
 
    .line 17 
    add-int/lit8 v1, v1, 0x1 
 
    goto :goto_0 
.end method[/mw_shl_code] 
 |