gpt4 book ai didi

Android 上的 Java 字节码注入(inject)

转载 作者:太空狗 更新时间:2023-10-29 16:23:34 27 4
gpt4 key购买 nike

我意识到这是不可能的,因为 Android 没有 JVM,但是否有解决此问题的方法?我需要为 Android 应用程序执行字节码注入(inject)操作。有什么建议吗?

最佳答案

您不能直接将字节码注入(inject)到已经加载的类/方法中。但是,你可以动态创建新类,将它们写入一个dex文件,然后动态加载它们

参见 this blog发布有关从磁盘上的 dex 文件动态加载类的更多信息。

为了动态创建一个新的 dex 文件,您可能会考虑使用 dexlib component那是 smali/baksmali 的一部分代码库,这是一个用于读取/写入 dex 文件的通用库。

或者,您可以在您的应用程序中包含 smali 并以 smali 汇编格式生成您的类,然后直接使用 smali 将它们组装成一个新的 dex 文件。

关于Android 上的 Java 字节码注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221220/

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