`
fhjxp
  • 浏览: 53306 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

利用proguard混淆代码

    博客分类:
  • java
阅读更多

公司自己搭建的框架,根据公司的要求核心代码必须加密,我只想到利用proguad混淆一下。以前在jdk1.4下用proguard4.3版用过都没有发现问题,后来升级到jdk1.6,混淆后的jar包就出问题了。主要是用了一些Annotation,hibernate自动加载JPA@Entity类的代码是在网上找的一个类做的,而Spring框架自动加载@Component类也加载不上。升级proguard到4.5,仍然不行。最后把proguard混淆后的jar包解压,再重新用jar打成jar包,发现加载都没有问题了。但又有了新的问题:利用hibernate的API的根据属性名从持久对象获取对应的值报错,这个应该是proguard把这类的private字段重命名导致的。然后在配置文件中增加了:

-keep public class mypackage.*{
   private *;
}

至此,问题解决了,proguard打包和用jar打包具体有什么不同还是不清楚。

分享到:
评论
1 楼 lawuu 2011-11-28  
proguard4.4及以上使用,增加-keepdirectories即可

相关推荐

Global site tag (gtag.js) - Google Analytics