0

我有以下 smali 代码,它在具有 su 权限的 Android 上执行二进制文件:

    [...]
    .line 66
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v6

    const-string v7, "su -c /system/bin/screencap -p /data/local/tmp/x.png"

    invoke-virtual {v6, v7}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
    [...]

我需要在引号中设置字符串的一部分,如下所示:

'su -c "/system/bin/screencap -p /data/local/tmp/x.png"'

我怎样才能逃避引号?我尝试使用反斜杠,但 apktool 在尝试重建 APK 文件时抱怨它。

提前致谢。

4

1 回答 1

1

您应该能够使用反斜杠转义嵌入的双引号,与 java.util.java 相同。

const-string v7, "su -c \"/system/bin/screencap -p /data/local/tmp/x.png\""
于 2016-11-30T23:25:55.947 回答