自动转换Android的dex代码

Sas*_*and 8 android dalvik dex smali

我想转换/仪器Dex文件.转型的目标包括测量代码覆盖率.请注意,源文件不可用.所以检测Dex是唯一的选择.

我想知道是否有任何现有的代码库,我可以看作为编写工具来实现我的目标的示例.

我了解Smali项目以及以Smali为基础的许多其他项目.但是,这些项目都不是我的目的的好例子.

我正在寻找自动转换smali代码或dexlib表示的代码,从中生成smali.后面的选项对我来说是首选,因为可以避免生成smali的开销.

Jes*_*eke 1

在某些情况下,smali 本身在重新组装 dex 文件时会进行少量指令重写。如果目标超出范围,比如用 const-string/jumbo 替换 const-string,或者用“更大”的指令替换 goto 指令。这涉及用可能更大的指令替换指令列表中的指令,以及相应的偏移量修复。

CodeItem.fixInstructions是负责此操作的方法。


此外,还有asmdex 库。我对此不太熟悉,但听起来它可能与您想做的事情相关。