当前位置: 首页 > 知识库问答 >
问题:

如何使用ProGuard生成的mapping.txt去模糊jar文件?

子车煌
2023-03-14

这听起来可能有点可疑,但我需要为自己的应用程序除臭。不久前,我发布了我的应用程序,我用Proguard混淆了它。不幸的是,我没有保存该版本的应用程序,并改变了很多代码。

现在我需要那个旧版本的代码。我还有地图。Proguard生成的txt文件。

我已经改变了课程。dex文件到jar(使用dex2jar工具),现在我需要根据映射对其进行除臭。txt。有什么工具可以帮我吗?也许是Proguard自己?

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

共有2个答案

杨星纬
2023-03-14

我建议使用前卫工具建议在上面的答案随着谜。你的问题的解决方案不可能非常简单,你需要使用可用工具的组合来解决它。

訾安邦
2023-03-14

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

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

编辑2:修正了当映射中的类条目在给定的jar中不存在时发生的NPE。

编辑3:修复了许多导致方法未重命名的问题。

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

 类似资料:
  • 我知道如何混淆可执行的jar文件,因为它有一个主类。但是我正在尝试创建我的API(已经完成了),我只需要混淆代码。问题是,每当我尝试使用Proguard(一个众所周知的java模糊器)模糊jar文件时,它就会给我一个与“keep”有关的错误。我正在从Proguard运行proguard-gui,在Eclipse中,我将项目导出为一个普通的jar文件(非可执行文件),并试图混淆该jar文件。另外,我

  • 我想混淆我的web应用程序构建为WAR存档,因为这个敏感的应用程序第一次部署在我们的数据中心之外。我尝试使用Proguard GUI工具来混淆输入war,包括UI应用程序所需的所有服务jar,以及其他外部依赖项。虽然Proguard在一些警告下成功运行,例如库类[javax.servlet.unavailableException]的定义重复,但输出war不包含类,而是包含库jar和web.xml

  • 我有一个jar文件集合,其依赖关系为菱形模式:               /           \ Dep1.JAR ;     Dep2.JAR                         /                 我想用ProGuard对它们进行模糊处理,以保留它们的依赖关系,例如,这样base.jar和dep2.jar的模糊版本就可以单独执行,而不需要dep1.jar和de

  • 我正在使用Eclipse集成的ProGuard来混淆我的应用程序APK。 我已尝试为应用程序导出签名包。APK已安装,但无法正常工作(有无Proguard混淆) 但是,eclipse生成了一个带调试符号的APK,它工作得非常好。有什么办法可以混淆那个APK吗? 我需要得到一个正常工作的签名,混淆的APK不是为了发布,但内部共享。

  • 我有一个可运行的java jar文件,我们称之为。在这个中,如果我使用7Zip或WinRAR提取它,还有其他罐,让我们称之为。 ProGuard设法混淆了主罐子,但是当我看的时候——里面的lib罐子不是。正因为如此,程序(主rogram.jar)在某一点中断。我也已经在我的条件设置选项。 我通过蚂蚁build.xml.调用proguard.jar,这是我的配置文件

  • 我的项目在创建时未启用proguard。因此,我需要手动添加proguard并通过project启用它。财产。 除了逆向工程,我还能知道我的应用程序是否被混淆了吗?