Tag: 混淆程序

使用Proguard导出已签名的Android apk

我想做什么: 从Eclipse中混淆并导出已签名的应用程序。 问题: 无论我在Project.properties和proguard-android.txt上写什么,我都会得到相同的控制台错误。 这让我不知道发生了什么,我开始感到痛苦。 我能做什么: 我可以在不使用Proguard的情况下导出项目。 我可以使用Proguard导出一个没有使用ABS(Action Bar Sherlock)的类似项目 我的问题: 是否有可能eclipse没有全部使用proguard-android.txt ? 当您包含ABS库时,您应该从项目中删除android-support-v4.jar ,因为该项目将使用库的一个。 我做了ABS网站的建议,但仍然无法正常工作。 我错过了什么吗? 代码: Project.properties: # This file is automatically generated by Android Tools. # Do not modify this file — YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize […]

带有throws子句的混淆方法

我正在使用ProGuard来混淆我的代码。 我的项目由几个模块组成,每个模块都独立进行模糊处理。 一个库包括一个接口; public interface IFace { public int methodA(boolean b) throws CustomException; } 另一个库提供了一个实现 public class IFaceImpl implements IFace { @Override public int methodA(boolean b) throws CustomException { return 0; } } 首先构建具有接口的库,然后针对混淆版本构建第二个库。 不幸的是,由于接口没有throws子句,编译在@Override上失败。 我有proguard保持接口及其所有成员,但我无法弄清楚如何保持throws条款。

如何阻止proguard混淆整个包?

我需要阻止Proguard对com.foo.*包中的任何类进行模糊com.foo.* 。 我试过了: -keep com.foo.** { ; ; ; } 但是proguard说: 错误:文件’obfuscationConfig.pro’第32行中的意外关键字’com.sun.foo。**’,包含在参数编号1中 如果我尝试keep name com.foo**或keep * com.foo.**我会收到类似的错误。

Proguard:避免使用预先混淆的库JAR命名冲突

似乎Proguard在重命名/重新打包类时没有尝试避免命名与库JAR中的类的冲突。 这是正确的,还是我没有正确配置? 我正在混淆使用最新Google AdMob SDK的Android应用程序。 以前我使用旧的AdMob SDK没有问题。 新的SDK JAR文件包含一些已被混淆的类。 其中一个类是默认/未命名包中的a.class 。 当我混淆我的应用程序时,Proguard重命名/重新打包我的一个类也是未命名包中的a.class ,尽管已经将AdMob JAR作为库JAR读取(因此它应该知道这会导致冲突)。 可以预见,当dx工具尝试在单个.dex文件中组合这两个具有相同名称的类时,我的构建失败。 作为一种解决方法,我已经重新配置了Proguard,以便它将我的所有类移动到一个命名包(只是一个字母),以避免与Google类冲突,但我很想知道是否有更好的解决方案,或者这是否是Proguard当前版本(4.6)的限制?

如何快速混淆Java代码?

如何快速混淆代码。 我有一个非常小的Java应用程序 ,我想将混淆的代码传递给我的客户端。 我听说过很多关于ProGuard混淆代码并下载它但不知道如何混淆我的“abc.jar”文件。 我查看了它的网站,但它包含了很多要阅读的资料。 我不需要沉重的混淆。 我只需要一个混淆,只需将变量,方法和类的名称更改为一些不可读的名称。 我知道ProGuard也提供了所有这些function。 Q1。 所以任何人都可以告诉我一些简单的混淆器或一些简单的步骤来使用proguard,这样我就可以输入“abc.jar”并输出“obfuscate_abc.jar”或类似的东西。 Q2。 还有一件事,因为我的Java程序使用外部库,所以我是否还需要对这些库进行模糊处理? Q3。 是否有任何Eclipse或NetBeans插件可用于此混淆? 我还听说我们应该保留映射表文件,以便将来我们可以通过在混淆时创建的映射表的帮助下首先进行去混淆来调试或编辑混淆代码。 Q4。 那么,还有一个问题是为什么我们需要与我们保持映射表? 我们可以简单地保留未混淆的应用程序的副本,以便对其进行更改(如果将来需要)。 有没有理由保留我们的映射表文件?

jar或类混淆的最佳工具,无需编写任何其他配置文件

我正在寻找一种工具,它可以在课堂或jar子混淆中产生尖锐的性能,并且可以设法轻松地混淆jar子。 但是几天我一直在寻找这个工具。 我知道Proguard值得拥有,但我需要一个非常友好的工具,它能够从jar中检索所有可用的包并显示它。 这样很容易混淆。 如果我使用Proguard,我必须操作一个名为proguard.cfg的配置文件,它将在模糊处理过程中使用,而且我必须执行一个命令行,你知道它不仅具有破坏性,而且非常乏味。 我知道有一些可用于eclipse的插件正用于混淆。 但这是不可接受的,因为需要写下配置文件。 最后,我得到了一个名为Zelix的工具,并且根据我的要求运行良好。 但是它不能执行所有的jar,它在分析类时给出了一些例外,并最终停止混淆。 任何人都可以建议我任何其他更好的工具,可以执行所有jar。 我很想等你的回复。