apk を逆コンパイルすると、すぐに戻って他のコードが続くだけの while ループが多数見られます。
while (true){
return;
if (!cond1){
continue;
}
if (cond2){
continue;
}
}
逆コンパイルでこのコードを生成したい場合、どの Java コードを記述しますか?
ノート。逆コンパイルはapktool→baksmali→smali→dex2jar
編集
Android APK から元の Java バイトコードを実際に取得することはできません (少なくとも方法はわかりません)。私のツールが不十分なリバース エンジニアリング作業を行っている可能性がありますが、smali の出力は次のとおりです。
:goto_8
return-void
.line 40
:sswitch_9
const/4 v0, 0x0
iput v0, p0, Lcom/sec/android/app/camera/command/ContextualTagSelectCommand;->mContextualTag:I
goto :goto_8
.line 44
:sswitch_d
const/4 v0, 0x1
iput v0, p0, Lcom/sec/android/app/camera/command/ContextualTagSelectCommand;->mContextualTag:I
goto :goto_8
以下に対応します。
while (true)
{
return;
this.mContextualTag = 0;
continue;
this.mContextualTag = 1;
}