[英]Need help disabling a method in smali in an apk file
我需要禁用以下方法,但我不知道該做什么或更改什么。 我試過完全刪除它,但這只是讓應用程序崩潰了。
代碼:
.method private c()V
.registers 4
new-instance v0, Landroid/app/AlertDialog$Builder;
iget-object v1, p0, Lcom/blah/blah/er;->c:Lcom/blah/blah/AlphaActivity;
invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder;
const-string v1, "Random text"
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
const v1, 0x1080027
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder;
const-string v1, "Other random text"
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
const v1, 0x104000a
new-instance v2, Lcom/blah/blah/es;
invoke-direct {v2, p0}, Lcom/blah/blah/es;-><init>(Lcom/blah/blah/er;)V
invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
move-result-object v0
iput-object v0, p0, Lcom/blah/blah/er;->d:Landroid/app/AlertDialog;
iget-object v0, p0, Lcom/blah/blah/er;->d:Landroid/app/AlertDialog;
invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V
return-void
.end method
如果您想禁用該方法,您不能簡單地刪除該方法,因為如果其他方法想要調用不存在的方法,Android 應該怎么辦? 這是不可能的,因此應用程序會崩潰。
如果你想禁用該方法,你可以簡單地刪除里面的所有指令。 所顯示的方法幸運地沒有返回值(您可以在最后一條指令return-void
中看到,這意味着“退出方法並且不返回任何內容”。
因此,您可以將方法精簡到最低限度:
.method private c()V
return-void
.end method
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.