【问题标题】:bytecode injection on dalvikdalvik 上的字节码注入
【发布时间】:2011-02-21 20:26:43
【问题描述】:

我在android平台上问过这个问题,但没有收到回复。 我提到了这个帖子,但找不到他指的是什么帖子(Dynamically Generating Dalvik Bytecode into a running Dalvik/Android application

另外,这个问题被提出了(http://code.google.com/p/android/issues/detail?id=6322)

所以,我的问题是,

  1. 这方面有什么进展吗?
  2. 是否可以将新的字节码注入到正在加载的类中?
  3. 如果有,是否有相同的指针?

干杯。 厄伦斯

【问题讨论】:

    标签: android bytecode code-injection dalvik


    【解决方案1】:

    Android 的 Dalvik 团队打算创建一个在运行时生成 dex 文件的 API,但目前我们没有什么可展示的。

    您今天最好的选择是使用 Java 字节码注入框架(ASM、cglib 等)并在您的程序中包含 dx.jar(即 dx 工具的核心)以将生成的 .class 文件转换为运行时的 .dex 文件。如果那个(hacky)策略还不够,那你就靠自己了。这个问题是开源的好机会!

    【讨论】:

    • 是的,但是加载新的字节码不同于将字节码注入现有的 dex 代码文件。我的场景是这样的:安装了一个 APK。当它即将被加载/执行/优化时,我将一些特定的指令注入到现有的类数据中。
    【解决方案2】:

    您还可以查看 redexer (http://www.cs.umd.edu/projects/PL/redexer/) 和 smali (https://code.google.com/p/smali/) 等工具

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多