有没有 Java 代码混淆工具,不是混淆 jar 包,是混淆代码!

2017 年 1 月 10 日
 paranoiagu
客户要求提供源代码,实在没办法了,能不能混淆源代码,编译不影响,运行不影响,但是就是美观方面差点。

求工具。
13653 次点击
所在节点    Java
35 条回复
Monstercat
2017 年 1 月 10 日
Proguard+JD
Valyrian
2017 年 1 月 10 日
客户看了你给混淆了再问你要不混淆的代码怎么办?
可以考虑多要点钱。。
paranoiagu
2017 年 1 月 10 日
@Valyrian 不给,关键就是不能给阿
paranoiagu
2017 年 1 月 10 日
@Monstercat 关键还能编译过吗?
rockyou12
2017 年 1 月 10 日
看来是最开始没谈好坑爹了吧(σ-`д・´)
wdlth
2017 年 1 月 10 日
如果原来没谈好,现在你混淆了对你也没好处,客户可以此为把柄来坑你,毕竟你不能说混淆后的代码是开发时的源代码……
ihuotui
2017 年 1 月 11 日
java 注定不行,从 class 规定就确定了可以反编译
slixurd
2017 年 1 月 11 日
那你就发个反编译后的代码给客户就好了= =......
wmhx
2017 年 1 月 11 日
简单点,关键点给整成一个复杂的内部类, 这样可以编译运行,但反编译出来的代码会有少量的语法错误,
hellojinjie
2017 年 1 月 11 日
自己写这一个变量替换工具啊,把变量都提换成 a b c d
mritd
2017 年 1 月 11 日
混希手段还是有的……不要说从 class 就注定了不能混希……我只是提供个思路,也是前两天反编译别人代码看到的,所有类名变量名全部替换成超长的 0O0O000OO0O000O 这种玩意……其他还有 1I1II1I 这种玩意……我成功反编译……然后就看傻了
wyntergreg
2017 年 1 月 11 日
注释全删了, JS 混淆一下就行了
depress
2017 年 1 月 11 日
①注释全删
②类名、方法名、变量名写的乱七八糟
③每个类里弄 N 多个没用的方法,在有用的方法里偶尔调用一下没用的方法,实际上调用那行什么意义都没有
④如果后续不用维护了,把方法都合并,一个方法四五千行
混淆不了还不能恶心人么~
814084764
2017 年 1 月 11 日
@mritd 我之前看别人混淆后的代码,全是 _ 这个玩意。。。长短还不一样。。妈蛋!
顺便问一下,哪里可以修改 proguard 的混淆的字母?
scnace
2017 年 1 月 11 日
我记得逼乎上有一个 怎样编写不可维护代码 的问答 楼主可以去看看啊(逃
baoguok
2017 年 1 月 11 日
给就是了,代码不值钱。

合同没约定代码版权问题,那就只能给
leloext
2017 年 1 月 11 日
@hellojinjie proguard 就可以做到这个的
Chrisplus
2017 年 1 月 11 日
手动使用 proguard shrink & obfuscate
AlisaDestiny
2017 年 1 月 11 日
@mritd 哈哈。这 TM 谁想出来的。真是高。 abc 还将就着能分清楚变量。要是 0O 这玩意。看的真是头疼。
mritd
2017 年 1 月 11 日
@AlisaDestiny 不是头疼的问题……是根本没法看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/333724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX