Smali:修改方法返回True

问题描述 投票:0回答:1

我花了几个小时对 apk 进行逆向工程,现在我想我陷入了困境。 我有一些方法需要修改,以便始终返回 True。对于其中一个,我设法简单地设置一个常量并返回它,但对于这些,我无法理解它。

1 - 我想这个一定很简单:

.method public getHasRight()Ljava/lang/Boolean;
    .locals 1
    .annotation build Landroidx/annotation/NonNull;
    .end annotation

    .line 1
    invoke-virtual {p0}, Lcom/milibris/lib/mlkc/model/KCIssue;->realmGet$hasRight()Ljava/lang/Boolean;

    move-result-object v0

    return-object v0
.end method

2 - 这个我认为我需要将 p1 设置为 true,但在编译过程中我总是遇到错误。

.method public setIsFree(Ljava/lang/Boolean;)V
    .locals 0
    .param p1    # Ljava/lang/Boolean;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param

    .line 1
    invoke-virtual {p0, p1}, Lcom/milibris/lib/mlkc/model/KCIssue;->realmSet$isFree(Ljava/lang/Boolean;)V

    return-void
.end method

3 - 这个,因为它没有

Ljava/lang/Boolean
我什至不确定它是否必须返回布尔值?我怎么能确定呢。无论如何,我怎样才能让它返回 true ?

.method public isConnected()Z
    .locals 1

    .line 1
    iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat;->a:Landroid/support/v4/media/MediaBrowserCompat$b;

    invoke-interface {v0}, Landroid/support/v4/media/MediaBrowserCompat$b;->isConnected()Z

    move-result v0

    return v0
.end method

抱歉这个愿望清单,但我在谷歌上有太多紫色链接。 Smali 一开始很难掌握,尤其是当您不是来自 Java 世界时。

感谢您的帮助:)

android apk reverse-engineering dalvik smali
1个回答
0
投票

thx @t.m.adam,我成功地用这个破解了 Minecraft 许可证验证

© www.soinside.com 2019 - 2024. All rights reserved.