android - 替换dex文件中的字符串

标签 android dex

我需要替换 dex 文件中的字符串。也就是说,我需要一个工具(免费和开源)来接收 dex 文件、字符串索引和新字符串值作为输入参数并生成新的(修补的)dex 文件。

我自己写应该不会太难,但也许有一个工具可以完全满足我的需要并且可以节省我的时间。

任何帮助将不胜感激!

最佳答案

我不知道现有的端到端解决方案。你最好的选择是使用 dexlib2。特别是 DexRewriter class 是一个很好的例子,说明如何进行这种替换,尽管它不直接支持字符串替换。

我不认为修改字符串表中的字符串实际上是您想要的。请记住,字符串可用于 dex 文件中的许多内容:字符串常量、方法名称、字段名称、类名称等。如果您只想更改字符串常量,则需要查找并替换所有内容该字符串用作字符串常量的实例。如果您尝试替换该字符串的所有实例,您最终可能会无意中修改字段名称等。

关于android - 替换dex文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830403/

相关文章:

android - 如何在不同的线程中生成列表并填充到 ListView 中?

android - 如何使对象位于 ScrollView 的底部

android - 即使启用 multidex 也无法在 Android Studio 3.0.1 中合并 DEX

android - Android下如何交换方法体

android - 如何在单个字符 Android 上添加图案颜色

java - 使用RandomAccessFile读取文件乱码

android - 显示 map View 时如何将默认位置设置为我的位置

android - Dex:如何通过 android-maven-plugin 在 Maven pom 中设置 dex.force.jumbo=true?

android - 将 Jar 导入 Android 项目时出错

android - cmd 无法识别 dex2jar- Android Apk