有关使用smali库的问题

时间:2019-06-23 06:26:50

标签: java android dalvik dex smali

我有一个smali文件,我想知道如何通过smali库将smali文件转换为org.jf.dexlib2.iface.ClassDef对象。

我现在有了一个主意:smali文件的dex文件将通过baksmali.disassembleDexFile()方法获得,并且可以生成一个新的DexFile对象以获得org.jf.dexlib2.iface.ClassDef对象,但是如果dex足够大,太昂贵了。

所以请大家帮我。

1 个答案:

答案 0 :(得分:1)

如果您自己有dex文件,只需使用DexFileFactory.loadDexFile("/path/to/dex/file.dex", Opcodes.getDefault());,然后遍历这些类,直到找到您感兴趣的类的ClassDef。

如果没有dex文件,只需先使用smali将smali文件组装成dex文件即可。