android中的仪表dalvik在v0~v15范围内出现寄存器限制

android中的仪表dalvik在v0~v15范围内出现寄存器限制,android,dalvik,instrumentation,Android,Dalvik,Instrumentation,最近,我尝试分析android应用程序路径,在使用路径分析算法时,我需要插入dalvik指令,以满足更具可伸缩性的应用程序分析。 但是现在我遇到了一个不可避免的注册限制问题。 在我的检测工作期间,我需要至少8个寄存器添加,但在一个方法中,通常会限制v0~v15内的寄存器数量,如果我直接修改“.x”块,我将触发重新编译错误。 通常是这样 .method public static mixCir(I)Ljava/lang/String; .locals 10 .parameter "max" 如果

最近,我尝试分析android应用程序路径,在使用路径分析算法时,我需要插入dalvik指令,以满足更具可伸缩性的应用程序分析。 但是现在我遇到了一个不可避免的注册限制问题。 在我的检测工作期间,我需要至少8个寄存器添加,但在一个方法中,通常会限制v0~v15内的寄存器数量,如果我直接修改“.x”块,我将触发重新编译错误。 通常是这样

.method public static mixCir(I)Ljava/lang/String;
.locals 10
.parameter "max"
如果我们只修改10->18,则apktool编译将触发错误:

Exception in thread "main" java.lang.NullPointerException
    at org.jf.util.PathUtil.getRelativeFile(PathUtil.java:44)
    at org.jf.smali.smaliFlexLexer.getSourceName(smaliFlexLexer.java:292
    at org.antlr.runtime.CommonTokenStream.getSourceName(CommonTokenStre
ava:345)
    at org.antlr.runtime.Parser.getSourceName(Parser.java:88)
    at org.jf.smali.smaliParser.getErrorHeader(smaliParser.java:358)
    at org.antlr.runtime.BaseRecognizer.displayRecognitionError(BaseReco
er.java:192)
    at org.antlr.runtime.BaseRecognizer.reportError(BaseRecognizer.java:

    at org.jf.smali.smaliParser.smali_file(smaliParser.java:736)
    at brut.androlib.mod.SmaliMod.assembleSmaliFile(SmaliMod.java:71)
    at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java

    at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java

    at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
    at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
    at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
    at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
    at brut.androlib.Androlib.buildSources(Androlib.java:179)
    at brut.androlib.Androlib.build(Androlib.java:170)
    at brut.androlib.Androlib.build(Androlib.java:154)
    at brut.apktool.Main.cmdBuild(Main.java:182)
    at brut.apktool.Main.main(Main.java:67)
那么,有什么方法可以满足我的要求吗? 非常感谢