ProGuard 混淆器

guicaizhou 2010-11-08 06:07:39
ProGuard 混淆器 使用后jar包中怎么找不到主函数的.class文件啊
...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nomadli 2011-08-18
  • 打赏
  • 举报
回复
很明显,不是所有的类和接口都可以混淆的,既然是jar,肯定有代码调用了jar的接口,这些接口是不能混淆的。你智能混淆jar的内部类,把暴露给外部的接口keep掉。

这些jar你没有源码或你不是太了解项目,只能一个一个jar混淆,然后测试是否能运行。混淆某个jar后不能运行,就需要尝试keep那些类或接口后可以正常运行。明显是一个民工活
guicaizhou 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 michaellufhl 的回复:]
很多混淆器都会改变方法名字,这样会导致错误。至少反射的机制一定受影响,但是ProGuard具体是怎么作的,您可以看看它的文档。
[/Quote]

全是英文看不懂啊
franic1121 2010-11-11
  • 打赏
  • 举报
回复
在类上面加上
@Keep
@KeepName
@KeepClassMemberNames
@KeepClassMembers
michaellufhl 2010-11-11
  • 打赏
  • 举报
回复
很多混淆器都会改变方法名字,这样会导致错误。至少反射的机制一定受影响,但是ProGuard具体是怎么作的,您可以看看它的文档。
guicaizhou 2010-11-11
  • 打赏
  • 举报
回复
我需要处理的jar包很多。
boss给我安装的压缩包,我安装完后放在c:\program files下,装完后产生了很多jar包,boss让我对这些jar包做混淆处理。
用的混淆工具是proguard4.4.混淆后boss让我把原来的jar包全都用混淆后的jar包替换,看能不能正常运行。但是替换后,双击运行图标,任务管理器显示有这个任务,可是却看不到运行界面?
非常着急!!
guicaizhou 2010-11-09
  • 打赏
  • 举报
回复
为什么只有含有public static void main(String args[])的class文件混淆后不变,其他的class文件都发生的变化呢
非常紧急啊
guicaizhou 2010-11-09
  • 打赏
  • 举报
回复
怎么就没有人回答呢,csdn的强人都哪儿去了

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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