如何快速混淆代码.我有一个非常小的Java应用程序,我想将混淆的代码传递给我的客户端.我听说过很多关于ProGuard混淆代码并已下载但却不知道如何混淆我的"abc.jar"文件.
我查看了它的网站,但它包含了很多要阅读的资料.我不需要沉重的混淆.我只需要一个混淆,只需将变量,方法和类的名称更改为一些不可读的名称.我知道ProGuard也提供了所有这些功能.
Q1.所以任何人都可以告诉我一些简单的混淆器或一些简单的步骤来使用proguard,这样我就可以输入"abc.jar"并输出"obfuscate_abc.jar"或类似的东西.
Q2.还有一件事,因为我的Java程序使用外部库,所以我是否还需要对这些库进行模糊处理?
Q3.是否有任何Eclipse或NetBeans插件可用于此混淆?
我还听说我们应该保留映射表文件,以便将来我们可以通过在混淆时创建的映射表的帮助下首先进行去混淆来调试或编辑混淆的代码.
Q4.那么,还有一个问题是为什么我们需要与我们保持映射表?我们可以简单地保留未混淆的应用程序的副本,以便对其进行更改(如果将来需要).有没有理由保留我们的映射表文件?
我正在寻找一个好的Java混淆器.
我已经对以下Java混淆器进行了初步研究:proguard,yguard,retroguard,dasho,allatori,jshrink,smokescreen,jobfuscate,marvin,jbco,jode,javaguard,jarg,joga,cafebabe,donquixote,mwobfu,bbmug,zelix klassmaster ,sandmark,jcloak,丛林,blufuscator和java代码保护.
我试过proguard它有一个非常好的GUI,看起来非常稳定,似乎是最流行的,但它似乎不喜欢引用的jar文件上的一些枚举(不在我试图混淆的代码中)这很奇怪.Yguard似乎需要与蚂蚁进行一些互动,我对此并不太了解.
什么是好的java混淆器?它不需要是免费的,它只需要很好地工作并且易于使用.
移动开发的一个重要部分,特别是当您谈论移动游戏时,正在处理应用程序大小限制.有些设备会强制执行自己的大小限制,而所有运营商都有自己的大小要求,以便在其套件空间中释放应用程序.
我的问题是,是否有一个java混淆应用程序获得比其他java混淆应用程序更好的大小缩减结果?
我使用Proguard是因为它是默认的Netbeans混淆器,你可以从中获得相当好的缩小结果(顺便说一下,Netbeans 6.1附带的Proguard版本是3.7.有更新的版本可以获得更好的结果,我建议得到最新的).但是,我对那里还有什么感兴趣,以及他们是否比Proguard做得更好.
我的结论:
我很欣赏这些回复.卡洛斯,你的回答足以让我相信Proguard是目前的方式.我仍然可以说服其他人,但对我当前的设置并不感到难过.
我也遇到过一些问题,即在某些手机上使用proguard进行模糊处理和运行,但不是太多.我总是能够通过不使用Proguard参数"-overloadaggressively"来解决问题.如果您遇到与混淆相关的奇怪行为,请记住一些事项.
再次感谢.
有没有办法以不可反向工作的格式部署Java程序?
我知道如何将我的应用程序转换为可执行的JAR文件,但我想确保代码不能进行逆向工程,或者至少不容易.
源代码的混淆不计算......它使得理解代码变得更加困难,但不会隐藏它.
一个相关的问题是如何锁定已编译的Java类以防止反编译?
一旦我完成了程序,我仍然可以访问原始源代码,因此维护应用程序不会成为问题.如果应用程序是分发的,我不希望任何用户能够反编译它.混淆不能实现这一点,因为用户仍然可以对其进行反编译,虽然他们很难跟踪操作流程,但他们将能够看到代码,并可能从中获取信息.
我关心的是代码中是否有与远程访问相关的信息.应用程序使用用户提供的用户标识和密码连接主机.有没有办法从用户隐藏主机的地址,如果该地址位于源代码内?