Smali 函数:返回一个整数

run*_*uns 4 android apk smali

我知道如何从函数返回 TRUE 布尔值:

.locals 1
const/4 v0, 0x1
return v0
Run Code Online (Sandbox Code Playgroud)

现在我需要返回一个整数(10000 值)。如何?

pel*_*lus 6

下面的方法

public int return1000() {
    int i = 1000;
    return i;
}
Run Code Online (Sandbox Code Playgroud)

在smali中看起来像这样

.method public return1000()I
    .locals 1

    .prologue
    .line 278
    const/16 v0, 0x3e8

    .line 279
    .local v0, "i":I
    return v0
.end method
Run Code Online (Sandbox Code Playgroud)

  • 我总是这样做。特别是如果你试图注入大量代码,编写一个静态方法并在 Android Studio 中编译将生成你需要的 99%,那么你只需要添加生成的 smali 方法/类并修改一两行在目标 smali 中将其挂钩。 (2认同)