【问题标题】:How Do I Execute Dalvik Op-Codes我如何执行 Dalvik 操作码
【发布时间】:2010-10-30 10:10:33
【问题描述】:

我想在我的 Android 应用程序中直接针对正在运行的 Dalvik VM 实例执行操作码。我正在寻找类似于 C asm 函数的东西。我有一个 dalvik 的操作码列表,但我不熟悉如何直接执行它们,或者将它们写到 .class 文件中,然后从正在运行的应用程序中针对某种 VM CLI 命令(如 dalvikvm)执行它们。

【问题讨论】:

    标签: android assembly dalvik opcodes


    【解决方案1】:

    这是不可能的。有关详细信息,请参阅 youtube 上有关 Dalvik 内部的 Google IO 2008 演示文稿。包括 Java 和 MS .NET 在内的移动 VM 不是完整的 VM,并且由于内存和性能限制,因此会遗漏可以完成您所描述的部分。

    【讨论】:

    • 当我深入研究它时,我发现这是不幸的事实......谢谢!
    • [在我拥有评论权之前,我最初将此作为单独的答案发布。] 您不需要 root 访问权限来加载 dex 文件。有一个系统类 dalvik.system.DexClassLoader,它旨在使加载 dex 文件变得相当简单。
    【解决方案2】:

    过去是不可能的,但现在是可能的:

    http://android-developers.blogspot.sg/2011/07/custom-class-loading-in-dalvik.html

    基本上您可以创建自定义的 dex 文件并加载并执行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 2019-07-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      相关资源
      最近更新 更多