我需要替换 dex 文件中的字符串。也就是说,我需要一个工具(免费和开源)来接收 dex 文件、字符串索引和新字符串值作为输入参数并生成新的(修补的)dex 文件。
我自己写应该不会太难,但也许有一个工具可以完全满足我的需要并且可以节省我的时间。
任何帮助将不胜感激!
最佳答案
我不知道现有的端到端解决方案。你最好的选择是使用 dexlib2。特别是 DexRewriter class 是一个很好的例子,说明如何进行这种替换,尽管它不直接支持字符串替换。
我不认为修改字符串表中的字符串实际上是您想要的。请记住,字符串可用于 dex 文件中的许多内容:字符串常量、方法名称、字段名称、类名称等。如果您只想更改字符串常量,则需要查找并替换所有内容该字符串用作字符串常量的实例。如果您尝试替换该字符串的所有实例,您最终可能会无意中修改字段名称等。
关于android - 替换dex文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830403/