gpt4 book ai didi

xposed - 记录 Xposed 在应用程序中调用的所有方法

转载 作者:行者123 更新时间:2023-12-05 09:18:56 25 4
gpt4 key购买 nike

如标题所述,我想使用 xposed 记录应用程序中调用的所有方法,从它开始直到我停止它。我只想记录类名、方法名,不想 Hook 所有方法。我尝试此代码,但收到错误 getMethod not found。

findAndHookMethod("java.lang.Class", lpparam.classLoader, "getMethod", String.class, Object.class, new XC_MethodHook()

提前致谢!

最佳答案

没有像您正在搜索的那样的单线解决方案。

Hook 所有方法将让记录应用程序从开始到停止调用了哪些方法(有点 - 见下文),但如果(出于某种原因)你不想 Hook 所有方法,这是我唯一能做的解决方案想到的是修改 Java VM 本身(我不推荐这样做。)

(某种程度上)有效的解决方案

我所做的是首先使用 apktool 反编译我的 apk 并获取所有类中所有方法的名称。然后我使用 xposed Hook 到每个类的每个方法并将当前函数名称打印到 dlog。

为什么它只能起作用

Xposed 在 Hook 方法时会产生开销。对于 xposed 应用程序的一般用途,它并不多。但是当你开始 Hook 一个应用程序的每一个方法时,开销很快就会变得大得离谱——以至于尽管上述方法适用于小型应用程序,但对于任何大型应用程序来说,它很快就会导致应用程序挂起然后崩溃。

另一种方法也可以工作

FRIDA是一种将 javascript 注入(inject) native 应用程序的方法。 Here他们向您展示了如何记录所有函数调用。虽然在上面的链接中,他们在一段 Python 代码中记录了所有函数调用,但相同的代码也适用于 Android。

关于xposed - 记录 Xposed 在应用程序中调用的所有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733779/

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