首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Proguard生成的mapping.txt处理jar文件?

如何使用Proguard生成的mapping.txt处理jar文件?
EN

Stack Overflow用户
提问于 2016-03-27 09:17:04
回答 2查看 11.6K关注 0票数 8

这听起来可能有点可疑,但我需要来消除我自己的应用程序。一段时间前,我发布了我的应用程序,我混淆了Proguard。不幸的是,我没有保存那个版本的应用程序,并且修改了很多代码。

现在我需要那个旧版本的代码。我仍然有mapping.txt文件生成。

我已经将classes.dex文件转换为jar (使用dex2jar工具),现在我需要根据mapping.txt来清理它。有什么工具可以帮我吗?也许是保安本身?

UPD。我需要一个工具,可以自动重命名所有的类,函数等,所以我不需要做手动。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-28 22:21:39

如果您有映射,那么您可以得到每个类、字段和方法名称,back.You可以使用java (字节码修改库)重新映射类名和成员名。大部分工作将是更新成员描述符。

我为自己做了一个,花了大约一天的时间让它可靠地工作。

编辑:这并不完美,但非常接近。链接

给它一个预保护的jar文件,映射,它将重命名它能找到的所有东西。有几个问题,但只要看一看,它应该做的工作。只需将它生成的jar (FileName + "-Re.jar")转储到一个反编译器中,比如Luyten/JD。此外,文件输入仅通过按钮进行更改。文本框只用于视觉反馈/确认。

编辑2:当映射中的类条目不存在于给定的jar中时,就会发生固定的NPE。

编辑3:修正了许多导致方法不被重命名的问题。

编辑4:将编译好的jar上传到github (版本,在zip文件中它在映射util中),增加了对多种映射类型的支持。

票数 14
EN

Stack Overflow用户

发布于 2016-03-31 09:58:37

我建议使用在以上答案谜团中建议使用的前保护工具。您的问题的解决方案不能很简单,您需要使用一些可用的工具来解决它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36245737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档