请问关于Jocky混淆JAVA源代码的问题!

sxtbuaa 2008-01-31 03:19:11
比如我的J2EE项目中存在三个类,原名称分别为A.java、B.java、C.java,B和C中都有调用A的方法
经过jocky混淆之后分别变为_$1.class、_$2.class、_$3.class
这时整个项目是可以正常访问的,因为_$2.class和、_$3.class中调用A的部分也被混淆成_$1了

但是,如果此时需要升级程序,而且仅仅升级A.java,重新进行混淆。那么此时A的类名和其中的方法还是上次被混淆过的名称么,如果不是,那系统就出问题了。只能进行全部重新混淆。

也就是这样一个问题:一个确定名称的类、方法、属性,不管进行多少次混淆,混淆后的名称都是固定不变的还是每次的名称都是随机的?
...全文
213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuehuashijie 2008-01-31
  • 打赏
  • 举报
回复
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
现有的混淆器都是对编译好的class文件进行混淆,这样就需要编译和混淆两个
步骤。并不是所有的符号都需要混淆,如果你开发的是一个类库,或者某些类需要
动态装载,那些公共API就必须保留符号不变,这样别人才能使用你的类库。现有
的混淆器提供了GUI或脚本的方式来对那些需要保留的符号名称进行配置,如果程
序较大时配置工作变得很复杂,而程序一旦修改配置工作又要重新进行。某些混淆
器能够调整字节码的顺序,使反编译更加困难,但我经历过混淆之后的程序运行出
错的情况。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
根据笔者说的意思应该是会变化的.
xuehuashijie 2008-01-31
  • 打赏
  • 举报
回复
从理论来讲个人认为jocky的原理就是只是通过固定的算法来混肴编译的,应该不会出现不同现象,具体也没有实践过,还请LZ自己查找原因,望见谅.
sxtbuaa 2008-01-31
  • 打赏
  • 举报
回复
楼上说的类名字么,还有方法和属性名呢,这个变了的话也是不行的。
xuehuashijie 2008-01-31
  • 打赏
  • 举报
回复
名字是一成不变的他只是对类内部混肴编译

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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