allenymt / PrivacySentry

Android隐私合规整改检测工具,注解+Asm修改字节码的检测方案
MIT License
2.05k stars 262 forks source link

int 返回值的隐私函数 ,hook不到 #102

Closed aliouswang closed 1 year ago

aliouswang commented 1 year ago
    @PrivacyMethodProxy(
        originalClass = WifiInfo::class,
        originalMethod = "getIpAddress",
        originalOpcode = MethodInvokeOpcode.INVOKEVIRTUAL
    )
    @JvmStatic
    fun getIpAddress(manager: WifiInfo): Int? {
        var key = "ip地址-getIpAddress"

        Log.d("privacy", key);

        return 0

}

getMacAddress 就能正常hook,唯一能想到的区别就是 函数 返回值不一样

放到 Java代理文件中,一样无效

aliouswang commented 1 year ago
@PrivacyMethodProxy(
        originalClass = WifiInfo.class,
        originalMethod = "getIpAddress",
        originalOpcode = MethodInvokeOpcode.INVOKEVIRTUAL
)
public static int getIpAddress(WifiInfo manager) {
    String key = "ip地址-getIpAddress";
    PLog.d(key);

    return 0;
}
allenymt commented 1 year ago

建议检查下配置,我试了可以的 https://github.com/allenymt/PrivacySentry/commit/de561601a27881de37ada130e24e7977ec7b51b0