2016-08-26 7 views
2

falseに設定する必要があるブール値は1つだけです。このメソッドが呼び出されると、この値が返されます。しかし私はSmaliの経験がないので、私は助けが必要です。 apkをJavaコード(探したいものを知るため)とSmali(編集と再コンパイルの両方)にデコンパイルしました。ここでは、Javaコード内のメソッドは次のとおりです。Smaliコードのメソッドでbooleanをfalseに設定する方法

public PendingResult<Status> setMockMode(GoogleApiClient client, boolean isMockMode) { 
     return client.zzb(new C06163(this, client, isMockMode)); 
    } 

私はfalsereturnisMockModeを変更したいが、smaliでその非常に紛らわしいです。ここには同じJavaコードのsmaliコードがあります:

.method public setMockMode(Lcom/google/android/gms/common/api/GoogleApiClient;Z)Lcom/google/android/gms/common/api/PendingResult; 
    .locals 1 
    .parameter "client" 
    .parameter "isMockMode" 
    .annotation system Ldalvik/annotation/Signature; 
     value = { 
      "(", 
      "Lcom/google/android/gms/common/api/GoogleApiClient;", 
      "Z)", 
      "Lcom/google/android/gms/common/api/PendingResult", 
      "<", 
      "Lcom/google/android/gms/common/api/Status;", 
      ">;" 
     } 
    .end annotation 

    .prologue 
    new-instance v0, Lcom/google/android/gms/location/internal/zzd$3; 

    invoke-direct {v0, p0, p1, p2}, Lcom/google/android/gms/location/internal/zzd$3;-><init>(Lcom/google/android/gms/location/internal/zzd;Lcom/google/android/gms/common/api/GoogleApiClient;Z)V 

    invoke-virtual {p1, v0}, Lcom/google/android/gms/common/api/GoogleApiClient;->zzb(Lcom/google/android/gms/internal/zzlb$zza;)Lcom/google/android/gms/internal/zzlb$zza; 

    move-result-object v0 

    return-object v0 
.end method 

コードは私が理解するにはあまりにも複雑です。だからいくつかの助けてください:)

+0

@Vince Emighは助けてください、私はその翻訳サービスをかなりよく知っています。 smaliの学習を始める良いガイドはありません。そして、私はこの1つのファイルを編集する必要があります。 –

答えて

2

希望は次のとおりです。

.method public setMockMode(Lcom/google/android/gms/common/api/GoogleApiClient;Z)Lcom/google/android/gms/common/api/PendingResult; 
    # change here 1 -> 2 to allow for another local variable v1 
    .locals 2 
    .prologue 

    new-instance v0, Lcom/google/android/gms/location/internal/zzd$3; 

    # add this line: v1 = 0; 0 is 'false' 
    const/4 v1, 0x0 

    # pass v1, which is set to 'false', instead of p2 containing isMockMode 
    invoke-direct {v0, p0, p1, v1}, Lcom/google/android/gms/location/internal/zzd$3;-><init>(Lcom/google/android/gms/location/internal/zzd;Lcom/google/android/gms/common/api/GoogleApiClient;Z)V 
    invoke-virtual {p1, v0}, Lcom/google/android/gms/common/api/GoogleApiClient;->zzb(Lcom/google/android/gms/internal/zzlb$zza;)Lcom/google/android/gms/internal/zzlb$zza; 
    move-result-object v0 
    return-object v0 
.end method 
+0

ありがとうございました。申し訳ありませんが回答として選択するのを忘れていました。XD –

関連する問題