关于java代码混淆的请教

狼里格东 2013-11-09 06:08:59
大家都知道java容易被反编译,代码混淆只是把一些常量,变量名,方法名之类的给改掉,那么反编译之后的代码,就比较苦涩难看了,影响阅读。

对的,我就是要这种状态,但是本人不才,遇到了点问题,想请教各方大神,集思广益,看看如何解决。

我也知道做伸手党不好,所以我在提问之前,我先把我用的混淆器,怎么用给大家说一下吧。
也欢迎大家介绍其他好用的给我哈~

我用的是Retroguard
1、下载一个retroguard.jar ,假设下载之后,放在 d:\test\retroguard.jar
2、配置下环境变量,在classpath 后面加上 d:\test\retroguard.jar
3、把你做好的工程,打包成jar文件,放到到 d:\test\ 目录下
4、cmd命令,去到 d:\test\ 目录下
java RGgui
然后会出现一个界面,选中 你的项目xx.jar ,然后看说明下一步下一步的,选择一些配置
最后生成一个scrip.rgs的配置脚本
5、java RetroGuard xx.jar xx2.jar script.rgs
6、然后就可以看到d:\test\ 目录下有一个xx2.jar的文件了,用反编译工具看,里面的代码确实苦涩难看了很多

嗯,大概过程就是这样了。

现在是问题所在......

1、如果没有外部引用包,那么以上的步骤就可以胜任我想要的问题了。
2、但是,一般工程来说,会用到很多其他的包,就比如说吧,我用了mina2的包
3、但是我在导出xx.jar的工程项目包的时候,项目要求,是没有包含mina2.jar(请允许我这样缩写)的包的..
4、所以用上面的步骤的话,会出现RetroGuard error: java.lang.ClassNotFoundException: org.apache.commons.httpclient.protocol.ProtocolSocketFactory这种找不到class的引用的报错。

请问有什么办法可以解决吗?
本人不才,恳请各位xdjm热心帮助看看....
...全文
342 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
teemai 2013-11-19
  • 打赏
  • 举报
回复
你这是外部包没找到。 16部告诉你怎么设置了:16,如果在处理过程中有问题,一般会有提示,大部分一般都是缺少关联类,如果少了相关类,在第7步的图,把缺少的支持包加进来就可以了。 http://java-server.iteye.com/blog/1166114
狼里格东 2013-11-19
  • 打赏
  • 举报
回复
@2楼: 还是不行呢... 我换了proguard来进行混淆,但是还是类似的问题, 有木有童鞋,教导一下,如何使用proguard吗? 网上的额都试过了,还是出现类似的问题..
疯狂熊猫人 2013-11-09
  • 打赏
  • 举报
回复
将有关的jar全部解压到你的工程中
Zemo 2013-11-09
  • 打赏
  • 举报
回复
学习一下。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧