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

2017-01-10 23:10:19 +08:00
 paranoiagu
客户要求提供源代码,实在没办法了,能不能混淆源代码,编译不影响,运行不影响,但是就是美观方面差点。

求工具。
12788 次点击
所在节点    Java
35 条回复
mritd
2017-01-11 11:44:44 +08:00
@814084764 是不是 tcpxxxx 😂😂😂
yidinghe
2017-01-11 11:52:22 +08:00
用重构,类名手工改成 A,B,C,D,E ,包名也这样改,方法名、参数名、变量名也是。
Adia
2017-01-11 12:58:30 +08:00
Proguard 啊
Bairrfhoinn
2017-01-11 13:40:11 +08:00
@mritd @depress 厉害,真是好方法。:doge:
liuzhen
2017-01-11 13:46:34 +08:00
liuzhen
2017-01-11 13:47:15 +08:00
@liuzhen 未亲测,楼主试过后可以写下测试结果
nicevar
2017-01-11 14:12:19 +08:00
谈判问题啊,用技术来解决怎么行
zgqq
2017-01-11 14:26:19 +08:00
@ihuotui 反编译有个毛用?全部都 a,b,c,d 你看得懂?
chilaoqi
2017-01-11 14:28:04 +08:00
本来自己写的就自带混淆。。。。
yutian2211
2017-01-11 16:30:06 +08:00
hmmm....关注一下
正常给客户之后,你就不要想拿到尾款了
814084764
2017-01-11 17:19:38 +08:00
@mritd 不是。。哈哈
paranoiagu
2017-01-11 21:24:39 +08:00
谢谢各位。
imnpc
2017-01-12 13:24:15 +08:00
一般建议 O0 或者 ILil 各种混淆即可
bk201
2017-01-12 16:17:15 +08:00
反编译后的代码一般都很恶心,然后对变量做个批量替换就可以了。
virbox
2018-11-19 18:16:47 +08:00
VirboxProtector Standalone 加壳工具可对代码加密的技术有:代码混淆、代码虚拟化、代码加密。

代码混淆:利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。

虚拟化:将指令编译为虚拟代码,放在指定虚拟机中运行,目前对指令有一定的格式要求,有的函数可能不能被保护。

代码加密:将代码块作为数据,用许可加密函数存储,程序执行到该函数时验证许可并解密,内存中不会暴露完整的代码块,目前有的函数不可添加到保护中。


Virbox Protector Standalone 将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟程序执行,进入和离开虚拟机都有高级代码混淆。虚拟机配合代码混淆可以达到很好的保护效果,尤其是开发者的私有逻辑。高级混淆利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。应用程序的解压缩含有动态密码,让一切自动脱壳工具失效,有效的阻止.Net 、PE 程序的直接反编译。

使用 Virbox Protector Standalone 时,选择被保护的函数列表,添加需要保护的函数,可以使用性能分析功能,对程序进行分析,并选择重要的函数来保护。

性能分析:点击性能分析按钮,运行需要保护的程序,执行正常的业务操作,程序中各个函数模块调用的次数实时显示在列表中。如果当前分析的程序位为 DLL 程序,则需要选择启动主程序,主程序启动的工作目录为主程序所在目录。目前仅支持 Windows 的 exe 程序或 DLL 库。

可保护的函数列表:展示了需要保护程序的所有的函数模块,托管代码程序和非托管代码程序有细微的差别。

试用地址:shell.virbox.com

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

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

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

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

© 2021 V2EX