我需要将一些类的一些部分转换成Jasmin(或者如果可能的话,将Smali转换成)并将新代码与反汇编的代码混合在一起。
我想知道的是:这可能吗?如果是的话,怎么样?
(我有java文件的差异补丁,但没有Jar文件的源代码,所以我决定这样做)
答案 0 :(得分:0)
这取决于。 1)如果你在谈论android代码(calsses.dex),你可以使用apktool来解析它,然后注入/编辑反汇编的代码。最后,您可以重新组合该代码(仍然使用apktool,当然您的新代码不应包含语法错误)。你还需要签署你的新apk,以便能够在你的Android设备上运行它。 2)如果你只是想从某个jar获取源代码,你可以使用像JDGUI这样的反编译器来反编译它们并获取源代码(在JAVA lang中)。请注意,您的jar文件可能会被混淆,因此生成的源代码可能会混淆或者无法正常工作。
我想说如果你有一个想要修改的代码的apk,最好的办法就是用apktool拆解它。否则,如果你只想恢复源代码形式的jar(可能你丢失了原始的源代码?),你可以尝试一个反编译器。
希望这会有所帮助。