Вопросы по использованию библиотеки smali - PullRequest
3 голосов
/ 23 июня 2019

У меня есть файл smali, и я хочу знать, как преобразовать файл smali в объект org.jf.dexlib2.iface.ClassDef через библиотеку smali.

Теперь у меня есть идея: файл dex файла smali будет получен методом baksmali.disassembleDexFile() a, и новый объект DexFile может быть сгенерирован для получения объекта org.jf.dexlib2.iface.ClassDef, но если dex достаточно велик , это слишком дорого.

Так что попросите всех помочь мне.

1 Ответ

1 голос
/ 23 июня 2019

Если у вас есть сам файл dex, просто используйте DexFileFactory.loadDexFile("/path/to/dex/file.dex", Opcodes.getDefault());, а затем перебирайте классы, пока не найдете ClassDef интересующего вас класса.

Если у вас нетФайл dex, просто используйте smali, чтобы сначала собрать файл smali в файл dex.

...