gpt4 book ai didi

java - 与 java.lang.Boolean 兼容的预期返回值

转载 作者:行者123 更新时间:2023-12-04 12:21:48 27 4
gpt4 key购买 nike

我正在尝试在使用 Frida 的 android 应用程序中绕过 rootDetection。
我找到了检查设备是否已 Root 的类和方法,并尝试更改此方法的返回值,但出现了一个令人困惑的错误:

Error: Implementation for isDeviceRooted expected return value compatible with java.lang.Boolean


我的脚本很简单:
var hook = Java.use("app.name.someClasses.RootUtils");
hook.isDeviceRooted.overload().implementation = function() {
return false;
}
我试图用谷歌搜索,但我不明白 Boolean(false) 和 false 之间有什么区别,它只是一个包装器,我应该在这里返回什么才能与 main 方法返回值兼容?!

最佳答案

如果你只是返回 truefalse这是原始类型 boolean .现代 Java 编译器自动在 boolean 之间转换和 java.lang.Boolean但弗里达没有。
因此,您必须创建一个 java.lang.Boolean实例并返回它:

var hook = Java.use("app.name.someClasses.RootUtils");
hook.isDeviceRooted.overload().implementation = function() {
return Java.use("java.lang.Boolean").$new(false);
}

关于java - 与 java.lang.Boolean 兼容的预期返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68567480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com